/*
Theme Name: The Resort At Summerlin
Description: 
Version: 1.2.4
Requires at least: 5.0
Tested up to: 6.1
Requires PHP: 5.2
License: GNU General Public License v3 or later
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Text Domain: trs
Tags: one-column, two-columns, three-columns, left-sidebar, right-sidebar, custom-background, custom-logo, custom-menu, featured-images, footer-widgets, full-width-template, theme-options, translation-ready, block-styles, wide-blocks, editor-style, threaded-comments, accessibility-ready


*/


.container-fixed {max-width:1400px;margin:0 auto;    padding: 10px;}

#blocks > div {
   
    padding: 30px 20px 30px 20px;
}

.bg-block-terracotta {
    background: #aa4828;
    padding: 30px 0 !important;
    margin: 0px 0;
    color:#ffffff;
}

.bg-block-green {
    background: #809563;
    padding: 30px 0 ;
    margin: 0px 0;
    color:#ffffff;
}

.bg-block-lightgray {
    background: #f5f5f5;
    padding: 60px 0 !important;
    margin: 0px 0;
}


.bg-block-green_homespa { padding: 0 !important;  background: #809563; margin: 0px 0;
    color:#ffffff;}


.bg-block-green_homespa .container-fluid{
    --bs-gutter-x: 0 !important; }
.bg-block-blue {
    background: #353994;
    padding: 30px 0 !important;
    margin: 0px 0;
      color:#ffffff;
}

.bg-block-beige {
    background: #f6eade;
    padding: 30px 0 !important;
    margin: 0px 0;
  
}

.intro h1 {        font-size: 2rem;}
.dining h2 {color:#809563}
.dining a {color:#000000}
.red {background-color: #aa4828 !important;}
.green {    background-color: #809563 !important;}
.blue {background-color:#353994 !important;}
.bg-block-blue h2, .bg-block-blue h3, .bg-block-terracotta h1, .bg-block-terracotta h2, .bg-block-terracotta h3, .bg-block-green h2, .bg-block-green h3, .bg-block-red h2, .bg-block-red h3, .bg-block-green_homespa h3 {color:#ffffff}
.openred {border:2px solid #aa4828 !important; border-radius:10px !important; color:#aa4828 !important;}
.opengreen {border:2px solid #809563 !important; border-radius:10px !important; color:#809563 !important;}
.bg-block-green .btn,  .bg-block-red .btn, .bg-block-green_homespa .btn, .white {border:2px solid #ffffff !important; border-radius:10px !important; color:#ffffff !important;}
.bg-block-terracotta a {color:#ffffff !important}
.round {border-radius:15px;}
.round h3, .round p, .bg-block-green_homespa h3, .bg-block-green_homespa p {    margin-bottom: 1.5rem;}
.round .row {padding:10px 50px;}
h4.card-title {color:#aa4828;    font-family: figtree, sans-serif !important;}
.dining-card {position: relative;}
.dining-card .box-image {    position: relative;
    z-index: 1;height: 450px;}
.dining-card img {border-radius: 10px;width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;}
.dining-card .content {position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 3;
    display: flex;
    padding: 40px;
    flex-direction: column;
    justify-content: end;
color:#ffffff}

.dining-card .box-image:before {
    z-index: 1;
    opacity: 0.9;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 66.74%, #000000 100%);
    width: 100%;
    display: flex;
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    border-radius: 10px;
    -ms-transition: all 0.4s ease-out;
    -o-transition: all 0.4s ease-out;
    -moz-transition: all 0.4s ease-out;
    -webkit-transition: all 0.4s ease-out;
    transition: all 0.4s ease-out;
    height:100%
}
.dining-card h4 {color:#ffffff}
.gamingbtns .col-md {
    position: relative;
}

.gamingbtns .col-md img {
    width: 100%;
    display: block;
    border-radius:10px
}

.gamingbtns .col-md p {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin: 0;
    color: white; /* adjust as needed */
    text-align: center;
    font-weight: bold; /* optional */
        font-size: 1.3rem;
    line-height: 1.2;
    text-shadow: 2px 2px #000;
}

nav,
.menu,
#primary-menu,
.navbar {
    position: relative;
    z-index: 100;
}




.slider img.attachment-full {width:100%}
.maxmenu {width:100%}



/* Regular slider */
.slider {
    position: relative;    
    z-index: 1;
       overflow: hidden;
    margin-top: -180px;
}
.metaslider.metaslider-60 {
    margin-bottom: 0 !important
}

#home > .row {margin:0 0 30px}

#mega-menu-wrap-primary {
    clear: none;
    position: relative;
    width: 100%;
    z-index: 100;
     background: #000000;
    background: linear-gradient(180deg, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0.8) 65%, rgba(0, 0, 0, 0) 100%);
}
#mega-menu-wrap-primary li.mega-menu-item img.mega-menu-logo {
    margin-bottom: 10px;
        padding-left: 20px;
   
}
.metaslider .flexslider {border: 0 !important}
.btn {    margin-top: 20px;}

.builder img {border-radius:6px}
.wp-image a {
  display: inline-block;
  overflow: hidden;
  border-radius: 6px;
}

a img.wp-image{
  display: block;
  border-radius: 6px;
  transition: transform 0.3s ease;
}
.appdownload {background:#aa4828;border-radius:15px;z-index: 1;
    position: relative;color:#ffffff;}
.appdownload > .row {padding:30px 30px 0;}
.appdownload .pd {
    padding-bottom: 50px; /* adjust value as needed */
}
.appdownload h3 {color:#ffffff}

.footer-top {background:#1e1e1e;color:#ffffff;width:100%;   margin-top: -120px;display: flex;
   flex-direction: column;
  
    padding-top: 180px;padding-bottom:60px}
.footer-top a {color:#ffffff;text-decoration:none;}
.footer-top h4 {margin-bottom:20px;color: #ffffff;}
.footer-top ul {list-style: none;}
.footer-top li {margin-bottom:10px}
#wrapper-footer {background:#000000;color:#ffffff;font-size:12px;text-align:center;padding:20px 15px}

.action-bar {background:#d6b99d;padding:30px 0}
.items-center {
    align-items: center;
}

.flex {
    display: flex;
}

.gap-30 {
    gap: 30px;
}
.action-bar__content h6 {
    text-transform: uppercase;
    font-family:figtree, sans-serif !important;
    font-size: max(1.1111111111vw, 16px);color: #000000;
}
.action-bar .col-lg-3:nth-of-type(2) > .flex,
.action-bar .col-lg-3:nth-of-type(3) > .flex {
  justify-content: center;
}
.action-bar .col-lg-3:nth-of-type(4) > .flex {
  justify-content: flex-end;
}
.action-bar .col-lg-3:nth-of-type(2),
.action-bar .col-lg-3:nth-of-type(3) {
  position: relative;
}
.action-bar .col-lg-3:nth-of-type(2)::after {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  width: 2px;
  background: #fff;
}
.action-bar .col-lg-3:nth-of-type(2)::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 2px;
  background: #fff;
}

.action-bar .col-lg-3:nth-of-type(3)::after {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  width: 2px;
  background: #fff;
}
.classic__link {
    font-size: 14px;
    font-weight: 500;
    color: #000;
    display: block;
    line-height: 20px;
    text-decoration: none;
}

@media only screen and (max-width: 991px) {
      .action-bar__item.flex,
  .action-bar .col-lg-3:nth-of-type(4) > .flex {
    justify-content: center;
    margin-bottom: 45px;
  }
  .action-bar {
    padding-top: 55px;
    padding-bottom: 20px;
  }
  .action-bar .col-lg-3:nth-of-type(2)::before,
  .action-bar .col-lg-3:nth-of-type(2)::after,
  .action-bar .col-lg-3:nth-of-type(3)::after {
    content: unset;
  }
}

@media only screen and (max-width: 575px) {
     .action-bar__item.flex,
  .action-bar .col-lg-3:nth-of-type(4) > .flex {
    padding-left: 40px;
    justify-content: flex-start;
  }
  .three-list {
    margin-top: 20px;
  }
  .action-bar .col-lg-3:nth-of-type(2) > .flex,
  .action-bar .col-lg-3:nth-of-type(3) > .flex {
    justify-content: flex-start;
    padding-left: 40px;
  }
}


.topbar {background:#353994;text-align:right;    position: relative;
    z-index: 100;}
.topbar a{ color:#ffffff;text-decoration:none;}
.topbar .col-auto {position:relative;}
.topbar .col-auto:not(:last-child)::after {
    content: '';
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    height: 100%;
    width: 1px;
    background-color: white;
}
.topbar .login{padding:5px;margin:0 auto;    text-align: center;
    font-size: 18px;
    font-weight: bold;}
.topbar a:hover {color:#fff300}


/*promo slider*/
.swiper {
    padding: 40px 0;
    overflow: visible;

}

.swiper-wrapper {
    align-items: stretch;
}



.myCarousel .swiper-slide {
    transition: all 0.3s ease;
    opacity: 0.5;
   /* transform: scale(0.85) translateZ(0) !important;*/
   height: var(--bs-card-height) !important;
    display: flex;
}

.myCarousel .swiper-slide-active {
 /*transform: scale(1.15) translateZ(0) !important; */
    opacity: 1;
    z-index: 2;
}


.myCarousel .carousel-navigation {
    display: flex;
    justify-content: center;
    gap: 15px;
    padding-bottom: 15px;
}

.myCarousel .swiper-slide > a {
    display: flex;
    width: 100%;
}

.myCarousel h4 {   font-family:figtree, sans-serif !important;font-size: 1.3rem;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    color: #000000 !important;font-weight: bold;}

.myCarousel .swiper-slide .card {
    height: 100%;
   flex: 1;
    display: flex;
    flex-direction: column;
}
.myCarousel .card-body {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding:20px
}

.myCarousel a {text-decoration:none;text-align:left; }   
    .myCarousel    .card-text {
            font-size: 16px;
            color: #353994 !important;
            text-transform: uppercase;
                      font-weight:bold;
        }
.myCarousel .card-text a{color:#353994;}

/* Navigation arrows */

.myCarousel .slider-navigation {
  margin-top: 40px;
  display: flex;
  justify-content: center;
  gap: 20px;
    padding-bottom: 15px;
}

.myCarousel .swiper-button-prev,
.myCarousel .swiper-button-next {
  position: static; /* IMPORTANT — overrides Swiper absolute positioning */
  width: 44px;
  height: 44px;
  background: #fff;
  border-radius: 50%;
  box-shadow: 0 2px 8px rgba(0,0,0,0.15);
  color: #353994;
}

.myCarousel .swiper-button-prev::after,
.myCarousel .swiper-button-next::after {
  font-size: 18px;
  font-weight: bold;
}

     
.slide-card {
            background: white;
            border-radius: 12px;
            overflow: hidden;
            box-shadow: 0 4px 12px rgba(0,0,0,0.1);
            transition: all 0.3s ease;
        }

.jkpt .swiper-container{position: relative;
    padding: 0 60px;
      max-width: 1450px;
    margin: 20px auto 20px;}
.jkpt .swiper-button-prev, .jkpt .swiper-button-next {
 width: 44px;
  height: 44px;
  background: #353994;
  border-radius: 50%;
  box-shadow: 0 2px 8px rgba(0,0,0,0.15);
  color: #fff;
}

.jkpt  .swiper-button-prev::after,
.jkpt  .swiper-button-next::after {
  font-size: 18px;
  font-weight: bold;
}

.jkpt .swiper-button-prev {
    left: 0 !important;
   
}
.jkpt .swiper-button-next {
    right: 0 !important;
 
}
.jackpotwinners img {border-radius:10px}

#metaslider-id-155 img {border-radius:10px}
@media only screen and (max-width: 767.98px) {
   #mega-menu-wrap-primary { position: relative; }
    
    .slider {
    margin-top: 0;
   
  }

  .topbar { text-align: left; }

  /* Two-column grid for cards on mobile */
  .row.row-cols-1.row-cols-md-3,
  .row.row-cols-1.row-cols-md-4 {
    display: grid;
    grid-template-columns: repeat(1, minmax(250px, 1fr));
    gap: 12px;
  }
  
  /* Compact card styling for mobile */
  .row.row-cols-1 .card {
    
    min-width: 250px;
  }
  
  .row.row-cols-1 .card-title {
  
    padding: 8px 0;
    line-height: 1.2;
  }
  
  .row.row-cols-1 .card-body {
    padding: 10px;
  }
  
  .row.row-cols-1 .card-text {
    
    margin-bottom: 8px;
    /* Limit to 3 lines with ellipsis */
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  
  .row.row-cols-1 .card-footer {
    padding: 8px 10px;
  }
  
  /* Smaller, more compact buttons on mobile cards */
  .row.row-cols-1 .card .btn {
    font-size: 0.7rem !important;
    padding: 6px 12px !important;
    margin: 0;
  }
  
  /* Image aspect ratio for consistency */
  .row.row-cols-1 .card-img-top {
    aspect-ratio: 4/3;
    object-fit: cover;
  }
  
  /* For subpages_cards with single-horizontal layout - stack on mobile */
  .row.g-4 .col-12 .card .row.g-0 {
    flex-direction: column;
  }
  
  .row.g-4 .col-12 .card .row.g-0 .col-md-4,
  .row.g-4 .col-12 .card .row.g-0 .col-md-8 {
    max-width: 100%;
  }
  .appdownload > .row {
    padding: 30px 15px 0;
}
    
    .footer-top {text-align:center;}
 #mega-menu-wrap-social #mega-menu-social {
     justify-content: center;}
    .footer-top ul {padding-left:0}
    
    .footer-top img {max-width:80%}
}

/* Landscape phone / small tablet (768px - 991px) */
@media only screen and (min-width: 768px) and (max-width: 991.98px) {
  
  /* Three-column grid for horizontal phones/tablets */
  .row.row-cols-1.row-cols-md-3,
  .row.row-cols-1.row-cols-md-4 {
    display: grid;
    grid-template-columns: repeat(3, minmax(200px, 1fr));
    gap: 15px;
  }
  
  /* Slightly larger than mobile but still compact */
  .row.row-cols-1 .card {
    font-size: 0.9rem;
    min-width: 200px;
  }
  
  .row.row-cols-1 .card-title {
    font-size: 1.05rem;
    padding: 10px 0;
  }
  
  .row.row-cols-1 .card-body {
    padding: 12px;
  }
  
  .row.row-cols-1 .card-text {
    font-size: 0.8rem;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  
  .row.row-cols-1 .card-footer {
    padding: 10px 12px;
  }
  
  .row.row-cols-1 .card .btn {
    font-size: 0.75rem !important;
    padding: 8px 14px !important;
  }
    .gamingbtns .col-md p {     font-size: 1rem; }
   .gamingbtns .row {
       --bs-gutter-x: 1rem; }
  
}

/* WordPress Blockquote Styling */
blockquote {
    border-left: 1px solid #cccccc;
   /* border-radius: 8px;*/
    padding: 20px;
    margin: 20px 0;
    /*background-color: #f9f9f9;  Optional: subtle background */
}

/* Optional: Style for blockquote footer if you use it */
blockquote footer {
    margin-top: 10px;
    font-size: 0.9em;
    color: #666;
}

.blockquote, .wp-block-quote {
    font-size: inherit !important;
}

blockquote {
    font-size: inherit !important;
}

/* Wisywig Format Frame Styling */
.frame {
    border: 1px solid #cccccc;
    border-radius: 6px;
    padding: 5px;
    background-color: transparent;
    font-style: inherit;
    font-size: inherit;
    font-weight: inherit;
    display: block;
    margin: 10px;
}

.instagram {text-align:center}

.bingo_times th, td {
    padding: .9em;
    text-align: left;
    vertical-align: top;
    
}

.bingo_times  td {  border: 1px solid #808080 !important;font-size: 1.1rem;}

#mega-menu-wrap-primary .mega-menu-toggle {

        padding-right: 20px;
    }

@media screen and (max-width: 600px) {
.bingo_times table {
	width: 80%;
}
    
    .bingo_times th, td {
    padding: .5em;
   
    
}
.bingo_times table th {
	display: none;
}
.bingo_times table tr {
	margin-bottom: 10px;
	display: block;
}
 .bingo_times table td {
	display: block;
	text-align: right;
}
.bingo_times table td:last-child {
}
.bingo_times table td:before {
	content: attr(data-label);
	float: left;
	text-transform: uppercase;
	font-weight: bold;
}
}

.jkptwin {margin-top:20px !important}
.metaslider.ms-theme-clarity .flexslider {
    margin-bottom: 0 !important;
}

.three-column-list {
  -moz-column-count: 3;
        -moz-column-gap: 25px;
        -webkit-column-count: 3;
        -webkit-column-gap: 25px;
        column-count: 3;
        column-gap: 25px;
}

.hosts {margin-bottom:30px}
.hosts .row {margin-top:25px}

.textwidget a {color: #aa4828;font-weight:bold}

#metaslider_393 .caption-wrap, #metaslider_393  .flex-control-nav{display:none;}

#mega-menu-wrap-primary.mega-sticky {
    
    background: #000000;
}

.mega-sub-menu img, .bg-block-blue img {border-radius:10px}

.single {margin-bottom:10px} .single .btn {
    margin-top: 5px;}

.entry-meta {margin:5px 0}

nav.post-navigation {margin:20px 0}

.entry-title a {text-decoration:none}

/* ========================================
   TRIBE EVENTS PHOTO VIEW - BOOTSTRAP CARD STYLING V2
   Add this to your theme's CSS file
   ======================================== */
/* Remove Tribe's container restrictions and set proper max-width */
.tribe-events-pro-photo {
  max-width: 1400px !important;
  margin: 0 auto !important;
  padding: 0 15px !important;
}
/* Override Tribe's container class */
.tribe-events-l-container {
  max-width: 1400px !important;
}
/* Make the grid responsive like Bootstrap row-cols */
.tribe-events-pro-photo .tribe-common-g-row {
  display: grid !important;
  grid-template-columns: repeat(1, 1fr) !important;
  gap: 1.5rem !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
  width: 100% !important;
}
/* Small tablets and up - 2 columns */
@media (min-width: 576px) {
  .tribe-events-pro-photo .tribe-common-g-row {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
/* Large tablets - 3 columns */
@media (min-width: 992px) {
  .tribe-events-pro-photo .tribe-common-g-row {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}
/* Desktop - 4 columns */
@media (min-width: 1200px) {
  .tribe-events-pro-photo .tribe-common-g-row {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}
/* Individual event item - reset default styles */
.tribe-events-pro-photo__event {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  width: 100% !important;
}
/* The article wrapper - Bootstrap card */
.tribe-events-pro-photo__event article {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  border: 1px solid #dee2e6 !important;
  border-radius: 0.25rem !important;
  background: #fff !important;
  overflow: hidden !important;
  transition: box-shadow 0.3s ease !important;
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
}
/* List card - row layout */
.tribe-events-calendar-list__event {
  border: 1px solid #dee2e6 !important;
  border-radius: 0.25rem !important;
  background: #fff !important;
  overflow: hidden !important;
  transition: box-shadow 0.3s ease !important;
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
}
.tribe-events-calendar-list__event-featured-image-wrapper a {
  display: block;
}
.tribe-events-pro-photo__event article:hover, .tribe-events-calendar-list__event:hover {
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
}
/* Featured image - card-img-top */
.tribe-events-pro-photo__event-featured-image, .tribe-events-calendar-list__event-featured-image-wrapper {
  margin: 0 !important;
  padding: 0 !important;
}
.tribe-events-pro-photo__event-featured-image img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
  object-fit: cover !important;
}
.tribe-events-pro-photo__event-featured-image a {
  display: block !important;
  line-height: 0 !important;
}
/* Event details wrapper - card-body equivalent */
.tribe-events-pro-photo__event-details-wrapper {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
  padding: 1.25rem !important;
}
/* Event details section */
.tribe-events-pro-photo__event-details {
  flex: 1 !important;
}
/* Event title - card-title */
.tribe-events-pro-photo__event-title {
  margin: 0 0 0.75rem 0 !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}
.tribe-events-pro-photo__event-title a {
  color: inherit !important;
  text-decoration: none !important;
}
.tribe-events-pro-photo__event-title a:hover {
  text-decoration: underline !important;
}
/* Date and time */
.tribe-events-pro-photo__event-datetime {
  margin-bottom: 1rem !important;
  color: #12214f !important;
  font-size: .9rem !important;
}
/* Cost */
.tribe-events-pro-photo__event-cost {
  margin-top: 0.5rem !important;
  font-weight: 600 !important;
}
/* Card footer styling - for custom action buttons */
.tribe-events-pro-photo__event-actions {
  margin-top: auto !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.5rem !important;
}
/* Style the custom buttons */
.tribe-events-pro-photo__event-actions .btn {
  display: inline-block !important;
  padding: 0.375rem 0.75rem !important;
  border-radius: 0.25rem !important;
  text-decoration: none !important;
  font-weight: 400 !important;
  text-align: center !important;
  vertical-align: middle !important;
  cursor: pointer !important;
  border: 1px solid transparent !important;
  transition: all 0.15s ease-in-out !important;
  white-space: nowrap !important;
  font-size: 0.9rem !important;color:#ffffff !important;
}
/* Remove default Tribe Events styling that might conflict */
.tribe-events-pro-photo__event-featured-image-link {
  border: none !important;
}
/* Featured events - add a special style if needed */
.tribe-events-pro-photo__event--featured article {
  border-color: #ffc107 !important;
  box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.25) !important;
}
/* Responsive adjustments for smaller screens */
@media (max-width: 767px) {
  .tribe-events-pro-photo__event-details-wrapper {
    padding: 1rem !important;
  }
  .tribe-events-pro-photo__event-title {
    font-size: 1.1rem !important;
  }
  .tribe-events-pro-photo__event-actions .btn {
    font-size: 0.85rem !important;
    padding: 0.3rem 0.6rem !important;
  }
}

.tribe-events-widget .tribe-events-widget-events-list__view-more {
  display: none !important;
}

.tribe-events-pro-photo__event-actions a {color:#ffffff}

.tribe-common--breakpoint-medium.tribe-events .tribe-events-l-container {
    min-height: 700px;
    padding-bottom: var(--tec-spacer-4) !important;
    padding-top: var(--tec-spacer-3) !important;
}

.tribe-events-pro .tribe-events-pro-photo__event-details .tribe-events-pro-photo__event-title {
      order: 1 !important;
  font-family:figtree, sans-serif !important;
}


 /* ─── Widget Shell ─────────────────────────────────────── */
    .booking-widget {
      display: flex;
      align-items: stretch;
      background: #ffffff;
      overflow: hidden;
      box-shadow: 0 20px 60px rgba(13,31,45,0.35);
      width: 100%;
      max-width: 820px;
            margin-top: 20px;
    }

    /* ─── Panels ───────────────────────────────────────────── */
    .booking-panel {
      flex: 1;
      padding: 1.4rem 2rem 1.6rem;
      border-right: 1px solid #809563;
      cursor: pointer;
      transition: background 0.2s;

}

.booking-panel {
    position: relative;
    overflow: visible; /* allow calendar to escape the panel */
}

.booking-widget {
    overflow: visible; /* allow calendar to escape the widget too */
}

.booking-panel .flatpickr-calendar {
    top: 100% !important;
    left: 0 !important;
    margin-top: 4px;
    z-index: 9999 !important;
}
    .booking-panel:last-of-type {
      border-right: none;
    }

    /* ─── Label ────────────────────────────────────────────── */
    .panel-label {
      font-size: 0.6rem;
      font-weight: 700;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: #787878;
      margin-bottom: 0.55rem;
    }

    /* ─── Value ────────────────────────────────────────────── */
    .panel-value {
      display: flex;
      align-items: baseline;
      gap: 0.35rem;
    }

    .panel-day {
      font-size: 2.4rem;
      font-weight: 600;
      color: #787878;
      line-height: 1;
    }

    .panel-month {
      font-size: 0.7rem;
      font-weight: 600;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      color: #787878;
      padding-bottom: 4px;
    }

    /* ─── Guests ───────────────────────────────────────────── */
    .guests-controls {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
    }

    .guest-count-row {
      display: flex;
      align-items: center;
      gap: 0.75rem;
      margin-top: 0.1rem;
    }

    .guest-number {
       font-size: 2.4rem;
      font-weight: 600;
      color: #787878;
      line-height: 1;
      min-width: 1.8rem;
      text-align: center;
    }

    .guest-btn-col {
      display: flex;
      flex-direction: column;
      gap: 3px;
    }

    .guest-btn {
      background: none;
      border: none;
      color: #787878;
      padding: 0;
      line-height: 1;
      cursor: pointer;
      font-size: 0.65rem;
      transition: color 0.15s;
    }

    .guest-btn:hover { color: #aa4828; }

    /* ─── CTA Button ───────────────────────────────────────── */
    .booking-cta {
      background: #809563;
      border: none;
      padding: 1.4rem 2.2rem;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      transition: background 0.2s;
      flex-shrink: 0;
    }

    .booking-cta:hover {
      background: #aa4828;
    }

    .booking-cta:hover .cta-text {
      color: #ffffff;
    }

    .cta-text {
      font-size: 0.65rem;
      font-weight: 700;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: #ffffff;
      text-align: center;
      line-height: 1.6;
      transition: color 0.2s;
      white-space: nowrap;
    }

    /* ─── Hidden inputs for flatpickr ─────────────────────── */
    .flatpickr-input { display: none !important; }

/* ─── Responsive ───────────────────────────────────────── */
    @media (max-width: 600px) {
      .booking-widget { flex-direction: column; }
      .booking-panel { border-right: none; border-bottom: 1px solid var(--border); }
      .booking-cta { padding: 1.4rem; }
        
        .gamingbtns .col-md p {     font-size: 2rem; }
   .gamingbtns .row > .col-md {
       --bs-gutter-y: 1.5rem; }
        .gamingbtns {padding:0 1.5rem}
    }

h3.venue {display:none;}
#dining h3.venue {display:block;}
#tribe-virtual-events, #event_tribe_organizer, #event_url, #event_cost {display:none !important}

.stretch {width:100% !important}

.single-tribe_events .tribe-events-c-subscribe-dropdown__container {
    display: none !important;
}
#tribe-events-pg-template {    max-width: 1300px;}

.tribe-events-event-image img {border-radius:10px !important}

.tribe-events-related-events-title, .tribe-related-events {
    order: 1;
}
h4.card-title a {text-decoration:none; font-weight:700}
h1.tribe-events-single-event-title {margin-bottom:15px;}

#promomenu a {color:#809563 !important;}
#promomenu .tribe-events-widget {    margin-bottom: 0 !important;}
#promomenu .tribe-events-widget-events-list__view-more, #promomenu .tribe-events-widget-events-list__event-row--featured {display:none !important}

.tribe-events-pro-photo__event--featured article {
    border-color: #dee2e6 !important;
    box-shadow:  0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;;
}

.testimonial-blockquote {
    margin: 0;
    padding: 2rem;
    text-align: center;
}

.testimonial-blockquote blockquote {
    position: relative;
    font-size: 1.1rem;
    line-height: 1.7;
    font-style: italic;
    margin: 0 0 1.25rem 0;
    padding: 0 1.5rem;
     border-left: none;
}

/* Optional decorative quotation marks */
.testimonial-blockquote blockquote::before {
    content: '\201C';
    font-size: 4rem;
    line-height: 0;
    vertical-align: -1.5rem;
    color: #ccc;
    margin-right: 0.25rem;
}

.testimonial-blockquote figcaption.testimonial-title {
    font-weight: 600;
    font-size: 0.95rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #fff;
}

.testimonial-blockquote figcaption.testimonial-title::before {
    content: '— ';
}
/* Active pagination bullet */
#testslider .swiper-pagination-bullet-active {
    background: #ffffff !important;
}

/* Inactive bullets (optional, for contrast) */
#testslider  .swiper-pagination-bullet {
    background: rgba(255, 255, 255, 0.5);
}

/* Navigation arrows */
#testslider .swiper-button-next,
#testslider  .swiper-button-prev {
    color: #ffffff  !important;}

li.#mega-menu-item-text-4, li.#mega-menu-item-tribe-widget-events-list-2 { padding: 0 15px; }

#mega-menu-50-0-1 #mega-menu-wrap-primary #mega-menu-primary li.mega-menu-grid > ul.mega-sub-menu > li.mega-menu-row > ul.mega-sub-menu > .mega-menu-column > ul.mega-sub-menu > li.mega-menu-item, #mega-menu-48-0-4 #mega-menu-wrap-primary #mega-menu-primary li.mega-menu-grid > ul.mega-sub-menu > li.mega-menu-row > ul.mega-sub-menu > .mega-menu-column > ul.mega-sub-menu > li.mega-menu-item{
    padding: 0 15px;

}

.tribe-events-widget .tribe-events-widget-events-list__event-row:last-child {
margin-bottom: var(--tec-spacer-3) !important;
}

.tribe-events-widget-events-list__event-row--featured .tribe-events-widget-events-list__event-title  {display:none;}


.image-caption-wrapper {
    position: relative;
    overflow: hidden;
    display: inline-block;
    width: 100%;
}

.image-caption-wrapper img {
    display: block;
    width: 100%;
    transition: opacity 0.3s ease;
}

.caption-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    background: rgba(0, 0, 0, 0.6);
    color: #fff;
    padding: 10px;
    text-align: center;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.caption-overlay p {
    margin: 0;
    font-size: 16px;
        padding: 15px 0;
}

/* Show caption on hover */
.image-caption-wrapper:hover .caption-overlay {
    opacity: 1;
}

/* Optional: slightly dim the image on hover */
.image-caption-wrapper:hover img {
    opacity: 0.85;
}

#mega-menu-wrap-primary #mega-menu-primary li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item h4.mega-block-title {display:none;}