/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* RESPONSIVE BREAKS
@media (min-width: 460px) {
}
@media (min-width: 768px) {
}
@media (min-width: 992px) {
}
@media (min-width: 1024px) {
}
@media (min-width: 1200px) {
}
@media (min-width: 1480px) {
}
*/
/* PANEL RATIO */
.aspect-ratio-1-1-all {
aspect-ratio: 1 / 1;
display: grid;
}
.aspect-ratio-3-2-all {
aspect-ratio: 3 / 2;
}
.aspect-ratio-4-3-all {
aspect-ratio: 4 / 3;
}
.aspect-ratio-3-4-all {
aspect-ratio: 3 / 4;
}
.aspect-ratio-16-9-all {
aspect-ratio: 16 / 9;
}
@media (min-width: 768px) {
.aspect-ratio-1-1 {
aspect-ratio: 1 / 1;
}
.aspect-ratio-3-2 {
aspect-ratio: 3 / 2;
}
.aspect-ratio-4-3 {
aspect-ratio: 4 / 3;
}
.aspect-ratio-3-4 {
aspect-ratio: 3 / 4;
}
.aspect-ratio-16-9 {
aspect-ratio: 16 / 9;
}
}
/* TYPOGRAPHY STYLES - !!!IMPORTANT!!! CHANGE  ELEMENTOR KIT NUMBER */
.elementor-kit-25 .as-xlh1 h1, .elementor-kit-25 .as-xlh1 h2, .elementor-kit-25 .as-xlh1 h3, .elementor-kit-25 .as-xlh1 h4, .elementor-kit-25 .as-xlh1 h5, .elementor-kit-25 .as-xlh1 h6 {
font-size: 32px
}
.elementor-kit-25 .as-h1 h2, .elementor-kit-25 .as-h1 h3, .elementor-kit-25 .as-h1 h4, .elementor-kit-25 .as-h1 h5, .elementor-kit-25 .as-h1 h6 {
font-size: 26px
}
.elementor-kit-25 .as-h2 h1, .elementor-kit-25 .as-h2 h3, .elementor-kit-25 .as-h2 h4, .elementor-kit-25 .as-h2 h5, .elementor-kit-25 .as-h2 h6 {
font-size: 24px
}
.elementor-kit-25 .as-h3 h1, .elementor-kit-25 .as-h3 h2, .elementor-kit-25 .as-h3 h4, .elementor-kit-25 .as-h3 h5, .elementor-kit-25 .as-h3 h6 {
font-size: 20px
}
.elementor-kit-25 .as-h4 h1, .elementor-kit-25 .as-h4 h2, .elementor-kit-25 .as-h4 h3, .elementor-kit-25 .as-h4 h5, .elementor-kit-25 .as-h4 h6 {
font-size: 18px
}
.elementor-kit-25 .as-h5 h1, .elementor-kit-25 .as-h5 h2, .elementor-kit-25 .as-h5 h3, .elementor-kit-25 .as-h5 h4, .elementor-kit-25 .as-h5 h6 {
font-size: 16px
}
.elementor-kit-25 .as-h6 h1, .elementor-kit-25 .as-h6 h2, .elementor-kit-25 .as-h6 h3, .elementor-kit-25 .as-h6 h4, .elementor-kit-25 .as-h6 h5 {
font-size: 14px
}
@media (min-width: 768px) {
.elementor-kit-25 .as-xlh1 h1, .elementor-kit-25 .as-xlh1 h2, .elementor-kit-25 .as-xlh1 h3, .elementor-kit-25 .as-xlh1 h4, .elementor-kit-25 .as-xlh1 h5, .elementor-kit-25 .as-xlh1 h6 {
font-size: 44px
}
.elementor-kit-25 .as-h1 h2, .elementor-kit-25 .as-h1 h3, .elementor-kit-25 .as-h1 h4, .elementor-kit-25 .as-h1 h5, .elementor-kit-25 .as-h1 h6 {
font-size: 32px
}
.elementor-kit-25 .as-h2 h1, .elementor-kit-25 .as-h2 h3, .elementor-kit-25 .as-h2 h4, .elementor-kit-25 .as-h2 h5, .elementor-kit-25 .as-h2 h6 {
font-size: 28px
}
.elementor-kit-25 .as-h3 h1, .elementor-kit-25 .as-h3 h2, .elementor-kit-25 .as-h3 h4, .elementor-kit-25 .as-h3 h5, .elementor-kit-25 .as-h3 h6 {
font-size: 24px
}
.elementor-kit-25 .as-h4 h1, .elementor-kit-25 .as-h4 h2, .elementor-kit-25 .as-h4 h3, .elementor-kit-25 .as-h4 h5, .elementor-kit-25 .as-h4 h6 {
font-size: 20px
}
.elementor-kit-25 .as-h5 h1, .elementor-kit-25 .as-h5 h2, .elementor-kit-25 .as-h5 h3, .elementor-kit-25 .as-h5 h4, .elementor-kit-25 .as-h5 h6 {
font-size: 16px
}
.elementor-kit-25 .as-h6 h1, .elementor-kit-25 .as-h6 h2, .elementor-kit-25 .as-h6 h3, .elementor-kit-25 .as-h6 h4, .elementor-kit-25 .as-h6 h5 {
font-size: 15px
}
}
@media (min-width: 1024px) {
.elementor-kit-25 .as-xlh1 h1, .elementor-kit-25 .as-xlh1 h2, .elementor-kit-25 .as-xlh1 h3, .elementor-kit-25 .as-xlh1 h4, .elementor-kit-25 .as-xlh1 h5, .elementor-kit-25 .as-xlh1 h6 {
font-size: 52px
}
.elementor-kit-25 .as-h1 h2, .elementor-kit-25 .as-h1 h3, .elementor-kit-25 .as-h1 h4, .elementor-kit-25 .as-h1 h5, .elementor-kit-25 .as-h1 h6 {
font-size: 40px
}
.elementor-kit-25 .as-h2 h1, .elementor-kit-25 .as-h2 h3, .elementor-kit-25 .as-h2 h4, .elementor-kit-25 .as-h2 h5, .elementor-kit-25 .as-h2 h6 {
font-size: 32px
}
.elementor-kit-25 .as-h3 h1, .elementor-kit-25 .as-h3 h2, .elementor-kit-25 .as-h3 h4, .elementor-kit-25 .as-h3 h5, .elementor-kit-25 .as-h3 h6 {
font-size: 28px
}
.elementor-kit-25 .as-h4 h1, .elementor-kit-25 .as-h4 h2, .elementor-kit-25 .as-h4 h3, .elementor-kit-25 .as-h4 h5, .elementor-kit-25 .as-h4 h6 {
font-size: 24px
}
.elementor-kit-25 .as-h5 h1, .elementor-kit-25 .as-h5 h2, .elementor-kit-25 .as-h5 h3, .elementor-kit-25 .as-h5 h4, .elementor-kit-25 .as-h5 h6 {
font-size: 20px
}
.elementor-kit-25 .as-h6 h1, .elementor-kit-25 .as-h6 h2, .elementor-kit-25 .as-h6 h3, .elementor-kit-25 .as-h6 h4, .elementor-kit-25 .as-h6 h5 {
font-size: 16px
}
}
@media (min-width: 1480px) {
.elementor-kit-25 .as-xlh1 h1, .elementor-kit-25 .as-xlh1 h2, .elementor-kit-25 .as-xlh1 h3, .elementor-kit-25 .as-xlh1 h4, .elementor-kit-25 .as-xlh1 h5, .elementor-kit-25 .as-xlh1 h6 {
font-size: 62px
}
}
/STICKY HEADER - ADD CLASSES TO ELEMENTS - EXAMPLE AVOIR INTERIORS & AVOIR INTERIOR DESIGN FOR NO TOP BAR (MINUS MARGIN HEADER)/
/* Wrapper element height /
.sticky-header-wrapper {
background-color: rgba(255,255,255,0);
transition: background-color 0.25s linear, height 0.25s linear;
height: 79px;
}
.sticky-header-wrapper.elementor-sticky--active {
/ transition the background-color over 1s with a linear animation /
height: 50px;
background-color: rgba(255,255,255,1)
}
/ Shrink logo */
.elementor-sticky--active .header-logo img {
width: 60px !important;
margin-top: 46px;
}
/*MAIN MENU */
#main-menu-full .sub-menu {
min-width: 100% !important;
}
/* NAVIGATION DROPDOWN ARROW */
body .elementor-nav-menu .sub-arrow {
padding-left: 5px;
}
/* MOBILE SLIDER MENU. EXAMPLE: STAFFORD JOINERY*/
/* edit the hamburger and close icon colours here /
.lytbox-button {
--hamburger-color: #000;
--close-x-color: #000;
display: block;
height: 18px;
cursor: pointer;
position: relative;
z-index: 101;
}
/ change number to elementor template ID number to make the menu full width /
.elementor-49 {
width: 100%;
}
/ end editing /
.lytbox-navigation {
position: fixed;
top: 0;
left: 0;
transform: translateX(100%);
overflow: hidden;
transition: transform 0.2s;
width: 100%;
height: 100vh;
z-index: 100;
}
.lytbox-navigation {
display: flex;
justify-content: center;
align-items: center;
}
/ toggle hamburger*/
.lytbox-button .hamburguer {
position: relative;
}
.lytbox-button .hamburguer span{
display: block;
height: 2px;
width: 24px;
background: var(--hamburger-color);
transform-origin: 50% 50%;
transition: all 0.1s 0.2s ease, transform 0.2s ease;
}
.lytbox-button .hamburguer span:nth-child(2) {
transform: translate(0, 6px);
}
.lytbox-button .hamburguer span:nth-child(3) {
transform: translate(0, 12px);		
}
.lytbox-nav_control {
position: absolute;
left: -9999px;
width: 100%;
clip: rect(0, 0, 0, 0);
}
.lytbox-nav_control:checked~.lytbox-navigation {
transform: translateX(0);
opacity: 1;
transition: transform 0.3s, opacity 0.3s;
}
.lytbox-nav_control:checked~.lytbox-button .hamburguer {
transition: all 0.1s 0s ease;
}
/* closed X */
.lytbox-nav_control:checked~.lytbox-button .hamburguer span {
background: var(--close-x-color);
transition: all 0.1s ease, transform 0.1s 0.2s ease;
}
.lytbox-nav_control:checked~.lytbox-button .hamburguer span:first-child {
opacity: 0;
}
.lytbox-nav_control:checked~.lytbox-button  .hamburguer span:nth-child(2) {
transform: translate(0, 6px) rotate(45deg);
}
.lytbox-nav_control:checked~.lytbox-button .hamburguer span:nth-child(3) {
transform: translate(0, 4px) rotate(-45deg);
}
/* GENERAL STYLES*/
main ul, .ap-news-single-container ul {
padding-inline-start: 18px;
margin-bottom: 0.9rem;
}
main ol, .ap-news-single-container ol {
padding-inline-start: 24px;	
margin-bottom: 0.9rem;
}
.centre-list-mobile ul {
padding-inline-start: 0;
list-style-position: inside;
}
@media (min-width: 768px) {
.centre-list-mobile ul {
padding-inline-start: 18px;
list-style-position: outside;
}
}
.full-height-header {
min-height: calc(100vh - 200px);
min-height: calc(100svh - 200px)	
}
.full-height {
min-height: calc(100vh);
min-height: calc(100svh)	
}
body table tbody>tr:nth-child(odd)>td, body table tbody>tr:nth-child(odd)>th {
background-color: transparent;
}
body table tbody tr:hover>td, body table tbody tr:hover>th {
background-color: transparent;
}
/* CookieYes Privacy Policy Numbered lists like 1, 1.1, 2.2.1... /
.privacy-policy-ol ol {
padding-inline-start: 34px;
}
.privacy-policy-ol li {
display:block;
}
/ hide original list counter /
.privacy-policy-ol > li:first-child {
counter-reset: item;
}
/ reset counter /
.privacy-policy-ol > li {
counter-increment: item; position: relative;
}
/ increment counter /
.privacy-policy-ol > li:before {
content:counters(item, ".") ". "; position: absolute; margin-right: 100%; right: 10px;
} / print counter */
/* HIDE/SHOW ELEMENTS */
.hide-span-mobile {
display: none;
}
.hide-span-tablet {
display: none;
}
@media (min-width: 768px) {
.hide-span-mobile {
display: inline;
}
}
@media (min-width: 1024px) {
.hide-span-tablet {
display: inline;
}
}

/* BLOG-NEWS */
.blog-content-wrapper h2 {
	font-size: 1.25em;
}
.blog-content-wrapper h3 {
	font-size: 1.125em;
}
.blog-content-wrapper h4 {
	font-size: 1em;
}
/* ADDRESS */
.br-hide-mobile {
display: none;
}
.br-show-mobile {
display: block;
}
@media (min-width: 768px) {
.br-hide-mobile {
display: block;
}
.br-show-mobile {
display: none;
}		
}
/* CENTRE FORM */
.form-centred-content .elementor-field-type-acceptance {
justify-content: center;
}
.form-centred-content .elementor-field-type-html {
text-align: center
}
.form-centred-content .e-form__buttons {
margin: 0 auto;
}
/* SAME HEIGHT LOOP ITEM */
.same-height-container .e-loop-item {
display: flex;
}
.same-height-container .e-loop-item .same-height-loop {
flex: 1;
}
/* ELEMENTOR SCROLL BAR */
body:not(.elementor-editor-active) .overflow-scroll {
max-height: 136px;
overflow-x: hidden;
overflow-y: scroll;
}
.overflow-scroll::-webkit-scrollbar {
width: 4px;
border-radius: 1px;
}
.overflow-scroll::-webkit-scrollbar-track{
background: rgba(144, 144, 144, 0.4);
border-radius: 1px;
}
.overflow-scroll::-webkit-scrollbar-thumb {
background: rgba(144, 144, 144, 0.8);
border-radius: 1px;
}
/* WORDPRESS BLOGS */
body .blog-single-wrapper h2 {
font-size: 22px !important;
}
body .blog-single-wrapper h3 {
font-size: 19px;
}
body .blog-single-wrapper h4 {
font-size: 18px;
}
body .blog-single-wrapper h5 {
font-size: 17px;
}
body .blog-single-wrapper h6 {
font-size: 16px;
}
body .blog-single-wrapper ul {
margin-block-end: 1rem;
}
/* WORDPRESS GALLERY */
.gallery figure {
margin-block-start: 0;
margin-block-end: 0;
margin-inline-start: 0;
margin-inline-end: 0;
display: inline-block;
padding: 0 10px 10px 0;
width: 50%;
}
@media (min-width: 768px) {
.gallery.gallery-columns-1 figure {
width: 100%;
}
.gallery.gallery-columns-2 figure {
width: 50%;
}
.gallery.gallery-columns-3 figure {
width: 33.333333%;
}
.gallery.gallery-columns-4 figure {
width: 25%;
}
.gallery.gallery-columns-5 figure {
width: 20%;
}
.gallery.gallery-columns-6 figure {
width: 16.666666%;
}
.gallery.gallery-columns-7 figure {
width: 14.285714%;
}
.gallery.gallery-columns-8 figure {
width: 12.5%;
}
.gallery.gallery-columns-9 figure {
width: 11.111111%;
}
}
/* ELEMENTOR SCROLL BAR */
body:not(.elementor-editor-active) .overflow-scroll {
max-height: 136px;
overflow-x: hidden;
overflow-y: scroll;
}
.overflow-scroll::-webkit-scrollbar {
width: 4px;
border-radius: 1px;
}
.overflow-scroll::-webkit-scrollbar-track{
background: rgba(144, 144, 144, 0.4);
border-radius: 1px;
}
.overflow-scroll::-webkit-scrollbar-thumb {
background: rgba(144, 144, 144, 0.8);
border-radius: 1px;
}
/* POPUP BLUE LINK BORDER  & INITIAL LINK COLOUR*/
/* CHANGE ID */
#menu-1-6d90ded :focus,
#menu-1-20b23b6 :focus {
color: #fff;
outline: 0 !important;
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
#menu-1-6d90ded :hover:focus,
#menu-1-20b23b6 :hover:focus {
color: #8CC640;
}
.gallery figcaption {
display: none;
}
/* reCAPTACHA */
.grecaptcha-badge {
visibility: hidden;
}
/* HEADER */
.transparent-header.elementor-sticky--active {
	background-color: rgba(0, 0, 0, 0.8) !important;
}
.transparent-header-news.elementor-sticky--active {
	background-color: rgba(171, 184, 194, 0.94) !important;
}
.mobile-header-button .elementor-button {
  font-size: 12px;
  border-width: 1px 1px 1px 1px;
  padding: 6px 12px 6px 12px;
}
@media (min-width: 768px) {
  .mobile-header-button .elementor-button {
    font-size: 14px;
    border-width: 1px 1px 1px 1px;
    padding: 10px 20px 10px 20px;
  }
}
/* ASPECT RATIO MOBILE DISPLAY FIX */
@media (max-width: 767px) {
    .aspect-ratio-fix-wrapper.e-con.e-flex {
		flex-wrap: nowrap;
    }
}

/* 10px PADDING LEFT & RIGHT */
.padding-lr > .e-con-inner {
	padding-left: 10px;
	padding-right: 10px;
}

/* ADJUST MENU NAV WHEN STICKY */
.elementor-sticky--active {
  transform: translateY(-24px)
}

/* HIDE TEXT OM MOBILE & TABLET */
@media (max-width: 767px) {
  .hide-text-mobile {
    display: none;
  } 
}

/* HIDE TEXT OM MOBILE & TABLET */
@media (max-width: 1023px) {
  .hide-text-tablet {
    display: none;
  } 
}

/* Lay the wrapper out as a row so the two pseudo-element icons sit either side of the text */
.btn-sparkle .elementor-button-content-wrapper {
  display: flex;
  align-items: center;      /* vertically centre icons with the text */
  justify-content: center;
  gap: 0.5em;               /* space between icons and text — adjust to taste */
}

/* The graphic itself, drawn before and after the text */
.btn-sparkle .elementor-button-content-wrapper::before,
.btn-sparkle .elementor-button-content-wrapper::after {
  content: "";
  width: 1em;               /* 1em = scales with the button's font size */
  height: 1em;
  flex-shrink: 0;           /* stop the icon squashing if space is tight */
  background-color: currentColor;  /* icon inherits the button text colour, incl. hover colour */
  /* SVG used as a mask, so only its shape shows in the colour above */
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 67.24 67.24'%3E%3Cpath d='M37.5,6.02l-3.88-6.02-3.88,6.02c-7.12,11.06-12.67,16.6-23.72,23.72l-6.02,3.88,6.02,3.88c11.06,7.12,16.6,12.67,23.72,23.72l3.88,6.02,3.88-6.02c7.12-11.05,12.66-16.6,23.72-23.72l6.02-3.88-6.02-3.88c-11.06-7.12-16.6-12.67-23.72-23.72ZM33.62,50.52c-5.03-6.94-9.97-11.87-16.9-16.9,6.94-5.03,11.88-9.97,16.9-16.9,5.03,6.94,9.97,11.87,16.9,16.9-6.94,5.03-11.88,9.97-16.9,16.9Z'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 67.24 67.24'%3E%3Cpath d='M37.5,6.02l-3.88-6.02-3.88,6.02c-7.12,11.06-12.67,16.6-23.72,23.72l-6.02,3.88,6.02,3.88c11.06,7.12,16.6,12.67,23.72,23.72l3.88,6.02,3.88-6.02c7.12-11.05,12.66-16.6,23.72-23.72l6.02-3.88-6.02-3.88c-11.06-7.12-16.6-12.67-23.72-23.72ZM33.62,50.52c-5.03-6.94-9.97-11.87-16.9-16.9,6.94-5.03,11.88-9.97,16.9-16.9,5.03,6.94,9.97,11.87,16.9,16.9-6.94,5.03-11.88,9.97-16.9,16.9Z'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* FOO EVENTS */
.attendee-wrapper h1, .attendee-wrapper h2, .attendee-wrapper h3, .attendee-wrapper h4, .attendee-wrapper h5, .attendee-wrapper h6, .attendee-wrapper p {
  color: #000;
}
.attendee-wrapper .button.alt.wp-element-button {
  background-color: #ed2e2d;
  color: #000;
  border: 2px solid #000;
  border-radius: 200px;
  font-size: 15px;
  padding: 15px 30px;
}
.attendee-wrapper .button.alt.wp-element-button:hover {
  background-color: #cda935;
  color: #000;
}

/* ==========================================================================
   BOOKING WIZARD — site styling
   ========================================================================== */

.booking-wizard-wrapper .lbw-wizard {
    --lbw-bar-bg: #cda935;
    --lbw-accent: #cda935;
    --lbw-line: #000;
    --lbw-error: #a4282d;
    --lbw-product-bg: #fff;
    --lbw-list-bg: #fff;
    --lbw-radius: 10px;
    --lbw-overlay: rgba(0, 0, 0, .8);
    width: 3000px;
    max-width: 100%;
    color: #000;
    margin: 0 auto;
}
.booking-wizard-wrapper .lbw-panel {
    border: none;
    border-radius: 0;
    padding: 0;
}
@media (min-width: 768px) {
  .booking-wizard-wrapper .lbw-panel {
      border: 2px solid #000;
      border-radius: 20px;
      padding: 1.25em;
  }
}
.booking-wizard-wrapper .lbw-choice.is-active {
    border-color: #000000;
    box-shadow: inset 0 0 0 1px var(--lbw-accent);
    background-color: var(--lbw-accent)
}
.booking-wizard-wrapper .lbw-choice {
  min-width: 100%;
}
.booking-wizard-wrapper .lbw-mbar-back {
  border-radius: 200px 0 0 200px;
}
.booking-wizard-wrapper .lbw-mbar-next,
.booking-wizard-wrapper .lbw-mbar-commit--review {
  border-radius: 0 200px 200px 0;
}
.booking-wizard-wrapper .lbw-mbar-next.is-solo,
.booking-wizard-wrapper .lbw-mbar-back.is-solo {
  border-radius: 200px
}
@media (min-width: 768px) {
  .lbw-choice {
    min-width: 48%;
  }
  .lbw-branch-weekend .lbw-dates .lbw-choice {
    min-width: 100%;
  }
}
.booking-wizard-wrapper .lbw-product {
  background-color: var(--lbw-product-bg);
  margin-bottom: 1em;
  border: solid 2px #000;
  border-radius: 10px;
  padding: 1em;
}
.booking-wizard-wrapper .lbw-product:last-child {
  margin-bottom: 0;
}
.booking-wizard-wrapper h1, .booking-wizard-wrapper h2, .booking-wizard-wrapper h3, .booking-wizard-wrapper h4, .booking-wizard-wrapper h5, .booking-wizard-wrapper h6 {
  color: #000;
  text-transform: uppercase;
}
.booking-wizard-wrapper .lbw-required {
  color: #f00;
}
.lbw-notice {
  background-color: #fff;
  margin: 15px 0;
  border-left-color: #f00
}
.elementor .lbw-product-image {
  border-radius: 10px;
}
.booking-wizard-wrapper .lbw-step-btn {
  padding: 5px 10px 10px 10px;
  background-color: transparent;
}
.booking-wizard-wrapper .lbw-clear {
  padding: 3px 12px;
  text-decoration: none;
  font-size: 0.7em;
}
.booking-wizard-wrapper .lbw-tab {
  background-color: transparent;
}
.booking-wizard-wrapper .lbw-tab.is-current {
  background-color: #cda935;
  border-color: #000;
}
.lbw-progress {
  text-transform: uppercase;
  margin-left: 10px;
}
.booking-wizard-wrapper .lbw-required {
  text-transform: uppercase;
  font-style: normal;
}
.booking-wizard-wrapper .lbw-dd-row {
  max-width: 400px;
}
.booking-wizard-wrapper .lbw-dd-row select {
    flex: 1 1 auto;
    min-width: 0;
    font: inherit;
    color: inherit;
    padding: .5em .7em;
    border: 2px solid var(--lbw-line);
    border-radius: var(--lbw-radius);
    background: transparent;
}
.booking-wizard-wrapper .lbw-tray-bar {
  border-radius: var(--lbw-radius);
  background: transparent;
}
.booking-wizard-wrapper .lbw-tray-toggle {
  text-decoration: none;
}
.booking-wizard-wrapper .lbw-step-content {
  margin-bottom: 20px
}
.booking-wizard-wrapper .lbw-row {
  border-top: dotted 1px #000;
}
.booking-wizard-wrapper .lbw-visit-types,
.booking-wizard-wrapper .lbw-dates {
  justify-content: space-between;
}
.booking-wizard-wrapper .lbw-host-close {
  display: none;
}
.booking-wizard-inner-container {
  min-height: calc(100vh - 20px);
  min-height: calc(100svh - 20px);
}
.booking-wizard-wrapper .lbw-mbar-close {
    padding: 0 0 14px 0;
    width: 40px;
    height: 40px;
    line-height: 0;
    font-size: 4em;
    background: #d6ccbd;
}
@media (min-width: 768px) {
  .booking-wizard-wrapper .lbw-mbar-close {
      padding: 0 0 16px 0;
      width: 55px;
      height: 55px;
      font-size: 4em;
    } 
}
.booking-wizard-wrapper .lbw-fade {
    animation: lbw-fade 0.3s ease-out;
}
.booking-wizard-wrapper .lbw-tray-bar.lbw-mlist-bar:hover,
.booking-wizard-wrapper .lbw-tray-bar.lbw-mlist-bar:focus {
  background-color: transparent;
}
.booking-wizard-wrapper .lbw-mlist {
  max-width: 760px
}
.booking-wizard-wrapper .lbw-tab {
      font-size: 12px;
      border-width: 1px 1px 1px 1px;
      padding: 6px 12px 6px 12px;
}
@media (min-width: 768px) {
    .booking-wizard-wrapper .lbw-tab {
        font-size: 13px;
        border-width: 2px 2px 2px 2px;
        padding: 8px 16px 8px 16px;
    }
}
@media (min-width: 1024px) {
   .booking-wizard-wrapper .lbw-tab {
        font-size: 14px;
        padding: 10px 20px 10px 20px;
    }
}
@media (min-width: 1200px) {
    .booking-wizard-wrapper .lbw-tab {
        padding: 12px 24px 12px 24px;
    }
}
@media (min-width: 1480px) {
    .booking-wizard-wrapper .lbw-tab {
        padding: 15px 30px 15px 30px;
    }
}


/* ==========================================================================
   BOOKING WIZARD — site styling (brand), for plugin 2.3.0+
   Everything else (sizing, capsule, spacing, touch behaviour) is built into the plugin.
   ========================================================================== */

/* ---- Pass and date choices (first page): three states ---- */
/* Not selected: outlined — Next stays the only red button */
.booking-wizard-wrapper .lbw-choice,
.booking-wizard-wrapper .lbw-choice:focus {
    background: transparent;
    color: #000;
    border: 2px solid #000;
}
/* Hover tint only on devices with a mouse (the plugin handles touch screens) */
@media (hover: hover) {
    .booking-wizard-wrapper .lbw-choice:hover {
        background: rgba(205, 169, 53, .25);
        border-color: #000;
        color: #000;
    }
}
/* Selected: solid site gold — the same "chosen" colour as the current tab */
.booking-wizard-wrapper .lbw-choice.is-active,
.booking-wizard-wrapper .lbw-choice.is-active:hover {
    background: var(--lbw-accent);
    border-color: #000;
    color: #000;
}

/* ---- Tabs ---- */
.booking-wizard-wrapper .lbw-tab.is-current {
    background-color: #fff;
}

/* ---- Review & edit ---- */
/* One border on the outer box (the plugin keeps the bar button inside borderless) */
.booking-wizard-wrapper .lbw-mlist {
    border: 2px solid #000;
}
/* The open list continues the same border; offsets match the border width so edges line up */
.booking-wizard-wrapper .lbw-mlist-body {
    border: 2px solid #000;
    border-top: 0;
    left: -2px;
    right: -2px;
}
/* Section headers (in the list and on the review page): a heading with a rule, same box in every state */
.booking-wizard-wrapper .lbw-mlist-head,
.booking-wizard-wrapper .lbw-mlist-head:hover,
.booking-wizard-wrapper .lbw-mlist-head:focus,
.booking-wizard-wrapper .lbw-mlist-head.is-current {
    background: transparent;
    border: 2px solid transparent;
    border-bottom-color: #000;
    border-radius: 0;
    box-shadow: none;
    padding: .5em 0;
    color: inherit;
}
/* Hover feedback without changing size: the Add / Edit link turns red */
.booking-wizard-wrapper .lbw-mlist-head:hover .lbw-mlist-action { color: #c8302c; }

/* ---- Remove link: small red text, same box in every state ---- */
.booking-wizard-wrapper .lbw-clear,
.booking-wizard-wrapper .lbw-clear:hover,
.booking-wizard-wrapper .lbw-clear:focus {
    background: transparent;
    border: 2px solid transparent;
    box-shadow: none;
    padding: 0;
    color: #c8302c;
    text-decoration: underline;
}

/* ---- Product cards AND review-page section cards share the same white bordered panel ---- */
.booking-wizard-wrapper .lbw-product,
.booking-wizard-wrapper .lbw-review-section {
    background-color: var(--lbw-product-bg);
    margin-bottom: 1em;
    border: solid 2px #000;
    border-radius: 10px;
    padding: 1em;
}

/* ---- "Selection required" badge beside the section title ---- */
.booking-wizard-wrapper .lbw-step-head .lbw-required {
    text-align: center;
    padding: 3px 9px;
    border-radius: 5px;
    border: 1px solid #a4282d;
}

/* ---- "Already booked?" heading: site heading font, sized up with the screen ---- */
.booking-wizard-wrapper .lbw-extras-heading {
    font-size: 1.5rem;
    text-transform: uppercase;
    font-family: "FKT Echo Condensed Regular", Sans-serif;
}
@media (min-width: 1024px) {
    .booking-wizard-wrapper .lbw-extras-heading { font-size: 1.75rem; }
}
@media (min-width: 1200px) {
    .booking-wizard-wrapper .lbw-extras-heading { font-size: 2rem; }
}

/* ---- Older iPad Safari: clip the wizard to the window's rounded corners (tablet and desktop) ---- */
@media (min-width: 768px) {
    .booking-wizard-wrapper .lbw-wizard {
        border-radius: 20px;   /* match the off-canvas window's corner radius */
        overflow: hidden;
        isolation: isolate;
        -webkit-mask-image: -webkit-radial-gradient(white, black);
    }
}

/* ---- Pop-ups (attached outside the wrapper, so targeted as .lbw-modal) ---- */
.lbw-modal .lbw-modal-box {
    border: 2px solid #000;
    border-radius: 20px;
}
/* Secondary button outlined; the main button keeps the site's red button style */
.lbw-modal .lbw-modal-cancel,
.lbw-modal .lbw-modal-cancel:hover,
.lbw-modal .lbw-modal-cancel:focus {
    background: transparent;
    color: #000;
    border: 2px solid #000;
}

/* ==========================================================================
 TEMP BOOKING WIZARD OVERRIDES. REMOVE AFTER RELEVANT BUILD HAS BEEN UPLOADED
 ========================================================================== */






/* WOOCOMMERCE */
.woocommerce-notices-wrapper {
  padding: 0 10px;
}
.woocommerce-message {  
  border-radius: 20px;
}

/* ========= Hover-card: heading colour change when the whole box (link wrapper) is hovered ========= /
/ 1) Add class "hover-card" to the container/column/section in Elementor (Advanced → CSS Classes) /
elementor-element.hover-card .elementor-heading-title,
.elementor-element.hover-card h1,
.elementor-element.hover-card h2,
.elementor-element.hover-card h3 {
transition: color .2s ease;
}
/ Hover with mouse, keyboard focus, and touch "active" /
.elementor-element.hover-card:hover .elementor-heading-title,
.elementor-element.hover-card:focus-within .elementor-heading-title,
.elementor-element.hover-card:active .elementor-heading-title,
.elementor-element.hover-card:hover h1,
.elementor-element.hover-card:hover h2,
.elementor-element.hover-card:hover h3,
.elementor-element.hover-card:focus-within h1,
.elementor-element.hover-card:focus-within h2,
.elementor-element.hover-card:focus-within h3,
.elementor-element.hover-card:active h1,
.elementor-element.hover-card:active h2,
.elementor-element.hover-card:active h3 {
color: #ffffff; / ← set your hover colour
} */
/* If your heading text itself is a link, inherit the colour when the box is hovered/focused /
.elementor-element.hover-card .elementor-heading-title a {
color: inherit;            / normal state follows heading colour /
text-decoration: none;     / optional /
}
.elementor-element.hover-card:hover .elementor-heading-title a,
.elementor-element.hover-card:focus-within .elementor-heading-title a,
.elementor-element.hover-card:active .elementor-heading-title a {
color: inherit;            / ensures hover colour applies
} */
/* ========= Optional: if you're greying the box via Background Overlay on hover ========= /
/ Keep the overlay transition smooth and independent of text colour /
.elementor-element.hover-card .elementor-background-overlay {
transition: opacity .2s ease;
}
/ Example grey-on-hover (tweak to taste or remove if you already set this in the editor) /
.elementor-element.hover-card:hover .elementor-background-overlay,
.elementor-element.hover-card:focus-within .elementor-background-overlay {
opacity: .5;
}
/ ========= Notes =========
- Works whether the container itself is an (link wrapper) or it has a full-size overlay inside it. :hover on the parent still triggers when hovering any descendant, including the overlay link.
- Add the "hover-card" class to each box you want this behaviour on.
- Change #ffffff to your brand hover colour.
- If your theme is very specific with colours, keep the .elementor-element.hover-card prefix for stronger specificity. /
  / ========= Hover-card faux button: heading colour change when the whole box (link wrapper) is hovered ========= /
  / 1) Add class "faux-button" to a h4 styled as a fake button with padding and a background colour title in Elementor (Advanced → CSS Classes) /
  .elementor-element.hover-card-button .elementor-heading-title,
  .elementor-element.hover-card-button h4 {
  transition: color .2s ease;
  }
  / Hover with mouse, keyboard focus, and touch "active" /
  .elementor-element.hover-card-button:hover h4,
  .elementor-element.hover-card-button:focus-within h4,
  .elementor-element.hover-card-button:active h4 {
  color: #ffffff; / ← set your hover colour
  } /
  .elementor-element.hover-card-button:hover .faux-button,
  .elementor-element.hover-card-button:focus-within .faux-button,
  .elementor-element.hover-card-button:active .faux-button {
  background-color: #9D9EA3;
  }
  / If your heading text itself is a link, inherit the colour when the box is hovered/focused /
  .elementor-element.hover-card-button .elementor-heading-title a {
  color: inherit;            / normal state follows heading colour /
  text-decoration: none;     / optional /
  background-color: inherit;
  }
  .elementor-element.hover-card-button:hover .elementor-heading-title a,
  .elementor-element.hover-card-button:focus-within .elementor-heading-title a,
  .elementor-element.hover-card-button:active .elementor-heading-title a {
  color: inherit;            / ensures hover colour applies
  background-color: inherit;
  }/
  / ========= Optional: if you're greying the box via Background Overlay on hover ========= /
  / Keep the overlay transition smooth and independent of text colour /
  .elementor-element.hover-card-button .elementor-background-overlay {
  transition: opacity .2s ease;
  }
  / Example grey-on-hover (tweak to taste or remove if you already set this in the editor) */
  .elementor-element.hover-card-button:hover .elementor-background-overlay,
  .elementor-element.hover-card-button:focus-within .elementor-background-overlay {
  opacity: .5;
  }
