/*
Theme Name: Thecappa Child Theme
Theme URI: https://shtheme.com/demosd/thecappa
Description: This is child theme of thecappa
Author: Shtheme
Author URI: https://themeforest.net/user/shtheme
Version: 1.1
Text Domain: thecappa-child
Template: thecappa
*/

/* ========TABLE OF CONTENTS==========
00. Body, links, hgroup, paragraphs, general styles
01. Fixed header & Navigation
02. Section Intro (Home)
03. Section About
04. Section Resume
05. Section Portfolio
06. Section Blog
07. Section Contact
08. Footer
09. Loader
10. Responsive design

/*--------------------------------------------------
    00. Body, links, hgroup, paragraphs, general styles
---------------------------------------------------*/




.comment-form-cookies-consent {
  display: none;
}

.post .author a[rel="author"] {
  text-transform: capitalize;
}

.post-comment-section h3.comments-title, .post-comment-section .comment-respond h3.comment-reply-title {
  text-transform: capitalize;
  font-size: 24px;
  margin-bottom: 20px;
}

p.logged-in-as {
  margin-left: 15px;
}

.comment-respond form input.butn-dark {
  font-weight: 400;
  font-family: 'Barlow Condensed', sans-serif;
  text-transform: uppercase;
  background: #7B7C5D;
  color: #fff;
  margin: 0;
  position: relative;
  font-size: 15px;
  letter-spacing: 3px;
  margin-left: 15px;
  cursor: pointer;
}

.comment-respond form input.butn-dark:hover {
  background: #222;
}

.post-user-content h3.author-name {
  text-transform: capitalize;
}

.news2-sidebar .widget_search {
  width: 100%;
}

.news2-sidebar .widget_categories, .news2-sidebar .widget_tag_cloud {
  background: #EBE8DB;
  padding: 30px;
  margin: 0 15px;
  margin-bottom: 30px;
  overflow: hidden;
  width: 100%;
}

.news2-sidebar h6.widget-title {
  padding-bottom: 5px;
  border-bottom: 1px solid #eee3d0;
  font-size: 24px;
  line-height: 1.75em;
  margin-bottom: 15px;
  color: #222;
}

.widget_categories ul li {
  font-size: 15px;
  line-height: 1.5em;
  margin-bottom: 15px;
}

.widget_categories ul li:hover a {
  color: #696A4B;
}

.widget_categories ul li a:before {
    content: "\e649";
    font-family: 'themify';
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    font-size: 9px;
    margin-right: 10px;
}

.widget_categories ul li:hover a:before {
  color: #696A4B;
}

.widget_tag_cloud ul li {
    margin: 3px !important;
    padding: 6px 16px;
    color: #666 !important;
    float: left;
    background-color: #fff;
}

.widget_tag_cloud ul li:hover {
    color: #fff;
    background-color: #696A4B;
}

.widget_tag_cloud ul li a {
    font-size: 14px!important;
    color: #666;
}

.widget_tag_cloud ul li:hover a {
    color: #fff;
}

.post-cont .info, .post-cont .info a {
  font-weight: 400;
  font-size: 12px;
  letter-spacing: 3px;
  color: #696A4B;
  font-family: 'Barlow', sans-serif;
  text-transform: uppercase;
}

.post-cont .info {
  margin-bottom: 5px;
}

.news-pagination-wrap li span {
  background: transparent;
  display: inline-block;
  width: 40px;
  height: 40px;
  line-height: 37px;
  text-align: center;
  color: #666;
  font-weight: 400;
  border: 1px solid rgba(102,102,102,0.1);
  font-family: 'Barlow', sans-serif;
  font-size: 16px;
  border-radius: 100%;
  background-color: transparent;
  border: 1px solid #696A4B;
  color: #696A4B;
}

.search-custom form {
    width: 70%;
}

.search-custom form input {
  max-width: 100%;
  margin-bottom: 15px;
  border: none;
  padding: 7px 15px;
  height: auto;
  background-color: #fff;
  -webkit-box-shadow: none;
  box-shadow: none;
  display: block;
  width: 100%;
  font-family: 'Nunito Sans', sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.75em;
  color: #303E34;
  background-image: none;
  border: 1px solid #ececec;
}

.search-custom form button[type="submit"] {
    position: absolute;
    right: 31%;
    top: 0;
    background-color: transparent;
    color: #000;
    border: 0;
    padding: 10px;
    cursor: pointer;
}

.search-custom h4 {
    padding-left: 15px;
    line-height: 32px;
}

.rooms-page div.gallery-size-full {
  display: none;
}

.booking-inner form p {
  display: block;
  margin: 0px;
}


.select1_wrapper .select1_inner {
  background: #fff;
}

.booking-inner .select1_wrapper .select1_inner .select2 {
  margin-bottom: 0px;
  max-height: 63px;
}

.booking-inner .select-adults .select2-selection__rendered {
  width: 113px;
  padding-right: 25px!important;
  padding-bottom: 17px!important;
}

.booking-inner .select-child .select2-selection__rendered {
  width: 133px;
  padding-right: 25px!important;
  padding-bottom: 17px!important;
}

.booking-inner .select-room .select2-selection__rendered {
  width: 115px;
  padding-right: 25px!important;
  padding-bottom: 17px!important;
}

.page-template-dark-sidebar .booking-inner .select-adults .select2-selection__rendered {
  width: 113px;
}

.page-template-dark-sidebar .booking-inner .select-child .select2-selection__rendered {
  width: 133px;
}

.booking-inner form input[type="submit"] {
  display: block;
  padding: 0;
  border: none;
  margin: 0;
  width: 100%;
  background: #696A4B;
  color: #fff;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 15px;
  text-decoration: none;
  line-height: 62.5px;
  position: relative;
  cursor: pointer;
  transition: all 0.3s ease-out;
  letter-spacing: 3px;
  text-transform: uppercase;
}

.booking-inner form option {
  width: 154px;
}

.booking-inner form input[type="submit"]:hover {
  background: #222;
}

.select2-container--open .select2-dropdown--below,
.select2-container--open .select2-dropdown--above {
  width: 155px!important;
}

.testimonials .booking-box .booking-inner form p {
  display: block;
  margin: 0px;
}

.testimonials .booking-box .booking-inner .select2 {
  margin-bottom: 0px;
}

.testimonials .booking-box .booking-inner .select-adults .select2-selection__rendered {
  width: 104px;
  padding-right: 25px!important;
  padding-bottom: 18px!important;
}

.testimonials .booking-box .booking-inner .select-child .select2-selection__rendered {
  width: 117px;
  padding-right: 25px!important;
  padding-bottom: 18px!important;
}

.page-template-dark-sidebar .testimonials .booking-box .booking-inner .select-adults .select2-selection__rendered,
.page-template-dark-sidebar-2 .testimonials .booking-box .booking-inner .select-adults .select2-selection__rendered {
  width: 102px;
}

.page-template-dark-sidebar .testimonials .booking-box .booking-inner .select-child .select2-selection__rendered,
.page-template-dark-sidebar-2 .testimonials .booking-box .booking-inner .select-child .select2-selection__rendered {
  width: 115px;
}

.testimonials .booking-box .booking-inner form input[type="submit"] {
  display: block;
    padding: 0;
    border: none;
    margin: 0;
    width: 100%;
    background: #696A4B;
    color: #fff;
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 15px;
    text-decoration: none;
    line-height: 62.5px;
    position: relative;
    cursor: pointer;
    transition: all 0.3s ease-out;
    letter-spacing: 3px;
    text-transform: uppercase;
    margin-top: 25px!important;
}

.testimonials .booking-box .booking-inner form input[type="submit"]:hover {
  background: #222;
}

/* Testimonial text - override parent theme white text for light background */
.testimonials .item p {
  color: #333 !important;
}
.testimonials .item .info h6 {
  color: #333 !important;
}
.testimonials .item .info span {
  color: #666 !important;
}
.testimonials-box .head-box h6 {
  color: #333 !important;
}
.testimonials-box .head-box h4 {
  color: #333 !important;
}
.testimonials h5 {
  color: #333 !important;
}

.comming form span.your-email {
  width: 100%;
}

.comming form input[type="submit"] {
    background-color: #696A4B;
    padding: 6px 20px;
    border-radius: 0px;
    color: #fff;
    border: 0;
    position: absolute;
    top: 4px;
    right: 4px;
    cursor: pointer;
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 15px;
    letter-spacing: 3px;
    text-transform: uppercase;
    font-weight: 400;
    outline: none;
    left: auto;
    width: auto;
}


.logged-in .nav-scroll {
  top: -68px;
}

section.contact form p {
  display: block;
}

section.contact form textarea {
  height: 120px;
}

section.contact form span.your-message {
  width: 100%;
}

.footer-bottom-copy-right {
  font-size: 15px;
}

@media (max-width: 768px) {
  .logged-in nav.navbar {
    top: 47px;
  }
  
  .logged-in nav.navbar.nav-scroll {
    top: -68px;
  }
}

@media (max-width: 600px) {
  .logged-in nav.navbar.nav-scroll {
    top: -100px;
  }
}

@media (min-width: 1921px) {
  .booking-inner .select-adults .select2-selection__rendered {
      padding-bottom: 17px!important;
  }
  
  .booking-inner .select-child .select2-selection__rendered {
    padding-bottom: 17px!important;
  }

  .booking-inner .select-room .select2-selection__rendered {
    padding-bottom: 17px!important;
  }
}

.booking-wrapper .booking-inner form div.wpcf7-mail-sent-ng {
  color: #fff;
}



.elementor .elementor-widget:not(.elementor-widget-text-editor):not(.elementor-widget-theme-post-content) .rooms2 figure {
  margin-left: auto;
}

.elementor .elementor-widget:not(.elementor-widget-text-editor):not(.elementor-widget-theme-post-content) .rooms2.left figure {
  margin-left: 0;
  margin-right: auto;
}

.facilities-col-2 ul li {
  display: inline-block;
  width: 49%;
}

.facilities-col-3 ul li {
  display: inline-block;
  width: 32%;
}

.elementor hr.border-2 {
  margin-top: 5px;
  margin-bottom: 20px;
}

.dialog-lightbox-widget.elementor-lightbox {
  display: none!important;
}


.rooms-page .video-wrapper.video {
  margin-top: 80px;
}

.booking-sidebar {
  width: 100%!important;
}

.page-template-dark-sidebar .select1_wrapper .select1_inner,
.page-template-dark-sidebar-2 .select1_wrapper .select1_inner {
  background: #222;
}

.bg-black .news2-sidebar .widget_categories,
.bg-black .news2-sidebar .widget_tag_cloud {
  background: #222;
}

.bg-black .news2-sidebar .widget_categories h6,
.bg-black .news2-sidebar .widget_tag_cloud h6 {
  color: #fff;
}

.bg-black .widget_tag_cloud ul li {
  background-color: transparent;
  border: 1px solid #333;
}

.bg-black .widget_tag_cloud ul li:hover {
  background-color: #696A4B;
}

.bg-black .widget_tag_cloud ul li a {
  color: rgba(255,255,255,0.5) !important;
}

.bg-black .widget_tag_cloud ul li:hover a {
  color: #fff!important;
}

.bg-black .comment-respond form input.butn-dark:hover {
  background: #3b3b3b;
}

.bg-black .news2-sidebar h6.widget-title {
  border-bottom: 1px solid #2b2b2b;
}

blockquote cite {
  display: block;
}

.video-fullscreen-video {
  z-index: 0;
}

.video-fullscreen-wrap .overlay {
  background-image: inherit;
  opacity: 1;
}

.rooms2.section-padding.bg-cream {
  margin-bottom: 0px;
}

aside.kenburns-section + .booking-wrapper {
  width: 100%!important;
}

.cappa-header .cappa-logo1 {
    line-height: 0;
    padding: 0;
    color: #fff;
    font-size: 30px;
    font-family: 'Oswald', sans-serif;
    font-weight: 300;
}

.cappa-header .cappa-logo1 img {
    width: 160px;
}


p.woocommerce-result-count {
  margin-right: auto;
}

.shop-page .row.masonry {
  width: 100%
}


.product-single .product-cat {
    font-size: 14px;
    text-transform: uppercase;
    font-weight: 500;
    letter-spacing: 2px;
    color: #747691;
}

.product-single .product-cat:hover {
    color: #696A4B;
}

.product-single div.images {
    padding-right: 60px;
    padding-left: 15px;
}

.product-single .dlab-post-title  h3 {
    font-size: 35px;
    margin-bottom: 15px;
    margin-top: 20px;
}

.product-single del {
    font-weight: 300;
    font-size: 32px;
    margin-right: 25px;
    color: #747691;
    text-decoration: line-through;
}

.product-single ins {
    color: #696A4B;
    font-weight: 300;
    font-size: 32px;
    margin-right: 25px;
    text-decoration: none;
}


.product-single .product-desc {
    padding: 30px 0;
    border-top: 1px solid #ffe7e5;
    width: 52%;
    float: right;
}

.product-single .product-price { 
    margin-bottom: 30px;
}

.product-single div.quantity {
    height: 50px;
    width: 160px;
    border: 0;
    text-align: center;
    -moz-appearance: none;
    appearance: none;
    background: #fff1f0;
    border-radius: 30px;
    font-weight: 500;
    color: #747691;
    font-size: 16px;
}

.product-single div.quantity input {
    height: 50px;
    width: 160px;
    border: 0;
    text-align: center;
    -moz-appearance: none;
    appearance: none;
    background: #fff1f0;
    border-radius: 30px;
    font-weight: 500;
    color: #747691;
    font-size: 16px;
}

.product-single button.single_add_to_cart_button {
    border: 0;
    border-radius: 0;
    display: inline-block;
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 2px;
    line-height: 1;
    margin-bottom: 0;
    padding: 20px 42px;
    text-align: center;
    text-transform: uppercase;
    touch-action: manipulation;
    transition: all 0.3s ease 0s;
    vertical-align: middle;
    white-space: nowrap;
    background-color: #696A4B!important;
    color: #fff;
    margin-top: 100px;
    margin-left: -162px;
}

.product-single button.single_add_to_cart_button:hover {
    background-color: #222!important;
    color: #fff;
}

.product-review ul.review-tab li {
    margin-right: 30px;
    position: relative;
    margin-bottom: 50px;
}

.product-review ul.review-tab li a {
    color: #333;
    font-size: 14px;
    font-weight: 500;
    padding: 20px 40px;
    color: #747691;
    text-transform: uppercase;
    letter-spacing: 2px;
    line-height: 1;
    border: 2px solid #6f7172b0;
}

.product-review ul.review-tab li a.active {
    background: #696A4B;
    border-color: #696A4B;
    color: #fff;
}

.product-panel .tab-content div h2 {
    display: none;
}

.woocommerce #reviews #comments ol.commentlist {
    padding-left: 0px;
}

.woocommerce #reviews #comments ol.commentlist li img.avatar {
    width: 80px;
}

.woocommerce #reviews #comments ol.commentlist li .comment-text {
    border: none;
    padding: inherit;
    padding-left: 50px;
}

.woocommerce-Reviews .comment-text p.meta strong {
    font-size: 17px;
    font-style: normal;
    font-weight: 500;
    line-height: 1.1;
    color: #303E34;
    text-transform: capitalize;
}

.woocommerce-Reviews .comment-text p.meta time {
    font-size: 15px;
    font-style: normal;
    font-weight: 500;
    line-height: 1.1;
    color: #303E34;
    text-transform: capitalize;
}

.woocommerce-Reviews .comment-respond h3.comment-reply-title {
    font-size: 18px;
    font-weight: 500;
    margin-bottom: 10px!important;
}
.woocommerce p.stars a:hover,
.woocommerce p.stars a
 {
    color: #696A4B;
}

.woocommerce-Reviews .comment-form-rating p.stars {
    width: 80%;
    display: inline-block;
    position: relative;
    top: 4px;
    left: 10px;
}

.woocommerce-Reviews .table-bordered {
    display: none;
}

.woocommerce #review_form #respond textarea {
    border: 2px solid #ecedff;
}

.woocommerce #respond input#submit {
    background: #696A4B;
    color: #fff;
    border: 0;
    border-radius: 0;
    display: inline-block;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 2px;
    line-height: 1;
    margin-bottom: 0;
    padding: 17px 40px;
    text-align: center;
    text-transform: uppercase;
    touch-action: manipulation;
    transition: all 0.3s ease 0s;
    vertical-align: middle;
    white-space: nowrap;
  font-family: 'Barlow', sans-serif;
}
    
.woocommerce #respond input#submit:hover {
    background: #222;
    color: #fff;
}

span.onsale {
    border-radius: 0px!important;
    padding: 0px 20px!important;
    top: 20px!important;
    left: 20px!important;
    background-color: #696A4B!important;
    font-weight: 400!important;
}

.product-img div.sale span.site-button {
    border-radius: 0px!important;
    padding: 5px 20px!important;
    color: #fff;
    background-color: #696A4B!important;
    position: absolute;
}

.shop-area .product-showing {
    width: 100%;
    padding-left: 15px;
    padding-right: 15px;
    margin-bottom: 50px;
}

@media (max-width: 768px) {
    .shop-area .product-showing {
        display: none;
    }
}


.product-showing p {
    border: 2px solid #6f7172b0;
}

.pro-price .price del span {
    color: #747691;
    text-decoration: line-through;
    margin-right: 0px;
}

.pro-price del span {
    color: #747691;
}

.pro-price .price ins {
    text-decoration: none;
}

.pro-price .price ins span {
    margin-right: 0px;
}

.pro-price .price del span.woocommerce-Price-amount {
    margin-right: 20px;
}

.shop-add-to-cart a {
    border-radius: 0px!important;
    color: #fff!important;
    background-color: #696A4B!important;
    margin-top: 15px!important;
    font-weight: 500!important;
}

.shop-add-to-cart a:hover {
    color: #fff!important;
    background-color: #222!important;
}

.archive .product-img .product-action > a:nth-child(1),
.single-product .product-area .product-action > a:nth-child(1) {
    display: none;
}

.woocommerce-pagination ul.page-numbers,
.woocommerce-pagination ul.page-numbers li {
    border: none!important;
}

.woocommerce-pagination .page-numbers li a {
    background: transparent;
    color: #9990b8;
    border: 2px solid #eaebec;
    height: 60px;
    width: 60px;
    padding-bottom: 0px;
    line-height: 40px!important;
    border-radius: 50%;
    text-align: center;
    margin-right: 10px!important;
}

.woocommerce-pagination .page-numbers li a:hover {
    background: #696A4B!important;
    color: #ffffff!important;
  border: 2px solid #696A4B;
}

.woocommerce-pagination .page-numbers li span.current {
    background: #696A4B!important;
    color: #ffffff!important;
    border: 2px solid #696A4B;
    height: 60px;
    width: 60px;
    padding-bottom: 0px;
    line-height: 40px!important;
    border-radius: 50%;
    text-align: center;
    margin-right: 5px!important;
}

.woocommerce .shop-add-to-cart a.added_to_cart {
    padding: 5px 10px;
    margin-left: 10px;
}

.cart-area .table-content .table thead th {
    font-size: 14px;
}

.product-quantity .quantity input {
    background: #f5f5f5;
    border-radius: 30px;
    text-align: center;
    height: 50px;
    width: 160px!important;
    color: #6f7172;
    font-size: 14px;
    font-weight: normal;
    border: 0;
}

.woocommerce a.remove {
    font-size: 32px;
    color: #696A4B!important;
    width: inherit!important;
  margin-bottom: 5px;
}

.woocommerce a.remove:hover {
    color: inherit!important;
    background: inherit!important;
}

.coupon input[type="submit"] {
    float: none;
    background: #222;
    height: inherit;
    border: 0;
    border-radius: 0;
    color: #fff;
    display: inline-block;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 2px;
    line-height: 1;
    margin-bottom: 4px;
    padding: 22px 50px;
    text-align: center;
    text-transform: uppercase;
    touch-action: manipulation;
    transition: all 0.3s ease 0s;
    vertical-align: middle;
    white-space: nowrap;
    font-family: 'Barlow', sans-serif;
}

.coupon input[type="submit"]:hover {
    background: #696A4B;
    color: #fff;
}

input.update-cart, button#place_order,
.woocommerce-form-login button.woocommerce-form-login__submit {
    float: right;
    background: #696A4B;
    height: inherit;
    border: 0;
    border-radius: 0;
    color: #fff;
    display: inline-block;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 2px;
    line-height: 1;
    margin-bottom: 0;
    padding: 22px 50px;
    text-align: center;
    text-transform: uppercase;
    touch-action: manipulation;
    transition: all 0.3s ease 0s;
    vertical-align: middle;
    white-space: nowrap;
    font-family: 'Barlow', sans-serif;
}

button#place_order,
.woocommerce-form-login button.woocommerce-form-login__submit  {
    width: 100%;
}

input.update-cart:hover, button#place_order:hover,
.woocommerce-form-login button.woocommerce-form-login__submit:hover {
    background: #222;
    color: #fff;
}

.cart-page-total .cart_totals h2 {
    font-size: 25px;
    margin-bottom: 20px;
    text-transform: capitalize;
}

.woocommerce table.shop_table tbody th, 
.woocommerce table.shop_table tfoot td, .woocommerce table.shop_table tfoot th,
.order-total td strong span {
    font-weight: 400;
}


.wc-proceed-to-checkout a {
  background-color: #696A4B!important;
  font-size: 13px!important;
  padding: 22px 50px!important;
  text-transform: uppercase;
  letter-spacing: 2px;
  width: 70%!important;
  border-radius: 0px!important;
  font-weight: 400!important;
}

.wc-proceed-to-checkout a:hover {
    background-color: #222!important;
}

.woocommerce-checkout input[type="text"], 
.woocommerce-checkout input[type="password"],
.woocommerce-checkout input[type="email"], 
.woocommerce-checkout input[type="tel"] {
    background: #ffffff;
    border: 1px solid #eaedff;
    border-radius: 0;
    height: 45px;
    padding: 0 0 0 10px;
    width: 100%;
}

.woocommerce-checkout .select2-chosen {
    background: #ffffff;
    border: 1px solid #eaedff;
    border-radius: 0;
    height: 45px;
    padding: 10px 0 0 10px;
    width: 100%;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    top: 6px;
}


.select2-container .select2-choice,
.select2-drop-active, .select2-dropdown-open.select2-drop-above .select2-choice,
 .select2-dropdown-open.select2-drop-above .select2-choices {
    border: 1px solid #eaedff;
    padding: inherit;
}

.select2-drop.select2-drop-above.select2-drop-active {
    border: none;
}

.order-notes .woocommerce-shipping-fields {
    margin-top: 30px;
}

.woocommerce-product-rating {
    display: inline-block!important; 
}

.product-single .product_meta {
    display: none;
}

.woocommerce-product-rating div.star-rating {
    color: #696A4B;
}

h1.product_title {
    margin-top: 20px!important;
    margin-bottom: 15px;
}

div.woocommerce-product-details__short-description {
    width: 52%;
    float: right;
    padding: 30px 0;
    border-top: 1px solid #ffe7e5;
}

.row.mt-50 .product-area {
    width: 100%; 
    padding-top: 100px;
}

.product-area .products > div.product-item {
    display: inline-block;
    width: 33%;
}

.product-area .products > div.product-item:nth-child(4) {
    display: none;
}

.woocommerce div.product div.images .woocommerce-product-gallery__image:nth-child(n+2) {
    padding-top: 30px;
    padding-left: 20px;
    width: 32%;
}

.shop-area .products > div.product-item {
    display: inline-block;
    width: 33%;
}

@media (max-width: 991px) {
    .shop-area .products > div.product-item {
    display: inline-block;
    width: 49.5%;
}
}

.product-content .product-meta .pro-price .star-rating {
    display: none;
}

.woocommerce-billing-fields label,
.woocommerce-additional-fields p#order_comments_field label {
    width: 100%;
    margin-left: 0px;
}

.woocommerce-input-wrapper {
    width: 100%;
}

p#billing_postcode_field, p#billing_phone_field {
    width: 45%;
    margin-right: 29px;
    display: inline-block;
}

.woocommerce-info, .woocommerce-error, .woocommerce-message {
    border-top-color: #696A4B;
  max-width: 1140px;
    margin: auto!important;
  margin-bottom: 2em!important;
}

.woocommerce-info::before, .woocommerce-error::before, .woocommerce-message::before {
    color: #696A4B;
}

textarea#order_comments {
    height: 100px;
}

.woocommerce-account .coupon-area nav.woocommerce-MyAccount-navigation {
    float: left;
    width: 15%;
    left: 50px;
    position: relative;
    background-color: #696A4B;
}

.woocommerce-account .coupon-area div.woocommerce {
    max-width: 1100px;
    width: 1100px;
    left: 50px;
    position: relative;
}

.woocommerce-account .coupon-area nav.woocommerce-MyAccount-navigation ul li {
    padding: 15px;
    border: 1px solid #ddd;
    text-align: left!important;
    padding-left: 20px;
}

.woocommerce-account .coupon-area nav.woocommerce-MyAccount-navigation ul li a { 
    color: #fff;
    font-weight: 600;
}

.woocommerce-MyAccount-content p {
    font-size: 16px;
}

.woocommerce-MyAccount-content p strong,
.woocommerce-MyAccount-content p a {
    color: #696A4B;
}

.woocommerce-MyAccount-content .woocommerce-info a {
    background-color: #696A4B;
    color: #fff;
    font-weight: 500;
}

.woocommerce-MyAccount-content .woocommerce-info a:hover {
    background-color: #222;
    color: #fff;
}

.woocommerce-MyAccount-content .col2-set .col-1,
.woocommerce-MyAccount-content .col2-set .col-2 {
    max-width: 100%;
    margin-top: 30px;
    padding-left: 0px;
    float: none;
}

.woocommerce-Addresses .woocommerce-Address-title h3{
    font-weight: 600;
}

.woocommerce-Addresses .woocommerce-Address-title a {
    color: #696A4B;
}

.woocommerce-Addresses address {
    margin-top: 10px;
    margin-bottom: 50px;
}

.woocommerce-EditAccountForm label {
    margin-top: 0px;
    margin-left: 0px;
    color: #212529;
}

.woocommerce-account input[type="text"], 
.woocommerce-account input[type="password"],
.woocommerce-account input[type="email"], 
.woocommerce-account input[type="tel"] {
    background: #ffffff;
    border: 2px solid #eaedff;
    border-radius: 0;
    height: 40px;
    padding: 0 0 0 10px;
    width: 100%;
    margin-bottom: 10px!important;
    margin-top: 5px!important;
}

.woocommerce-account .select2-chosen {
    background: #ffffff;
    border: 1px solid #eaedff;
    border-radius: 0;
    height: 45px;
    padding: 10px 0 0 10px;
    width: 100%;
}

.woocommerce-account fieldset legend {
    padding-top: 30px;
    color: #212529;
    font-size: 28px;
    font-weight: 500px;
}

.woocommerce-account .edit-account p.form-row-wide span {
    margin: 15px 0;
}

.woocommerce-account .woocommerce-MyAccount-content p .woocommerce-Button {
    background-color: #696A4B;
    color: #fff;
    padding: 15px;
}

.woocommerce-account .woocommerce-MyAccount-content p button.woocommerce-Button:hover {
    background-color: #222;
    color: #fff
}

.basic-login .woocommerce-form-login {
    border: none!important;
}

.basic-login h3 {
    text-align: center;
}

.basic-login .woocommerce-form-login label {
    margin-left: 0px;
}


.woocommerce-account .basic-login input[type="text"], 
.woocommerce-account .basic-login input[type="password"] {
    background: #ffffff;
    border-radius: 0;
    height: 60px;
    padding: 0 0 0 10px;
    width: 100%;
    margin-bottom: 10px!important;
    margin-top: 5px!important;
}

.or-divide {
    margin-top: 110px;
}

.woocommerce-form-login .theme-btn a {
    color: #fff;
}

.basic-login label span {
    color: #222;
    margin-left: 5px;
}

.login-action input[type="checkbox"] {
    position: relative;
    top: 2px;
}

.basic-login {
    padding: 70px;
    margin-right: auto;
    margin-left: auto;
    border: 2px solid #eaedff;
}

.basic-login form .form-row {
    padding: 0px;
}

.basic-reset {
    padding: 90px;
    border: 2px solid #eaedff;
}

.basic-reset h3 {
    font-size: 30px;
    text-align: center;
    margin-bottom: 50px;
}

.lost_reset_password p {
    width: 100%!important;
}

.lost_reset_password p label, 
.lost_reset_password p input {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
}

.lost_reset_password .form-row button[type="submit"] {
    width: 100%;
    padding: 22px 50px;
    color: #fff;
    font-size: 17px;
    font-weight: 500;
    background: #696A4B;
}

.lost_reset_password .form-row button[type="submit"]:hover {
    background: #222;
}

.lost_reset_password .form-row input[name="user_login"] {
    margin-bottom: 30px!important;
    height: 50px;
}

.lost_reset_password p:nth-child(1) {
    text-align: center;
    letter-spacing: 0.5px;
    margin-bottom: 20px;
    font-size: 15px;
}

.lost_reset_password .form-row label {
    font-size: 18px;
    font-weight: 500;
}

p.cart-empty {
    text-align: center;
    font-size: 22px;
    color: #222;
    margin-top: 60px;
    margin-bottom: 40px;
}

p.return-to-shop {
    text-align: center;
  margin-bottom: 75px;
}

p.return-to-shop a {
    padding: 15px 25px!important;
    color: #fff!important;
    background-color: #696A4B!important;
  border-radius: 0px!important;
    font-family: 'Barlow Condensed', sans-serif;
    text-transform: uppercase;
    font-weight: 400!important;
    letter-spacing: 3px;
}

p.return-to-shop a:hover {
  background-color: #222!important;
}

.product-area .product-tab-content .product-wrapper .product-img img {
    width: inherit!important;
}

.product-area .product-tab-content .product-wrapper.col-md-3 {
    display: inline-block;
    width: 24.5%;
}

.product-area .product-wrapper.col-md-4 {
    display: inline-block;
    width: 33%;
}


.pro-price span {
    margin-right: 0px;
    color: #303E34;
}


.product-meta .pro-price del {
    margin-right: 25px;
}


.product-meta .pro-price ins {
    text-decoration-line: none;
    
}

.product-meta .pro-price ins span {
    color: #303E34;
}


.subscribe-form form input.wpcf7-submit {
    position: absolute;
    top: 0px;
    right: 0px;
    background: #696A4B;
    color: #fff;
    width: inherit;
}

.subscribe-form form input.wpcf7-submit:hover {
    background: #222;
    color: #fff;
}

@media (min-width: 1500px) {
    .subscribe-area .subscribe-inner {
        padding-left: 50px;
        padding-right: 50px;
    }
    .upcoming-product-area {
        background-position: 35% 0px;
    }
    .page-id-397 .latest-blog-area.box-90 .container-fluid {
        max-width: 1200px;
    }
    .page-id-397 .subscribe-area.box-105 .subscribe-inner { 
        max-width: 1170px;
        margin-right: auto;
        margin-left: auto;
    }
}

.single-seatures span {
    font-size: 14px;
}

.upcoming-product-area {
    background-size: cover;
}

.page-id-373 .banner-area.pt-30 {
    padding-top: 100px;
}

.slider-active-5 .single-slider div.shape-title-5 {
    z-index: 0;
}

.slider-active-5 .single-slider > div.row {
    width: 100%;
}



@media (max-width: 1500px) and (min-width: 1200px) {
    .page-id-397 .latest-blog-area.box-90 {
        padding-left: 75px;
        padding-right: 75px;
    }
    .page-id-397 .subscribe-area.box-105 {
        padding-left: 90px;
        padding-right: 90px;
    }
}

.shop-search button {
    top: 52px;
}

.shop-widget.widget_product_categories h3, 
.shop-widget.widget_product_tag_cloud h3,
.shop-widget.widget_products h3 {
    font-size: 20px;
    text-transform: uppercase;
    margin-bottom: 30px;
}

.shop-widget.widget_product_categories ul.product-categories li {
    margin-bottom: 15px;
}

.shop-widget.widget_product_categories ul.product-categories li a {
    color: #303E34;
    font-size: 15px;
}

.shop-widget.widget_product_tag_cloud .tagcloud a {
    border: 1px solid #6f7172b0;
    padding: 5px 15px;
    display: inline-block;
    color: #303E34!important;
    font-size: 14px!important;
    display: inline-block;
    margin-right: 5px;
    margin-bottom: 6px;
}

.shop-widget.widget_product_tag_cloud .tagcloud a:hover {
    background: #696A4B;
    color: #fff!important;
    border-color: #696A4B;
}

.shop-widget.widget_products ul li {
    overflow: hidden;
    margin-bottom: 20px;
}

.shop-widget.widget_products ul li a {
    margin-bottom: 10px;
}

.shop-widget.widget_products ul li a img {
    float: left;
    width: 70px;
    margin-right: 14px;
}

.shop-widget.widget_products ul li a span {
    font-size: 14px;
    margin-bottom: 7px;
}

.shop-widget.widget_products ul li del {
    color: #747691;
    margin-right: 25px;
    margin-top: 10px;
}

.shop-widget.widget_products ul li del span {
    color: #747691;
}

.shop-widget.widget_products ul li ins {
    text-decoration-line: none;
    margin-top: 9px;
}

.shop-widget.widget_products ul li ins span {
    font-weight: 500;
    font-size: 14px;
    color: #303E34;
    margin-right: 0px;
}

.shop-details-area {
  padding: 120px 0;
}

.shop-details-area .product-single .product-cat {
  display: none;
}

.shop-area {
  padding: 120px 0;
}

.shop-area .woocommerce-ordering select {
    float: right;
    border: 2px solid #6f7172b0;
    padding: 15px 20px;
    text-align: center;
    line-height: 1;
    display: inline-block;
    text-transform: uppercase;
    font-size: 12px;
    letter-spacing: 2px;
    font-weight: 500;
    color: #747691;
}

.product-showing p {
    margin: 0;
    border: 2px solid #eaebec;
    padding: 17px 30px;
    text-align: center;
    line-height: 1;
    display: inline-block;
    text-transform: uppercase;
    font-size: 12px;
    letter-spacing: 2px;
    font-weight: 500;
    color: #747691;
}


.shop-area .woocommerce-ordering select {
    float: right;
    border: 2px solid #eaebec;
    padding: 15px 0px;
    text-align: center;
    line-height: 1;
    display: inline-block;
    text-transform: uppercase;
    font-size: 12px;
    letter-spacing: 2px;
    font-weight: 500;
    color: #747691;
    width: 260px;
    height: 50px;
    border-radius: 0px;
}

.mb-25 {
  margin-bottom: 25px;
}

.mb-50 {
  margin-bottom: 50px;
}

.mb-75 {
  margin-bottom: 75px;
}

.product-content .shop-add-to-cart a.add_to_cart_button {
  font-size: 15px;
  text-transform: uppercase;
  padding: 12px 20px;
  letter-spacing: 3px;
  font-weight: 400;
  font-family: 'Barlow Condensed', sans-serif;
}

.page-template-shop-sidebar .product-content .shop-add-to-cart a.add_to_cart_button {
  padding: 7px 20px;
}

.product-content h4.shop a:hover {
  color: #696A4B;
}

.woocommerce nav.woocommerce-pagination {
  margin-top: 20px;
}

.product-content .shop-add-to-cart .add_to_cart_inline {
  padding: 0px!important;
  border: none!important;
}

.product-content .shop-add-to-cart .add_to_cart_inline .woocommerce-Price-amount  {
  display: none;
}

.shop-sidebar .shop-widget {
  background: #EBE8DB;
  padding: 30px;
  margin-bottom: 30px;
  overflow: hidden;
}

.shop-sidebar .shop-widget form {
  position: relative;
}

.shop-sidebar .shop-widget form input[type="text"] {
  width: 100%;
    padding: 10px;
    border: 0;
    background: #fff;
    margin-bottom: 0;
}

.shop-sidebar {
  width: 100%;
  display: inline-block;
}

.shop-sidebar .shop-widget form button {
  position: absolute;
  right: 0;
  top: 0;
  background-color: transparent;
  color: #222;
  border: 0;
  padding: 10px;
  cursor: pointer;
}

.woocommerce.widget_product_categories,
.woocommerce.widget_product_tag_cloud,
.widget_top_rated_products {
  background: #EBE8DB;
  padding: 30px;
  margin-bottom: 30px;
  overflow: hidden;
  margin-left: 15px;
  margin-right: 15px;
}

.woocommerce.widget_product_categories h6.widget-title,
.woocommerce.widget_product_tag_cloud h6.widget-title,
.widget_top_rated_products h6.widget-title {
  padding-bottom: 5px;
  border-bottom: 1px solid #eee3d0;
  font-size: 24px;
  line-height: 1.75em;
  margin-bottom: 15px;
  color: #222;
}

.woocommerce.widget_product_categories ul.product-categories li {
  font-size: 15px;
  line-height: 1.5em;
  margin-bottom: 15px;
}

.woocommerce.widget_product_categories ul.product-categories li a:before {
    content: "\e649";
    font-family: 'themify';
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    font-size: 9px;
    margin-right: 10px;
}

.woocommerce.widget_product_tag_cloud .tagcloud a {
  margin: 3px !important;
  padding: 6px 16px;
  color: #666;
  float: left;
  background-color: #fff;
  font-size: 15px!important;
}

.woocommerce.widget_product_tag_cloud .tagcloud a:hover {
  color: #fff;
  background-color: #696A4B;
}

.widget_top_rated_products ul.product_list_widget li img {
  float: left;
  width: 100px;
  margin-right: 25px;
}

.widget_top_rated_products ul.product_list_widget li span.product-title {
  margin-top: 30px;
}

.page-cart form table {
  width: 100%;
  text-align: center;
  margin-top: 120px;
  margin-bottom: 80px;
}

.page-cart form table thead.bg-primary {
  background-color: #696A4B!important;
  color: #fff;
}

#coupon_code {
    height: 57px;
    border: 2px solid #eaedff;
    padding: 0 15px;
    margin-right: 10px;
    width: 50%;
    display: inline-block;
}

.coupon-cart {
  text-align: left;
  padding: 40px;
}

.coupon-cart .coupon {
  float: left;
  width: 70%;
}

.cart-collaterals {
  margin-bottom: 80px;
}

.cart-collaterals table.shop_table tbody tr th {
  border-right: 1px solid rgba(0,0,0,.1)!important;
}

.mt-100 {
  margin-top: 100px;
}

.mb-100 {
  margin-bottom: 100px;
}

.woocommerce-checkout-payment .place-order input[type="submit"] {
  font-weight: 400;
  font-family: 'Barlow Condensed', sans-serif;
  text-transform: uppercase;
  background: #7B7C5D;
  color: #fff;
  margin: 0;
  position: relative;
  font-size: 15px;
  letter-spacing: 3px;
  cursor: pointer;
}

.woocommerce-checkout-payment .place-order input[type="submit"]:hover {
  background: #222;
}

.woocommerce-checkout #payment {
  background: #EBE8DB;
}

.create-account.woocommerce-validated {
  margin-top: 30px;
}

.create-account.woocommerce-validated .checkbox {
  width: 90%;
}

.product-content .product-meta .pro-price del span {
  text-decoration: line-through;
}

.product-content h4.shop {
  margin-bottom: 15px;
}

.product-wrapper .product-content .product-meta {
  margin-bottom: 5px;
}

.account-area, .login-area {
  padding: 100px 0;
}

.woocommerce-MyAccount-navigation ul li {
  width: 200px;
  color: #fff;
  padding: 12px 20px;
  background: #696A4B;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 15px;
  text-transform: uppercase;
  letter-spacing: 3px;
  margin-bottom: 1px;
  cursor: pointer;
  transition: all 0.3s ease-out;
}

.woocommerce-MyAccount-navigation ul li:hover {
    background: #222;
}

.woocommerce-account .woocommerce-MyAccount-content p .woocommerce-Button {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 15px;
  text-transform: uppercase;
  letter-spacing: 3px;
  margin-bottom: 1px;
  cursor: pointer;
  transition: all 0.3s ease-out;
  font-weight: 400;
  border-radius: 0px;
  margin-top: 20px;
}

.woocommerce-account .woocommerce-MyAccount-content p .woocommerce-Button:hover {
  background: #222;
}

.basic-login form.login {
  padding: 0px;
  border: none;
  margin-bottom: 0px;
}

.basic-login form.login input[type="submit"] {
  font-size: 15px;
  letter-spacing: 3px;
  background: #7B7C5D;
  text-transform: uppercase;
  font-weight: 400;
  font-family: 'Barlow Condensed', sans-serif;
  color: #fff;
  border-radius: 0px;
  margin-top: 15px;
  display: block;
  padding: 15px;
  width: 100%;
  margin-bottom: 25px;
}

.basic-login form.login label .woocommerce-Input--checkbox {
  margin-right: 10px;
}

.password-area form.lost_reset_password {
  margin-left: auto;
  margin-right: auto;
  padding: 90px;
  border: 2px solid #eaedff;
  max-width: 600px;
}

.password-area {
  padding: 100px;
}

.password-area form.lost_reset_password input[type="submit"] {
  color: #fff;
  font-family: 'Barlow Condensed', sans-serif;
  margin-bottom: 30px;
  font-size: 15px;
  letter-spacing: 3px;
  text-transform: uppercase;
}

.widget_top_rated_products ul.product_list_widget li span.woocommerce-Price-amount {
  display: none;
}

table.dlab-cart-tbl thead tr th {
  font-weight: 400;
  border: 1px solid #696A4B;
    border-right: 1px solid #dee2e6;
}

table.dlab-cart-tbl thead tr > th:last-child {
    border-right: 1px solid #696A4B;
}

.woocommerce .star-rating {
  border: none;
}

.woocommerce .star-rating:before, .woocommerce .star-rating:after {
  border: none;
    transform: inherit;
}

div#review_form_wrapper h3.comment-reply-title {
  font-size: 24px;
    text-transform: capitalize;
    margin-top: 30px;
}

.navbar .navbar-nav .active > a {
  color: #c6bc8a !important;
}

.navbar .navbar-nav .current-menu-parent > a {
  color: #c6bc8a !important;
}

.widget_top_rated_products ul.product_list_widget li .star-rating {
  display: none;
}

.product-single div.quantity, .product-single div.quantity input {
  background: #EBE8DB;
}

.page-template-dark-shop-sidebar .pro-price span, .page-template-shop-dark-menu-sidebar .pro-price span {
    color: #fff;
}

.page-template-dark-shop-sidebar .shop-sidebar .shop-widget {
  background: #303E34;
}

.page-template-dark-shop-sidebar .shop-sidebar .shop-widget form input[type="text"] {
  background: #222;
  color: #fff;
}

.page-template-dark-shop-sidebar .shop-sidebar .shop-widget form input[type="text"]::placeholder {
  color: #fff;
}

.page-template-dark-shop-sidebar .shop-sidebar .shop-widget form button i {
  color: #fff;
}

.page-template-dark-shop-sidebar .woocommerce.widget_product_categories, .page-template-dark-shop-sidebar .woocommerce.widget_product_tag_cloud, .page-template-dark-shop-sidebar .widget_top_rated_products {
  background: #303E34;
}

.page-template-dark-shop-sidebar .woocommerce.widget_product_categories h6.widget-title, 
.page-template-dark-shop-sidebar .woocommerce.widget_product_tag_cloud h6.widget-title, 
.page-template-dark-shop-sidebar .widget_top_rated_products h6.widget-title {
  color: #fff;
}

.page-template-dark-shop-sidebar .woocommerce.widget_product_categories ul.product-categories li {
  color: #fff;
}

.page-template-dark-shop-sidebar .widget_top_rated_products ul.product_list_widget li {
  margin-bottom: 15px;
  color: #fff;
}

.page-template-dark-shop-sidebar .product-meta .pro-price ins span,
.page-template-shop-dark-menu-sidebar .product-meta .pro-price ins span{
  color: #fff;
}

.page-template-dark-shop-sidebar .shop-add-to-cart a:hover,
.page-template-shop-dark-menu-sidebar .shop-add-to-cart a:hover {
  color: #111!important;
    background-color: #fff!important;
}

.page-template-dark-shop-sidebar .footer-top, .page-template-shop-dark-menu-sidebar .footer-top, 
.page-template-dark-sidebar.woocommerce-cart .footer-top, .page-template-dark-sidebar.woocommerce-checkout .footer-top {
  background-color: #111;
}

.dark-product .product-review ul.review-tab li a {
  color: #fff;
  border: 2px solid #fff;
}

.dark-product .product-review ul.review-tab li a.active {
  background: #696A4B;
    border-color: #696A4B;
}

.dark-product .product-panel .desc-text {
  color: #fff;
}

.dark-product div[itemprop="description"] p {
  color: #fff;
}

.dark-product .product-single button.single_add_to_cart_button:hover {
  background-color: #fff!important;
    color: #222;
}

.dark-product + footer >.footer-top {
  background-color: #111;
}

.page-template-dark-sidebar .page-cart form table, .page-template-dark-sidebar .page-cart form #coupon_code,
.page-template-dark-sidebar .page-cart form #coupon_code::placeholder {
  color: #fff;
}

.page-template-dark-sidebar .page-cart .coupon input[type="submit"], .page-template-dark-sidebar .page-cart input.update-cart:hover {
  background: #696A4B;
  color: #fff;
  cursor: pointer;
}

.page-template-dark-sidebar .woocommerce table.shop_table {
  border: 1px solid #fff;
  color: #fff;
}

.page-template-dark-sidebar .cart-collaterals table.shop_table tbody tr th {
  border-right: 1px solid #fff!important;
}

.page-template-dark-sidebar .wc-proceed-to-checkout a:hover {
    background-color: #696A4B!important;
  color: #fff;
}

.page-template-dark-sidebar .page-cart .coupon input[type="submit"]:hover, .page-template-dark-sidebar .page-cart input.update-cart:hover,
.page-template-dark-sidebar .wc-proceed-to-checkout a:hover {
  background-color: #fff!important;
  color: #222!important;
}

.page-template-dark-sidebar.woocommerce-checkout .woocommerce table.shop_table, .page-template-dark-sidebar.woocommerce-checkout .woocommerce table.shop_table tfoot th,
.page-template-dark-sidebar.woocommerce-checkout .woocommerce table.shop_table td, .page-template-dark-sidebar.woocommerce-checkout .woocommerce table.shop_table th{
  border: 1px solid #fff;
  color: #fff;
}

.page-template-dark-sidebar.woocommerce-checkout div.checkbox-form input {
  color: #222;
}

.page-template-dark-sidebar.woocommerce-checkout #payment {
  color: #111;
}

.v-middle.textleft, .v-middle.textleft h4 {
  text-align: left;
}

.v-middle.textleft h3 {
  position: relative;
  margin-bottom: 20px;
  font-family: 'Gilda Display', serif;
  font-size: 48px;
  text-transform: uppercase;
  line-height: 1.35em;
  -webkit-animation-delay: .6s;
  animation-delay: .6s;
  color: #fff;
  font-weight: 400;
  letter-spacing: 7px;
}

.booking-box2 .select-adults .select2-selection__rendered,
.booking-box3 .select-adults .select2-selection__rendered {
    width: 101px;
    padding-right: 26px!important;
    padding-bottom: 18px!important;
}

.booking-box2 .select-child .select2-selection__rendered,
.booking-box3 .select-child .select2-selection__rendered {
  width: 113px;
  padding-bottom: 18px!important;
}

.booking-box2 .wpcf7-form-control-wrap.select-adults,
.booking-box2 .wpcf7-form-control-wrap.select-child {
  left: -29px;
}

.booking-box2 form input[type="submit"], 
.booking-box3 form input[type="submit"] {
  margin-top: 30px!important;
}

@media(min-width: 991px) {
  .page-template-dark-sidebar .booking-sidebar-2,
  .page-template-dark-sidebar-2 .booking-sidebar-2,
  .page-template-home-sidebar .booking-sidebar-2,
  .page-template-home-sidebar-2 .booking-sidebar-2 {
    left: 12%;
  }
}

.page-template-dark-sidebar h4.form_title1,
.page-template-dark-sidebar-2  h4.form_title1 {
    color: #fff!important;
    border-bottom: 1px solid #222!important;
}


.booking-full-width {
  width: 100%!important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
  padding-bottom: 18px;
}

.page-template-dark-sidebar-2 .slider-fade .owl-dots .owl-dot {
    height: 12px;
    width: 12px;
    border: 1px solid rgba(255,255,255, 0.7);
    display: block;
    margin-bottom: 10px;
    border-radius: 50%;
}

.page-template-dark-sidebar-2 .slider-fade .owl-dots .owl-dot.active {
    border-color: #696A4B;
    background: #696A4B;
}


.page-template-dark-sidebar-2 .slider-fade .owl-nav,
.page-template-dark-sidebar-2 .slider-fade .owl-dot:before,
.page-template-dark-sidebar-2 .slider-fade .owl-dots:before,
.page-template-dark-sidebar-2 .slider-fade .owl-dots:after {
  display: none;
}

@media(max-width: 400px) {
  .checkbox-form, .order-notes, .your-order {
    padding: 10px;
  }
}

/* Homepage carousel - match live site */
.elementor-134 .elementor-element-380e51b4 .owce-carousel .owl-content {
  font-style: normal;
  color: #FFFFFF;
  margin: -53px 0px 0px 0px;
}
.elementor-134 .elementor-element-6b39e424 {
  background-color: #EBE8DB;
}

/* W1 - Hero slider carousel text white — targets ONLY the hero slider element */
.elementor-element-380e51b4 .owce-carousel .owl-link,
.elementor-element-380e51b4 .owce-carousel .owl-link:hover,
.elementor-element-380e51b4 .owce-carousel .owl-content,
.elementor-element-380e51b4 .owce-carousel .owl-content h2,
.elementor-element-380e51b4 .owce-carousel .owl-content h3,
.elementor-element-380e51b4 .owce-carousel .owl-content h4,
.elementor-element-380e51b4 .owce-carousel .owl-content p,
.elementor-element-380e51b4 .owce-carousel .owl-content span {
  color: #FFFFFF !important;
}

/* Layout-test page Find Your Stay carousel (c078a9bb) — force overlay titles white.
   The parent <a class="owl-link"> picks up the theme anchor color and bleeds copper
   through to the descendant title spans, overriding the inline color:white.    */
.elementor-element-c078a9bb .owce-carousel .owl-link,
.elementor-element-c078a9bb .owce-carousel .owl-link:hover,
.elementor-element-c078a9bb .owce-carousel .owl-content,
.elementor-element-c078a9bb .owce-carousel .owl-content span,
.elementor-element-c078a9bb .owce-carousel .owl-content h2,
.elementor-element-c078a9bb .owce-carousel .owl-content h3 {
  color: #FFFFFF !important;
}
/* Keep the FIND OUT MORE button copper-on-white (it has its own inline bg) */
.elementor-element-c078a9bb .owce-carousel .owl-content a {
  color: #FFFFFF !important;
}

/* All image carousels — prevent link hover changing text colour */
.owce-carousel-basic .owl-link:hover,
.owce-carousel-basic .owl-link:hover h2,
.owce-carousel-basic .owl-link:hover h3,
.owce-carousel-basic .owl-link:hover h4,
.owce-carousel-basic .owl-link:hover p,
.owce-carousel-basic .owl-link:hover span {
  color: inherit !important;
}

/* Activities carousel (465453cf) - dark text on white background */
.elementor-element-465453cf .owce-carousel .owl-content,
.elementor-element-465453cf .owce-carousel .owl-content span,
.elementor-element-465453cf .owce-carousel .owl-link,
.elementor-element-465453cf .owce-carousel .owl-link span,
.elementor-element-465453cf .owce-carousel h3,
.elementor-element-465453cf .owce-carousel h4,
.elementor-element-465453cf .owce-carousel p {
  color: #696a4b !important;
}

/* Testimonial carousel - dark text on light background */
.owce-carousel-testimonial .owl-content,
.owce-carousel-testimonial p.owl-content,
.owce-carousel-testimonial .owl-title,
.owce-carousel-testimonial h3.owl-title,
.elementor-134 .elementor-element-359b0dbb .owl-content,
.elementor-134 .elementor-element-359b0dbb p.owl-content,
.elementor-134 .elementor-element-359b0dbb .owl-title,
.elementor-134 .elementor-element-359b0dbb h3.owl-title,
.elementor-element-359b0dbb .owce-carousel .owl-content,
.elementor-element-359b0dbb .owce-carousel h3.owl-title {
  color: #333333 !important;
}

/* W4 - Hero/Banner CTA buttons: solid green with white text */
.header .caption .butn-light a,
.header .caption .butn-dark a,
.header.slider-fade .butn-light a,
.header.slider-fade .butn-dark a,
.kenburns-inner .caption .butn-light a,
.kenburns-inner .caption .butn-dark a {
  background-color: #696a4b !important;
  color: #FFFFFF !important;
  border: 1px solid #696a4b !important;
}
/* Override the ::after pseudo-element hover fill (parent theme uses this for slide-in effect) */
.header .caption .butn-light a:after,
.header .caption .butn-dark a:after,
.header.slider-fade .butn-light a:after,
.header.slider-fade .butn-dark a:after,
.kenburns-inner .caption .butn-light a:after,
.kenburns-inner .caption .butn-dark a:after {
  background: #303E34 !important;
}
/* Hover state: slightly darker green, keep white text */
.header .caption .butn-light a:hover,
.header .caption .butn-dark a:hover,
.header.slider-fade .butn-light a:hover,
.header.slider-fade .butn-dark a:hover,
.kenburns-inner .caption .butn-light a:hover,
.kenburns-inner .caption .butn-dark a:hover {
  background-color: #303E34 !important;
  border-color: #303E34 !important;
}
/* Keep span text white on hover (parent theme changes it to dark) */
.header .caption .butn-light a:hover span,
.header .caption .butn-dark a:hover span,
.header.slider-fade .butn-light a:hover span,
.header.slider-fade .butn-dark a:hover span,
.kenburns-inner .caption .butn-light a:hover span,
.kenburns-inner .caption .butn-dark a:hover span {
  color: #FFFFFF !important;
}

/* W5 - Burger menu: hide on desktop, style on mobile */
@media (min-width: 992px) {
  .navbar-toggler {
    display: none !important;
  }
}
@media (max-width: 991px) {
  .navbar-toggler .icon-bar i {
    font-size: 28px !important;
    color: #ebe8db !important;
  }
  .navbar.scrolled .navbar-toggler .icon-bar i,
  .navbar.nav-scroll .navbar-toggler .icon-bar i {
    color: #696a4b !important;
  }
}

/* W7 - Back-to-top button above chat widget */
.progress-wrap {
  bottom: 80px !important;
  background: #FFFFFF;
  box-shadow: 0 2px 10px rgba(0,0,0,0.15);
}

/* W8 - Hero carousel: stop caption text animations on banners/hero images */
.header .caption span,
.header .caption h1,
.header .caption h2,
.header .caption h3,
.header .caption h4,
.header .caption p,
.header .caption .butn,
.header .caption .butn-dark,
.header .caption .butn-light,
.kenburns-inner .caption span,
.kenburns-inner .caption h1,
.kenburns-inner .caption h2,
.kenburns-inner .caption h3,
.kenburns-inner .caption h4,
.kenburns-inner .caption p,
.kenburns-inner .caption .butn,
.kenburns-inner .caption .butn-dark,
.kenburns-inner .caption .butn-light {
  -webkit-animation: none !important;
  animation: none !important;
  -webkit-animation-delay: 0s !important;
  animation-delay: 0s !important;
  opacity: 1 !important;
  transform: none !important;
  -webkit-transform: none !important;
}

/* Hide slide numbers and nav arrows on slideshow heroes */
.slider-fade .owl-dots { display: none !important; }
.slider-fade .owl-nav { display: none !important; }

/* ============================================================
   The Nest - home page fixes (Sunday Lunch image height, Reserve contrast)
   ============================================================ */

/* Menu cards grid: force all 4 images to same aspect ratio */
.nest-menu-cards .elementor-widget-image img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 4 / 5 !important;
    object-fit: cover !important;
    object-position: center center;
    display: block;
    border-radius: 4px;
    max-width: 100%;
}
.nest-menu-cards .elementor-widget-image a,
.nest-menu-cards .elementor-widget-image .elementor-widget-container {
    display: block;
    width: 100%;
}
.nest-menu-cards .elementor-widget-image,
.nest-menu-cards .elementor-widget-image .elementor-widget-container {
    margin-bottom: 0 !important;
}
.nest-menu-cards .elementor-column {
    display: flex;
    flex-direction: column;
}
.nest-menu-cards .elementor-widget-wrap {
    align-content: flex-start;
}

/* Reserve Your Table section: enforce readable text on olive background */
.elementor-element-46a5ba89 .elementor-widget-text-editor,
.elementor-element-46a5ba89 .elementor-widget-text-editor p,
.elementor-element-46a5ba89 .elementor-widget-text-editor div {
    color: #FFFFFF !important;
    opacity: 0.95;
}
.elementor-element-46a5ba89 .elementor-widget-heading h2 {
    color: #FFFFFF !important;
}

/* ============================================================
   Hero/first section min-height: 500px on all pages except home
   ============================================================ */
body:not(.home).elementor-page .elementor-section.elementor-top-section:first-of-type {
    min-height: 500px !important;
}
body:not(.home).elementor-page .elementor-section.elementor-top-section:first-of-type > .elementor-container {
    min-height: 500px;
}

/* ============================================================
   THE SPA AT BAINLAND — Brand Guidelines (Aug 2026)
   Palette:   Bancha      #696A4B  (primary accent)
              Dark Green  #303E34  (dark background / hover)
              James White #EBE8DB  (light section bg)
              Pure White  #FFFFFF
   Fonts:     Optima (headings + body). Optima is a licensed face and is
              not webfont-hosted here; the stack falls back to Marcellus
              (headings) / Lato (body) where Optima is not installed.
   ============================================================ */

/* --- The pound sign (U+00A3) ------------------------------------------------
   Optima draws no usable sterling sign, so "£20pp" came out as a bare "20pp".
   Ordinary font-stack fallback does not rescue it: the face reports the glyph
   as present, so the browser never moves on to the next family in the list.

   The fix is a one-glyph family scoped with unicode-range. The browser is then
   obliged to take U+00A3 — and only U+00A3 — from here, whatever the rest of
   the stack claims. 'SpaPound' is prepended to every Optima stack below.

   local() first so an installed Lato/Helvetica is used with no download at all;
   the self-hosted subset (732 bytes, Lato's sterling only) is the guarantee.
   Nothing is fetched from fonts.cdnfonts.com — that host is blocked site-wide
   by cross-origin-resource-policy and never loads.

   Alicia therefore types £ straight into Elementor. No span, no entity code. */
@font-face {
    font-family: 'SpaPound';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: local('Lato Regular'), local('Lato'), local('Helvetica Neue'), local('Arial'),
         url('assets/fonts/pound-400.woff2') format('woff2');
    unicode-range: U+00A3;
}
@font-face {
    font-family: 'SpaPound';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: local('Lato Bold'), local('Helvetica Neue Bold'), local('Arial Bold'),
         url('assets/fonts/pound-700.woff2') format('woff2');
    unicode-range: U+00A3;
}

/* Escape hatch for anything the stacks below miss — <span class="pound">£</span>.
   Inline !important is the only thing that beats the !important rules below, so
   it is baked into a class rather than left for someone to remember. */
.pound,
span.pound {
    font-family: 'SpaPound', 'Lato', 'Helvetica Neue', Arial, sans-serif !important;
}

/* --- Typography: Optima throughout (see stack note above) --- */
body,
p,
.elementor-widget-text-editor,
.elementor-widget-text-editor p,
.elementor-widget-text-editor div,
.elementor-widget-text-editor span,
li, ul, ol, dl, dt, dd,
input, textarea, select,
blockquote {
    font-family: 'SpaPound', 'Optima', 'Optima nova', 'URW Classico', 'Lato', 'Segoe UI', 'Helvetica Neue', Arial, sans-serif !important;
    font-weight: 400 !important;
}

body {
    font-weight: 500 !important;
}

h1, h2, h3, h4, h5, h6,
.elementor-heading-title,
.elementor-widget-heading h1,
.elementor-widget-heading h2,
.elementor-widget-heading h3,
.elementor-widget-heading h4,
.elementor-widget-heading h5,
.elementor-widget-heading h6,
.entry-title,
.site-title,
.widget-title,
.section-title {
    font-family: 'SpaPound', 'Optima', 'Optima nova', 'URW Classico', 'Marcellus', 'Palatino Linotype', 'Book Antiqua', Palatino, Georgia, serif !important;
    font-weight: 400 !important;
    letter-spacing: 0.02em !important;
}

/* Optima is a wider face than the condensed Bebas Neue it replaces, so the
   old +0.03em tracking pushed big headings into extra line wraps. Ease it
   back and cap the very largest sizes so existing Elementor layouts hold. */
.elementor-widget-heading h1,
.elementor-widget-heading h2,
.entry-title,
h1, h2 {
    letter-spacing: 0.012em !important;
}

@media (max-width: 1024px) {
    .elementor-widget-heading h1,
    .elementor-widget-heading h2 {
        letter-spacing: 0.008em !important;
        word-break: normal !important;
        overflow-wrap: break-word !important;
    }
}

/* --- Force any legacy inline accent colour (thecappa gold #FFB900 / #AA8453,
       Nest copper #946F49) over to Bancha. These selectors must keep matching
       the OLD hex values — they exist to catch colours still hard-coded in
       inline styles and compiled Elementor CSS. --- */
[style*="#FFB900" i],
[style*="#AA8453" i],
[style*="#946F49" i],
[style*="rgb(255, 185, 0)"],
[style*="rgb(255,185,0)"],
[style*="rgb(170, 132, 83)"],
[style*="rgb(148, 111, 73)"] {
    background-color: #696A4B !important;
    border-color: #696A4B !important;
}
.elementor-button[style*="FFB900" i],
.elementor-button[style*="AA8453" i],
.elementor-button[style*="946F49" i] {
    background-color: #303E34 !important;
    color: #FFFFFF !important;
    border-color: #303E34 !important;
}

/* --- Buttons: Dark Green bg, white text, Bancha wipe on hover.
       (Was Bancha #696A4B with a Dark Green wipe — swapped 2026-08-17 at
       Alicia's request: button green is now Dark Green #303E34.) --- */
.elementor-button,
.elementor-button-link,
a.elementor-button,
.elementor-widget-button .elementor-button,
.wp-block-button__link,
.bl-btn,
a.bl-btn {
    position: relative !important;
    display: inline-block !important;
    background-color: #303E34 !important;
    color: #FFFFFF !important;
    padding: 14px 34px !important;
    font-family: 'SpaPound', 'Optima', 'Optima nova', 'URW Classico', 'Marcellus', 'Palatino Linotype', 'Book Antiqua', Palatino, Georgia, serif !important;
    font-size: 17px !important;
    font-weight: 400 !important;
    line-height: 1.2em !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: hidden !important;
    transition: color 0.3s ease !important;
    z-index: 1 !important;
}

.elementor-button .elementor-button-text,
.elementor-button-link .elementor-button-text,
a.elementor-button .elementor-button-text,
.elementor-widget-button .elementor-button .elementor-button-text {
    position: relative !important;
    z-index: 2 !important;
    color: #FFFFFF !important;
    font-family: 'SpaPound', 'Optima', 'Optima nova', 'URW Classico', 'Marcellus', 'Palatino Linotype', 'Book Antiqua', Palatino, Georgia, serif !important;
    font-size: 17px !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
}

/* Hover wipe → Bancha #696A4B. The rest state is now Dark Green #303E34,
   so the wipe has to be the lighter green or the hover would be invisible. */
.elementor-button::after,
.elementor-button-link::after,
a.elementor-button::after,
.elementor-widget-button .elementor-button::after,
.wp-block-button__link::after,
.bl-btn::after,
a.bl-btn::after {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 100% !important;
    width: 0 !important;
    height: 100% !important;
    background: #696A4B !important;
    z-index: -1 !important;
    transition: width 0.3s ease, left 0.3s ease !important;
}

.elementor-button:hover,
.elementor-button:focus,
.elementor-button-link:hover,
a.elementor-button:hover,
.elementor-widget-button .elementor-button:hover,
.wp-block-button__link:hover,
.bl-btn:hover,
a.bl-btn:hover {
    color: #FFFFFF !important;
    background-color: #303E34 !important;
}

.elementor-button:hover::after,
.elementor-button:focus::after,
.elementor-button-link:hover::after,
a.elementor-button:hover::after,
.elementor-widget-button .elementor-button:hover::after,
.wp-block-button__link:hover::after,
.bl-btn:hover::after,
a.bl-btn:hover::after {
    width: 100% !important;
    left: 0 !important;
}

/* ============================================================
   Reserve section — keep DARK BACKGROUND per Alicia.
   Section bg → Charcoal #303E34 (dark brown-black).
   Button on dark bg → white bg, copper text, dark-brown hover.
   ============================================================ */
.nest-reserve-section,
.nest-reserve-section > .elementor-container,
.elementor-element-46a5ba89,
.elementor-element-46a5ba89 > .elementor-container {
    background-color: #303E34 !important;
}

.nest-reserve-section .elementor-widget-heading h1,
.nest-reserve-section .elementor-widget-heading h2,
.nest-reserve-section .elementor-widget-heading h3,
.nest-reserve-section .elementor-heading-title,
.nest-reserve-section .elementor-widget-text-editor,
.nest-reserve-section .elementor-widget-text-editor p,
.elementor-element-46a5ba89 .elementor-widget-heading h1,
.elementor-element-46a5ba89 .elementor-widget-heading h2,
.elementor-element-46a5ba89 .elementor-widget-heading h3,
.elementor-element-46a5ba89 .elementor-heading-title,
.elementor-element-46a5ba89 .elementor-widget-text-editor,
.elementor-element-46a5ba89 .elementor-widget-text-editor p {
    color: #FFFFFF !important;
}

/* Reserve divider → copper accent on charcoal */
.nest-reserve-section .elementor-divider-separator,
.elementor-element-46a5ba89 .elementor-divider-separator {
    border-top-color: #696A4B !important;
    background-color: #696A4B !important;
}

.nest-reserve-section .elementor-button,
.nest-reserve-section a.elementor-button,
.nest-reserve-section .elementor-widget-button .elementor-button,
.elementor-element-46a5ba89 .elementor-button,
.elementor-element-46a5ba89 a.elementor-button,
.elementor-element-46a5ba89 .elementor-widget-button .elementor-button {
    background-color: #FFFFFF !important;
    color: #303E34 !important;
}
.nest-reserve-section .elementor-button .elementor-button-text,
.nest-reserve-section .elementor-widget-button .elementor-button .elementor-button-text,
.elementor-element-46a5ba89 .elementor-button .elementor-button-text,
.elementor-element-46a5ba89 .elementor-widget-button .elementor-button .elementor-button-text {
    color: #303E34 !important;
}
.nest-reserve-section .elementor-button::after,
.nest-reserve-section .elementor-widget-button .elementor-button::after,
.elementor-element-46a5ba89 .elementor-button::after,
.elementor-element-46a5ba89 .elementor-widget-button .elementor-button::after {
    background: #696A4B !important;
}
.nest-reserve-section .elementor-button:hover,
.nest-reserve-section .elementor-button:focus,
.nest-reserve-section a.elementor-button:hover,
.nest-reserve-section .elementor-widget-button .elementor-button:hover,
.elementor-element-46a5ba89 .elementor-button:hover,
.elementor-element-46a5ba89 .elementor-button:focus,
.elementor-element-46a5ba89 a.elementor-button:hover,
.elementor-element-46a5ba89 .elementor-widget-button .elementor-button:hover {
    background-color: #FFFFFF !important;
    color: #FFFFFF !important;
}
.nest-reserve-section .elementor-button:hover .elementor-button-text,
.nest-reserve-section .elementor-widget-button .elementor-button:hover .elementor-button-text,
.elementor-element-46a5ba89 .elementor-button:hover .elementor-button-text,
.elementor-element-46a5ba89 .elementor-widget-button .elementor-button:hover .elementor-button-text {
    color: #FFFFFF !important;
}

/* ============================================================
   Brand-correct mappings for stray legacy dark colours still baked into
   inline styles / compiled Elementor CSS that we haven't swapped in the DB.

   NOTE: The Nest stylesheet had a rule here forcing olive #696A4B over to
   copper. That has been deliberately REMOVED — #696A4B (Bancha) is The
   Spa's primary brand colour and must never be overridden.
   ============================================================ */
[style*="#2A2B1A" i],
[style*="#20201E" i],
[style*="#774D35" i],
[style*="#565738" i] {
    background-color: #303E34 !important;
}

/* Link colour: Bancha, Dark Green on hover */
a, a:link, a:visited {
    color: #696A4B;
}
a:hover, a:focus {
    color: #303E34;
}

/* ============================================================
   MOBILE: Feature-section image columns
   Background-image columns on feature sections have no content,
   so on mobile (where columns stack) they collapse to 0 height
   and the image disappears. Force a min-height + proper cover.
   IDs are the empty/image columns on home (50396) and latest-news (50408).
   ============================================================ */
@media (max-width: 767px) {
    /* Generic rule: any column that has a background image but no widgets
       (its widget-wrap is empty, i.e. lacks .elementor-element-populated)
       gets a real height on mobile so the image shows. */
    .elementor-column > .elementor-widget-wrap:not(.elementor-element-populated) {
        min-height: 280px !important;
        background-size: cover !important;
        background-position: center center !important;
        background-repeat: no-repeat !important;
        display: block !important;
    }
    .elementor-column:has(> .elementor-widget-wrap:not(.elementor-element-populated)) {
        min-height: 280px !important;
        background-size: cover !important;
        background-position: center center !important;
        background-repeat: no-repeat !important;
    }

    /* Force feature sections to stack with image FIRST, then text */
    .elementor-section.elementor-section-stretched,
    .elementor-top-section {
        min-height: 0 !important;
    }
    .elementor-top-section > .elementor-container {
        flex-direction: column !important;
    }

    /* Tighten mobile section padding so things don't feel huge */
    .elementor-section .elementor-container {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    /* Menu cards: 2-column grid on mobile (4-up becomes 2x2) */
    .nest-menu-cards .elementor-container {
        flex-direction: row !important;
        flex-wrap: wrap !important;
    }
    .nest-menu-cards .elementor-column {
        width: 50% !important;
        flex: 0 0 50% !important;
    }
    .nest-menu-cards .elementor-widget-image img {
        aspect-ratio: 4 / 5 !important;
    }

    /* Hero heading scale down a touch on phones */
    .elementor-widget-heading h1,
    .elementor-widget-heading h2 {
        font-size: 32px !important;
        line-height: 1.2 !important;
    }
    .elementor-widget-heading h3 {
        font-size: 24px !important;
    }

    /* Buttons full-width-ish on mobile so they're tappable */
    .elementor-widget-button .elementor-button {
        padding: 14px 24px !important;
        font-size: 14px !important;
        letter-spacing: 2px !important;
    }
}

/* Very small phones — keep things tidy */
@media (max-width: 480px) {
    .elementor-widget-heading h1 {
        font-size: 28px !important;
    }
    .elementor-widget-heading h2 {
        font-size: 26px !important;
    }
    .nest-menu-cards .elementor-column {
        width: 100% !important;
        flex: 0 0 100% !important;
        margin-bottom: 20px !important;
    }
}

/* ============================================================
   MOBILE: Home hero — force everything centred
   Section 62918dda is the video hero. On mobile the heading,
   text and button must all be centred horizontally regardless
   of inline widths set on inner <p> tags.
   ============================================================ */
@media (max-width: 767px) {
    body.home .elementor-element-62918dda .elementor-container {
        justify-content: center !important;
    }
    body.home .elementor-element-62918dda .elementor-column,
    body.home .elementor-element-62918dda .elementor-widget-wrap {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
    }
    body.home .elementor-element-62918dda .elementor-widget {
        width: 100% !important;
        max-width: 100% !important;
        text-align: center !important;
    }
    body.home .elementor-element-62918dda .elementor-widget-container {
        width: 100% !important;
        max-width: 100% !important;
        text-align: center !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
    body.home .elementor-element-62918dda h1,
    body.home .elementor-element-62918dda h2,
    body.home .elementor-element-62918dda h3,
    body.home .elementor-element-62918dda .elementor-heading-title {
        text-align: center !important;
        width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
    body.home .elementor-element-62918dda .elementor-widget-text-editor p,
    body.home .elementor-element-62918dda .elementor-widget-text-editor {
        text-align: center !important;
        max-width: 100% !important;
        width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 8px !important;
        padding-right: 8px !important;
    }
    body.home .elementor-element-62918dda .elementor-button-wrapper,
    body.home .elementor-element-62918dda .elementor-widget-button {
        text-align: center !important;
        width: 100% !important;
    }
}

/* ============================================================
   MOBILE: Inner-page hero sections only (NOT home)
   Forces inner-page heroes to centre their heading, body text,
   and button horizontally. Home is excluded — the home video
   hero is handled by the body.home .elementor-element-62918dda
   block above and was already correct.
   ============================================================ */
@media (max-width: 767px) {
    body:not(.home).elementor-page .elementor-top-section:first-of-type,
    body:not(.home).elementor-page .elementor-section:first-of-type {
        text-align: center !important;
    }
    body:not(.home).elementor-page .elementor-top-section:first-of-type > .elementor-container,
    body:not(.home).elementor-page .elementor-section:first-of-type > .elementor-container {
        justify-content: center !important;
        align-items: center !important;
        flex-direction: column !important;
    }
    body:not(.home).elementor-page .elementor-top-section:first-of-type .elementor-column,
    body:not(.home).elementor-page .elementor-section:first-of-type .elementor-column {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    body:not(.home).elementor-page .elementor-top-section:first-of-type .elementor-widget-wrap,
    body:not(.home).elementor-page .elementor-section:first-of-type .elementor-widget-wrap {
        width: 100% !important;
        max-width: 100% !important;
        align-items: center !important;
        justify-content: center !important;
        align-content: center !important;
        text-align: center !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
    body:not(.home).elementor-page .elementor-top-section:first-of-type .elementor-widget,
    body:not(.home).elementor-page .elementor-section:first-of-type .elementor-widget {
        width: 100% !important;
        max-width: 100% !important;
        text-align: center !important;
    }
    body:not(.home).elementor-page .elementor-top-section:first-of-type .elementor-widget-container,
    body:not(.home).elementor-page .elementor-section:first-of-type .elementor-widget-container {
        width: 100% !important;
        max-width: 100% !important;
        text-align: center !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
    body:not(.home).elementor-page .elementor-top-section:first-of-type h1,
    body:not(.home).elementor-page .elementor-top-section:first-of-type h2,
    body:not(.home).elementor-page .elementor-top-section:first-of-type h3,
    body:not(.home).elementor-page .elementor-top-section:first-of-type .elementor-heading-title,
    body:not(.home).elementor-page .elementor-section:first-of-type h1,
    body:not(.home).elementor-page .elementor-section:first-of-type h2,
    body:not(.home).elementor-page .elementor-section:first-of-type h3,
    body:not(.home).elementor-page .elementor-section:first-of-type .elementor-heading-title {
        text-align: center !important;
        width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
    body:not(.home).elementor-page .elementor-top-section:first-of-type .elementor-widget-text-editor,
    body:not(.home).elementor-page .elementor-top-section:first-of-type .elementor-widget-text-editor p,
    body:not(.home).elementor-page .elementor-section:first-of-type .elementor-widget-text-editor,
    body:not(.home).elementor-page .elementor-section:first-of-type .elementor-widget-text-editor p {
        text-align: center !important;
        max-width: 100% !important;
        width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
    body:not(.home).elementor-page .elementor-top-section:first-of-type .elementor-button-wrapper,
    body:not(.home).elementor-page .elementor-top-section:first-of-type .elementor-widget-button,
    body:not(.home).elementor-page .elementor-section:first-of-type .elementor-button-wrapper,
    body:not(.home).elementor-page .elementor-section:first-of-type .elementor-widget-button {
        text-align: center !important;
        width: 100% !important;
    }
    body:not(.home).elementor-page .elementor-top-section:first-of-type .elementor-divider,
    body:not(.home).elementor-page .elementor-section:first-of-type .elementor-divider {
        margin-left: auto !important;
        margin-right: auto !important;
    }
}

/* Hide the European Agricultural Fund / Lindsey Action Zone / LEADER strip from the parent theme footer */
.lastftr,
footer .lastftr,
.bottom_img,
.bottom_text {
    display: none !important;
}

/* ============================================================
   BAINLAND-STYLE FEATURE SECTIONS (boxed card layout)
   Tagged sections: .nest-feature-section
     - .nest-image-col   → image card (sized rectangle)
     - .nest-content-col → cream text card (eyebrow / heading / body / button)
   Matches the layout used at bainland.co.uk: dark backdrop section,
   image + cream card sit side-by-side flush, with breathing room
   from the section edges.
   ============================================================ */
.nest-feature-section,
.elementor-section.nest-feature-section,
section.nest-feature-section {
    background-color: #303E34 !important;
    background-image: none !important;
    padding-top: 80px !important;
    padding-bottom: 80px !important;
    padding-left: 60px !important;
    padding-right: 60px !important;
}

.nest-feature-section > .elementor-container {
    align-items: stretch !important;
    gap: 0 !important;
    max-width: 1280px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Image column: keep Elementor's inline background-image; just enforce
   the cover sizing and a guaranteed min-height so the column never
   collapses when it has no child widgets. */
.nest-feature-section .nest-image-col,
.nest-feature-section .elementor-column.nest-image-col {
    min-height: 480px !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    padding: 0 !important;
}
/* Elementor sets background-image on > .elementor-widget-wrap when the
   column has no child widgets. Make sure that wrap fills the column. */
.nest-feature-section .nest-image-col > .elementor-widget-wrap {
    min-height: 480px !important;
    padding: 0 !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
}

/* Content column: cream card sits flush against the image, with
   generous internal padding. The dark section backdrop frames the
   whole image+card unit (Bainland-style boxed layout). */
.nest-feature-section .nest-content-col,
.nest-feature-section .elementor-column.nest-content-col {
    background-color: #EBE8DB !important;
}
.nest-feature-section .nest-content-col > .elementor-element-populated,
.nest-feature-section .nest-content-col > .elementor-widget-wrap {
    background-color: #EBE8DB !important;
    padding: 70px 64px !important;
    justify-content: center !important;
    align-content: center !important;
    align-items: flex-start !important;
    min-height: 480px !important;
}

/* Heading inside the card */
.nest-feature-section .nest-content-col h1,
.nest-feature-section .nest-content-col h2,
.nest-feature-section .nest-content-col h3,
.nest-feature-section .nest-content-col h4,
.nest-feature-section .nest-content-col .elementor-heading-title {
    color: #303E34 !important;
    font-family: 'SpaPound', 'Optima', 'Optima nova', 'URW Classico', 'Marcellus', 'Palatino Linotype', 'Book Antiqua', Palatino, Georgia, serif !important;
    letter-spacing: 0.03em !important;
    font-weight: 400 !important;
    line-height: 1.1 !important;
    margin-bottom: 18px !important;
}

/* Body text inside the card */
.nest-feature-section .nest-content-col .elementor-widget-text-editor,
.nest-feature-section .nest-content-col .elementor-widget-text-editor p,
.nest-feature-section .nest-content-col .elementor-widget-text-editor li {
    color: #303E34 !important;
    font-family: 'SpaPound', 'Optima', 'Optima nova', 'URW Classico', 'Lato', 'Segoe UI', 'Helvetica Neue', Arial, sans-serif !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
}

/* Divider becomes a copper accent inside the card */
.nest-feature-section .nest-content-col .elementor-divider-separator {
    border-top-color: #696A4B !important;
    border-top-width: 2px !important;
    background-color: #696A4B !important;
    max-width: 60px !important;
    margin-left: 0 !important;
}
.nest-feature-section .nest-content-col .elementor-widget-divider {
    text-align: left !important;
}

/* Button — copper on cream card */
.nest-feature-section .nest-content-col .elementor-button-wrapper {
    text-align: left !important;
}
.nest-feature-section .nest-content-col .elementor-button,
.nest-feature-section .nest-content-col .elementor-button-link,
.nest-feature-section .nest-content-col a.elementor-button {
    background-color: #303E34 !important;
    color: #FFFFFF !important;
    border-color: #303E34 !important;
}
.nest-feature-section .nest-content-col .elementor-button:hover {
    background-color: #696A4B !important;
    color: #FFFFFF !important;
    border-color: #696A4B !important;
}

/* Consecutive feature sections sit flush — no gap between stacked rows.
   Section that follows another loses its top padding; section that
   precedes another loses its bottom padding. Net result: zero dark gap
   between adjacent boxes, while the first/last still keep their outer
   80px breathing room. */
.nest-feature-section + .nest-feature-section,
.elementor-section.nest-feature-section + .elementor-section.nest-feature-section,
section.nest-feature-section + section.nest-feature-section {
    padding-top: 0 !important;
}
.nest-feature-section:has(+ .nest-feature-section),
.elementor-section.nest-feature-section:has(+ .elementor-section.nest-feature-section),
section.nest-feature-section:has(+ section.nest-feature-section) {
    padding-bottom: 0 !important;
}

/* Mobile: stack image above text, shrink padding */
@media (max-width: 1024px) {
    .nest-feature-section,
    .elementor-section.nest-feature-section,
    section.nest-feature-section {
        padding-left: 32px !important;
        padding-right: 32px !important;
        padding-top: 60px !important;
        padding-bottom: 60px !important;
    }
    .nest-feature-section + .nest-feature-section,
    .elementor-section.nest-feature-section + .elementor-section.nest-feature-section,
    section.nest-feature-section + section.nest-feature-section {
        padding-top: 0 !important;
    }
    .nest-feature-section:has(+ .nest-feature-section),
    .elementor-section.nest-feature-section:has(+ .elementor-section.nest-feature-section),
    section.nest-feature-section:has(+ section.nest-feature-section) {
        padding-bottom: 0 !important;
    }
    .nest-feature-section .nest-content-col > .elementor-element-populated,
    .nest-feature-section .nest-content-col > .elementor-widget-wrap {
        padding: 54px 48px !important;
    }
}
@media (max-width: 767px) {
    .nest-feature-section,
    .elementor-section.nest-feature-section,
    section.nest-feature-section {
        padding-left: 20px !important;
        padding-right: 20px !important;
        padding-top: 40px !important;
        padding-bottom: 40px !important;
    }
    .nest-feature-section + .nest-feature-section,
    .elementor-section.nest-feature-section + .elementor-section.nest-feature-section,
    section.nest-feature-section + section.nest-feature-section {
        padding-top: 0 !important;
    }
    .nest-feature-section:has(+ .nest-feature-section),
    .elementor-section.nest-feature-section:has(+ .elementor-section.nest-feature-section),
    section.nest-feature-section:has(+ section.nest-feature-section) {
        padding-bottom: 0 !important;
    }
    .nest-feature-section .nest-image-col,
    .nest-feature-section .nest-image-col > .elementor-widget-wrap {
        min-height: 260px !important;
    }
    .nest-feature-section .nest-content-col > .elementor-element-populated,
    .nest-feature-section .nest-content-col > .elementor-widget-wrap {
        padding: 40px 28px !important;
        min-height: 0 !important;
    }
}

/* ============================================================
   Nest sticky header only — charcoal when scrolled
   Non-scrolled header reverts to theme default (transparent
   over the hero video). Only .nav-scroll is restyled.
   ============================================================ */

nav.navbar.nav-scroll,
.nav-scroll {
    background: #303E34 !important;
    background-color: #303E34 !important;
    -webkit-box-shadow: 0 2px 12px rgba(0, 0, 0, 0.35) !important;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.35) !important;
}

/* Menu links in sticky state — readable on dark, Optima brand font */
.nav-scroll .navbar-nav .nav-link,
.nav-scroll .navbar-nav > li > a {
    color: #FFFFFF !important;
    font-family: 'SpaPound', 'Optima', 'Optima nova', 'URW Classico', 'Marcellus', 'Palatino Linotype', 'Book Antiqua', Palatino, Georgia, serif !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
}

.nav-scroll .navbar-nav .nav-link:hover,
.nav-scroll .navbar-nav .nav-link:focus,
.nav-scroll .navbar-nav > li > a:hover,
.nav-scroll .navbar-nav .active,
.nav-scroll .navbar-nav .active > a,
.nav-scroll .navbar-nav .current-menu-item > a,
.nav-scroll .navbar-nav .current-menu-parent > a {
    color: #696A4B !important;
}

/* Dropdown panels when sticky bar is dark */
.nav-scroll .dropdown-menu {
    background: #303E34 !important;
    border: 1px solid rgba(255,255,255,0.08) !important;
}
.nav-scroll .dropdown-menu a {
    color: #FFFFFF !important;
    font-family: 'SpaPound', 'Optima', 'Optima nova', 'URW Classico', 'Marcellus', 'Palatino Linotype', 'Book Antiqua', Palatino, Georgia, serif !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
}
.nav-scroll .dropdown-menu a:hover {
    color: #696A4B !important;
    background: rgba(255,255,255,0.04) !important;
}

/* Burger icon in sticky state */
.nav-scroll .navbar-toggler .icon-bar,
.nav-scroll .navbar-toggler .icon-bar i {
    color: #FFFFFF !important;
}

/* ============================================================
   Spa non-sticky header — Optima font only (colour/bg
   left as theme default so it stays transparent over the hero)
   ============================================================ */
nav.navbar .navbar-nav .nav-link,
nav.navbar .navbar-nav > li > a {
    font-family: 'SpaPound', 'Optima', 'Optima nova', 'URW Classico', 'Marcellus', 'Palatino Linotype', 'Book Antiqua', Palatino, Georgia, serif !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
}

nav.navbar .dropdown-menu a {
    font-family: 'SpaPound', 'Optima', 'Optima nova', 'URW Classico', 'Marcellus', 'Palatino Linotype', 'Book Antiqua', Palatino, Georgia, serif !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
}

/* Non-sticky header hover/active — copper, not olive */
nav.navbar .navbar-nav .nav-link:hover,
nav.navbar .navbar-nav .nav-link:focus,
nav.navbar .navbar-nav > li > a:hover,
nav.navbar .navbar-nav > li > a:focus,
nav.navbar .navbar-nav .active,
nav.navbar .navbar-nav .active > a,
nav.navbar .navbar-nav .current-menu-item > a,
nav.navbar .navbar-nav .current-menu-parent > a,
.navbar .navbar-nav .active > a,
.navbar .navbar-nav .current-menu-parent > a,
.navbar .navbar-nav .current-menu-item > a {
    color: #696A4B !important;
}
nav.navbar .dropdown-menu a:hover,
nav.navbar .dropdown-menu a:focus {
    color: #696A4B !important;
}

/* ============================================================
   White → Cream swap (Alicia brand: #EBE8DB for light sections)
   Per brand guidelines, white is only for text on dark / buttons
   on dark. All light-section backgrounds use brand cream.
   ============================================================ */

/* Page / body backdrop */
body,
body.elementor-page,
.site,
#page,
.site-content,
main,
.elementor,
.elementor-section-wrap {
    background-color: #EBE8DB !important;
}

/* Elementor sections with explicit white bg (incl. motion-effect overlay
   layer used on Welcome-to-the-Nest and other top-level sections) */
.elementor-section .elementor-motion-effects-layer[style*="#FFFFFF"],
.elementor-section .elementor-motion-effects-layer[style*="#ffffff"],
.elementor-element > .elementor-motion-effects-container > .elementor-motion-effects-layer,
.elementor-top-section[style*="background-color:#FFFFFF"],
.elementor-top-section[style*="background-color: #FFFFFF"],
.elementor-top-section[style*="background-color:#ffffff"],
.elementor-top-section[style*="background:#FFFFFF"],
.elementor-top-section[style*="background: #FFFFFF"],
.elementor-section[style*="background-color:#FFFFFF"],
.elementor-section[style*="background-color: #FFFFFF"],
.elementor-section[style*="background-color:#ffffff"],
.elementor-section[style*="background:#FFFFFF"],
.elementor-section[style*="background: #FFFFFF"] {
    background-color: #EBE8DB !important;
}

/* Catch the 4 known home-page white motion-effect sections by ID */
.elementor-50396 .elementor-element-fa1c86c3 > .elementor-motion-effects-container > .elementor-motion-effects-layer,
.elementor-50396 .elementor-element-c878b64f > .elementor-motion-effects-container > .elementor-motion-effects-layer,
.elementor-50396 .elementor-element-e71150da > .elementor-motion-effects-container > .elementor-motion-effects-layer,
.elementor-50396 .elementor-element-2658ea53 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
    background-color: #EBE8DB !important;
}

/* Inline-style white catch-all for any Elementor element */
.elementor-element[style*="background-color:#fff;"],
.elementor-element[style*="background-color: #fff;"],
.elementor-element[style*="background-color:#FFFFFF;"],
.elementor-element[style*="background-color: #FFFFFF;"],
.elementor-element[style*="background-color:#ffffff;"],
.elementor-element[style*="background-color: #ffffff;"] {
    background-color: #EBE8DB !important;
}

/* Keep dark/charcoal sections genuinely dark — never override these
   even if a child rule above matches (defensive belt-and-braces) */
.nest-feature-section,
.nest-feature-section .elementor-container,
section.elementor-section[style*="#303E34" i],
section.elementor-section[style*="#20201E" i],
section.elementor-section[style*="background-color:#000"],
section.elementor-section[style*="background-color:#222"] {
    background-color: inherit;
}

/* The boxed feature section backdrop stays charcoal (set elsewhere) */
.nest-feature-section {
    background-color: #303E34 !important;
}

/* ============================================================
   Mobile navbar — kill the parent theme's white box behind the
   logo when scrolled (parent rule lives in style.css line 1106
   inside the @media max-width:991px block) and tighten padding
   so the dark charcoal sticky bar is one clean band edge-to-edge
   ============================================================ */
@media screen and (max-width: 991px) {
    .nav-scroll .logo-wrapper,
    nav.navbar.nav-scroll .logo-wrapper {
        background-color: transparent !important;
        padding: 10px 15px !important;
    }
    /* Non-scrolled mobile state — also transparent (it inherits the
       parent .logo-wrapper rule which sets padding 15px but no bg) */
    .navbar .logo-wrapper {
        background-color: transparent !important;
    }
    /* Burger icon visible on dark sticky bar (parent theme leaves it
       olive/copper which disappears on charcoal) */
    nav.navbar.nav-scroll .navbar-toggler .icon-bar,
    nav.navbar.nav-scroll .navbar-toggler .icon-bar i {
        color: #FFFFFF !important;
    }
}

/* ============================================================
   Home hero — push the inner content below the navbar on mobile
   so the intro paragraph no longer collides with the logo at the
   top-left. Section is full-viewport-height stretched; the parent
   theme centres content vertically but on phones the logo (115px
   tall navbar) overlaps the paragraph's first line.
   Scoped to the home page (#50396) to avoid touching other heroes.
   ============================================================ */
@media screen and (max-width: 991px) {
    body.page-id-50396 .elementor-50396 > section.elementor-top-section:first-of-type {
        padding-top: 130px !important;
    }
    body.page-id-50396 .elementor-50396 > section.elementor-top-section:first-of-type
        .elementor-container {
        padding-top: 20px !important;
    }
}


/* Garden Room menus carousel (4da21e2c) — overlay titles white, stacked above the button.
   Root cause: the owl plugin wraps each item in <a class="owl-link">, but the item HTML
   contains its own <a> for the SEE MENU button. Nested anchors are invalid, so the
   browser's adoption-agency parse splits the outer anchor and re-wraps the title spans
   in a cloned <a class="owl-link">. That clone takes the theme's copper anchor colour,
   and thecappa's `span, a, a:hover { color: inherit }` passes it down to the spans,
   beating the container's inline color:white. Same root cause as c078a9bb above. */
.elementor-element-4da21e2c .owce-carousel .owl-link,
.elementor-element-4da21e2c .owce-carousel .owl-link:hover,
.elementor-element-4da21e2c .owce-carousel .owl-content,
.elementor-element-4da21e2c .owce-carousel .owl-content span,
.elementor-element-4da21e2c .owce-carousel .owl-content h2,
.elementor-element-4da21e2c .owce-carousel .owl-content h3 {
  color: #FFFFFF !important;
}

/* The title wrapper and the SEE MENU button are inline siblings inside the absolutely
   positioned caption box, so they share a line and the button lands on top of the title.
   Stacking the caption box puts the title on its own line, above the button. */
.elementor-element-4da21e2c .owce-carousel .owl-content > div > div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

/* ---------------------------------------------------------------------------
   Owl carousel nested-anchor fix — GENERAL (supersedes the per-element hacks
   above for 4da21e2c, c078a9bb, 380e51b4; those are left in place as they also
   carry element-specific button colours).

   Root cause: owce_get_item_link() wraps the whole slide in <a class="owl-link">
   whenever the item has a link URL. Several slides also contain their own <a>
   (the SEE MENU / FIND OUT MORE button), so that button anchor ends up nested
   inside the wrapper anchor. Nested anchors are invalid HTML, so the browser's
   adoption-agency algorithm splits the outer anchor and clones
   <a class="owl-link"> *inside* .owl-content, re-wrapping the title spans.
   The clone takes the theme's copper link colour, and thecappa's
   `span, a, a:hover { color: inherit }` passes it down to the spans, beating
   the caption's inline color:white. It also leaves the title and the button as
   inline siblings, so on some widths the button rides up onto the title line.

   Why these selectors are safe: the plugin only ever emits .owl-link as an
   ANCESTOR of .owl-content. An .owl-link *inside* .owl-content can only be a
   parser-created clone, so both rules match the defect itself and cannot touch
   a well-formed carousel. Verified: clean carousels (e.g. /in-lodge-dining)
   are byte-identical before and after.

   Affects 24 carousel widgets across 12 pages + 12 saved templates. */

/* 1. Neutralise the cloned anchor's colour so the caption's own colour wins. */
.owce-carousel .owl-content a.owl-link,
.owce-carousel .owl-content a.owl-link:hover {
  color: inherit;
}

/* 2. Stack the caption box so the title sits above the button at every width.
      :has() limits this to caption boxes that actually contain a clone. */
.owce-carousel .owl-content > div > div:has(a.owl-link) {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

/* ============================================================
   THE SPA — dark-section button contrast
   Buttons are now Dark Green #303E34 (Alicia, 2026-08-17). A Dark Green
   button sitting directly ON a Dark Green section would be invisible, so
   those buttons invert: James White fill with a Dark Green label, wiping
   to Dark Green with a James White edge so the shape still reads.
   Excludes the cream .nest-content-col card — that sits on cream, so its
   button stays Dark Green (re-asserted below).
   ============================================================ */
.nest-feature-section .elementor-button,
section.elementor-section[style*="#303E34" i] .elementor-button,
.spa-dark-section .elementor-button {
    background-color: #EBE8DB !important;
    color: #303E34 !important;
    border: 1px solid #EBE8DB !important;
}
.nest-feature-section .elementor-button .elementor-button-text,
section.elementor-section[style*="#303E34" i] .elementor-button .elementor-button-text,
.spa-dark-section .elementor-button .elementor-button-text {
    color: #303E34 !important;
}
.nest-feature-section .elementor-button::after,
section.elementor-section[style*="#303E34" i] .elementor-button::after,
.spa-dark-section .elementor-button::after {
    background: #303E34 !important;
}
.nest-feature-section .elementor-button:hover,
.nest-feature-section .elementor-button:hover .elementor-button-text,
section.elementor-section[style*="#303E34" i] .elementor-button:hover,
section.elementor-section[style*="#303E34" i] .elementor-button:hover .elementor-button-text,
.spa-dark-section .elementor-button:hover,
.spa-dark-section .elementor-button:hover .elementor-button-text {
    color: #EBE8DB !important;
}

/* Cream card inside a feature section — button stays Dark Green, because it
   sits on the cream card, not on the dark backdrop. Re-asserted here so it
   outranks the dark-section inversion above regardless of source order. */
.nest-feature-section .nest-content-col .elementor-button,
.nest-feature-section .nest-content-col .elementor-button-link,
.nest-feature-section .nest-content-col a.elementor-button,
section.elementor-section[style*="#303E34" i] .nest-content-col .elementor-button {
    background-color: #303E34 !important;
    color: #FFFFFF !important;
    border: 1px solid #303E34 !important;
}
.nest-feature-section .nest-content-col .elementor-button .elementor-button-text,
section.elementor-section[style*="#303E34" i] .nest-content-col .elementor-button .elementor-button-text {
    color: #FFFFFF !important;
}
.nest-feature-section .nest-content-col .elementor-button::after,
section.elementor-section[style*="#303E34" i] .nest-content-col .elementor-button::after {
    background: #696A4B !important;
}
.nest-feature-section .nest-content-col .elementor-button:hover,
.nest-feature-section .nest-content-col .elementor-button:hover .elementor-button-text,
section.elementor-section[style*="#303E34" i] .nest-content-col .elementor-button:hover,
section.elementor-section[style*="#303E34" i] .nest-content-col .elementor-button:hover .elementor-button-text {
    color: #FFFFFF !important;
}

/* ============================================================
   MOBILE: full-screen hero headers  (Alicia, 24 Sep 2026)

   Elementor confines its own "Full Screen" section height to
   @media (min-width:768px) — see frontend.min.css:

       @media (min-width:768px){
           .elementor-section.elementor-section-height-full{height:100vh}
       }

   So on phones every hero fell back to whatever else applied:
   the home hero collapsed to its content (463px on a 844px
   screen) and the inner pages sat on the 500px min-height set
   further up this file. Bainland's heroes are a true full
   viewport on mobile; these now match.

   Exactly one .elementor-section-height-full exists per page and
   it is always the first top-level section, so the class is a
   safe hook — no mid-page section is affected.

   svh before vh: on iOS, 100vh measures the *large* viewport, so
   the bottom of the hero would sit behind the address bar. svh is
   the visible area, which is what "full screen" means here.
   The vh line stays first as the fallback for older browsers.
   !important is required to beat the two rules above:
   `min-height:0!important` on .elementor-top-section (mobile) and
   `min-height:500px!important` on non-home first sections.
   ============================================================ */
@media (max-width: 767px) {
    .elementor-section.elementor-section-height-full,
    body.elementor-page .elementor-section.elementor-top-section.elementor-section-height-full {
        height: 100vh !important;
        height: 100svh !important;
        min-height: 100vh !important;
        min-height: 100svh !important;
    }
    .elementor-section.elementor-section-height-full > .elementor-container {
        height: 100% !important;
        min-height: 100% !important;
        align-items: center !important;
    }
    .elementor-section.elementor-section-height-full > .elementor-container > .elementor-column,
    .elementor-section.elementor-section-height-full > .elementor-container > .elementor-column > .elementor-widget-wrap {
        justify-content: center !important;
        align-content: center !important;
    }
    /* Background video must still cover the taller box. Elementor sizes
       the <video> from the container's aspect ratio on load; forcing
       object-fit makes it cover regardless of when that runs. */
    .elementor-section.elementor-section-height-full .elementor-background-video-container,
    .elementor-section.elementor-section-height-full .elementor-background-video-hosted {
        width: 100% !important;
        height: 100% !important;
        min-height: 100% !important;
        object-fit: cover !important;
        left: 0 !important;
        top: 0 !important;
        transform: none !important;
    }
}

/* ============================================================
   FAQ accordions — "+" beside the question, never above it
   (Alicia, 24 Sep 2026)

   Elementor floats the +/- icon and leaves the question as an
   ordinary inline anchor, which would wrap around the float:

       .elementor-accordion .elementor-tab-title
           .elementor-accordion-icon.elementor-accordion-icon-left
           { float:left; text-align:left }

   But thecappa turns every anchor on the site into an atomic box
   (thecappa/assets/css/style.css:100):

       span, a, a:hover { display:inline-block; ... }

   An inline-block cannot wrap around a float — it either fits
   beside it whole, or it is pushed below it whole. The content
   box is 286px on a phone, leaving 268px next to the 18px icon,
   so any question whose natural width exceeds that drops onto the
   next line and the + is left stranded on its own line above it.
   That is exactly the set of questions in Alicia's screenshot:
   short ones ("What should I wear?") sat beside the +, long ones
   ("Do I need to book a lodge to be able to have a treatment?")
   did not. It is a wrapping fault, not a spacing one — padding or
   margin tweaks cannot fix it.

   Flex row instead: the icon is a fixed first column and the
   question is a flexible second column, so the + always sits on
   the first line of the text and every wrapped line indents under
   the text, not under the icon.

   width:1.2em on the icon is Elementor's own value, kept so that
   rows which already looked right do not shift by a pixel — the
   question still starts 18px in from the padding edge.
   min-width:0 lets the question column shrink below its longest
   word instead of overflowing the tile.
   The -right branch keeps Elementor's "Icon Position: Right"
   option working, should Alicia ever switch it.
   ============================================================ */
.elementor-accordion .elementor-tab-title {
    display: flex;
    align-items: flex-start;
}
.elementor-accordion .elementor-tab-title .elementor-accordion-icon {
    float: none;
    flex: 0 0 auto;
    width: 1.2em;
    margin: 0;
    line-height: inherit;
}
.elementor-accordion .elementor-tab-title .elementor-accordion-icon .elementor-accordion-icon-closed,
.elementor-accordion .elementor-tab-title .elementor-accordion-icon .elementor-accordion-icon-opened {
    line-height: inherit;
}
.elementor-accordion .elementor-tab-title .elementor-accordion-icon.elementor-accordion-icon-right {
    order: 2;
    text-align: right;
    margin-inline-start: auto;
}
.elementor-accordion .elementor-tab-title .elementor-accordion-title {
    display: block;
    flex: 1 1 auto;
    min-width: 0;
}
