@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Figtree:wght@400;600;700;800&display=swap");
.dropdown-menu > .current-menu-item > .dropdown-item {
  text-decoration: underline;
  text-underline-offset: 0.2em;
  text-decoration-thickness: 2px;
  /* Or use border-bottom for a thicker underline: */
  /* border-bottom: 2px solid var(--color-primary); */
}

/**



     __    __     _                              
    / / /\ \ \___| |__  ___  ___ __ _ _ __   ___ 
    \ \/  \/ / _ \ '_ \/ __|/ __/ _` | '_ \ / _ \
     \  /\  /  __/ |_) \__ \ (_| (_| | |_) |  __/
      \/  \/ \___|_.__/|___/\___\__,_| .__/ \___|
         Website by Webscape.co.nz |_|    







Main stylesheet for Court Theatre theme
The main.scss file should be used. Never edit the main.css file directly.
*/
/* Google Fonts */
i.material-icons,
span.material-icons {
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
}

.btn {
  padding: 9px 20px;
  border-radius: 0px;
  font-weight: 700;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
}
.btn i,
.btn span {
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
}
.btn.btn-primary {
  background-color: var(--color-cherry-400);
  border-color: var(--color-cherry-400);
}
.btn.btn-primary:hover {
  background-color: var(--color-cherry-500);
  border-color: var(--color-cherry-500);
}
.btn.btn-secondary {
  background: none;
  border: none;
  border-bottom: 4px solid var(--color-plum-300);
  color: var(--color-neutral-900);
}
.btn.btn-secondary:hover {
  background: var(--color-plum-300);
  border-color: var(--color-plum-400);
}
.btn.btn-link {
  color: var(--color-neutral-900);
}
.btn.btn-sage {
  background-color: var(--color-sage-400);
  border-color: var(--color-sage-400);
  color: var(--color-neutral-900);
}
.btn.btn-sage:hover {
  background-color: var(--color-sage-500);
  border-color: var(--color-sage-500);
}

/* Resource Downloads Section */
.resource-downloads-section .resource-downloads-list .resource-download-item {
  padding: 2rem 0;
  border-bottom: 1px solid var(--color-neutral-200);
}
.resource-downloads-section .resource-downloads-list .resource-download-item .row {
  --bs-gutter-x: 3rem;
}
.resource-downloads-section .resource-downloads-list .resource-download-item:last-child {
  border-bottom: none;
}
.resource-downloads-section .resource-downloads-list .resource-download-item .resource-image .resource-thumbnail {
  width: 154px;
  height: 96px;
  -o-object-fit: cover;
     object-fit: cover;
}
.resource-downloads-section .resource-downloads-list .resource-download-item .resource-description {
  color: var(--color-neutral-700);
  line-height: var(--line-height-relaxed);
  font-size: 18px;
}
.resource-downloads-section .resource-downloads-list .resource-download-item .resource-downloads {
  min-width: 150px;
}
.resource-downloads-section .resource-downloads-list .resource-download-item h3 {
  color: var(--color-cherry-400);
  margin-bottom: 0.5rem;
  text-decoration: underline;
  font-size: 26px;
}
@media (max-width: 767.98px) {
  .resource-downloads-section .resource-downloads-list .resource-download-item {
    padding: 1.5rem 0;
  }
  .resource-downloads-section .resource-downloads-list .resource-download-item .row {
    --bs-gutter-x: 1.5rem;
  }
  .resource-downloads-section .resource-downloads-list .resource-download-item .resource-image {
    margin-bottom: 1rem;
  }
  .resource-downloads-section .resource-downloads-list .resource-download-item .resource-image .resource-thumbnail {
    max-width: 200px;
    height: auto;
  }
  .resource-downloads-section .resource-downloads-list .resource-download-item .resource-downloads {
    min-width: auto;
    margin-top: 1rem;
  }
  .resource-downloads-section .resource-downloads-list .resource-download-item h3 {
    font-size: 22px;
    margin-bottom: 1rem;
  }
  .resource-downloads-section .resource-downloads-list .resource-download-item .resource-description {
    font-size: 16px;
    margin-bottom: 1rem;
  }
}

.navbar-nav > li.dropdown > a.nav-link.dropdown-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}

.navbar-nav .dropdown-toggle::after {
  display: none !important;
}

.navbar-nav .menu-caret {
  font-size: 1.1rem;
  line-height: 1;
  transition: transform 0.25s ease;
  margin-left: 0.25rem;
  display: none;
}

@media (max-width: 991.98px) {
  .mobile-menu-content .navbar-nav .menu-caret {
    margin-left: auto;
  }
}
/* Mobile navigation dropdown adjustments */
@media (max-width: 991.98px) {
  .site-header .mobile-menu-content .navbar-nav .dropdown-menu {
    position: static !important;
    transform: none !important;
    inset: auto !important;
    float: none;
    display: none; /* hidden until .show added */
    width: 100%;
    margin: 0;
    padding: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
  }
  .site-header .mobile-menu-content .navbar-nav .dropdown-menu.show {
    display: block;
  }
  .site-header .mobile-menu-content .navbar-nav > .dropdown > .nav-link.dropdown-toggle {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 1rem 0;
    position: relative;
  }
  .site-header .mobile-menu-content .navbar-nav > .dropdown > .nav-link.dropdown-toggle:after {
    display: none;
  }
  .site-header .mobile-menu-content .navbar-nav .dropdown-menu > li > a {
    padding: 0.75rem 0;
    display: block;
    border-bottom: 1px solid #333;
    color: #fff;
    font-size: 0.95rem;
  }
  .site-header .mobile-menu-content .navbar-nav .dropdown-menu > li:last-child > a {
    border-bottom: 0;
  }
}
/* Downloads Section */
.downloads-block .downloads-list .download-item {
  padding: 1.5rem 0;
  border-bottom: 1px solid var(--color-neutral-200);
}
.downloads-block .downloads-list .download-item:last-child {
  border-bottom: none;
}
.downloads-block .downloads-list .download-item .download-icon {
  text-align: center;
}
.downloads-block .downloads-list .download-item .download-icon .material-icons {
  font-size: 3rem;
  line-height: 1;
}
.downloads-block .downloads-list .download-item .download-title {
  color: var(--color-cherry-400);
  text-decoration: none;
  font-weight: var(--font-weight-semibold);
}
.downloads-block .downloads-list .download-item .download-title:hover {
  color: var(--color-cherry-300);
  text-decoration: underline;
}
.downloads-block .downloads-list .download-item .download-meta {
  font-size: 0.875rem;
  color: var(--color-neutral-600);
}

/* Header & Navigation */
.site-header {
  background: white;
  padding: 0;
  border-bottom: 1px solid #e0e0e0;
  /* Desktop styles */
  /* Adjust mobile menu / header when WP admin bar is visible */
}
@media (min-width: 992px) {
  .site-header {
    padding: 1rem 0;
  }
  .site-header .site-header-inner {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
  }
  .site-header .site-header-inner .site-header-left {
    display: flex;
    align-items: flex-start;
  }
  .site-header .site-header-inner .site-header-left .logo img {
    height: 60px;
    filter: none;
  }
  .site-header .site-header-inner .site-header-right {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 1rem;
  }
  .site-header .site-header-inner .site-header-right .utility-menu .utility-nav .menu {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 2rem;
  }
  .site-header .site-header-inner .site-header-right .utility-menu .utility-nav .menu .menu-item a {
    color: #333;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.9rem;
    font-weight: var(--font-weight-normal);
  }
  .site-header .site-header-inner .site-header-right .utility-menu .utility-nav .menu .menu-item a .material-icons {
    font-size: 1.25rem;
  }
  .site-header .site-header-inner .site-header-right .utility-menu .utility-nav .menu .menu-item a:hover {
    color: var(--color-primary);
  }
  .site-header .site-header-inner .site-header-right .main-nav {
    /* Desktop dropdown styles */
    /* Right-align dropdowns for last few nav items to prevent overflow */
  }
  .site-header .site-header-inner .site-header-right .main-nav .navbar-nav {
    display: flex;
    flex-direction: row;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 2rem;
    align-items: center;
  }
  .site-header .site-header-inner .site-header-right .main-nav .navbar-nav li.current-menu-item .nav-link {
    border-bottom: 2px solid var(--color-primary);
  }
  .site-header .site-header-inner .site-header-right .main-nav .navbar-nav .nav-item .nav-link {
    color: #333;
    text-decoration: none;
    font-size: 20px;
    font-weight: var(--font-weight-semibold);
    white-space: nowrap;
  }
  .site-header .site-header-inner .site-header-right .main-nav .navbar-nav .nav-item .nav-link:hover {
    color: var(--color-primary);
  }
  .site-header .site-header-inner .site-header-right .main-nav .dropdown {
    position: relative;
    /* Make dropdown toggle clickable to go to parent page */
  }
  .site-header .site-header-inner .site-header-right .main-nav .dropdown .dropdown-menu {
    position: absolute !important;
    top: calc(100% + 20px) !important;
    left: 0 !important;
    right: auto !important;
    transform: none !important;
    background-color: #222222;
    border: none;
    border-radius: 0;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
    padding: 30px;
    min-width: 349px;
    max-width: 349px;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s ease, visibility 0.2s ease;
    z-index: 1000;
    display: flex;
    flex-direction: column;
    gap: 30px;
  }
  .site-header .site-header-inner .site-header-right .main-nav .dropdown .dropdown-menu.show {
    opacity: 1;
    visibility: visible;
  }
  .site-header .site-header-inner .site-header-right .main-nav .dropdown .dropdown-menu .dropdown-item,
  .site-header .site-header-inner .site-header-right .main-nav .dropdown .dropdown-menu li {
    color: #f9f9f9;
    background: none;
    border: none;
    border-bottom: 1px solid #5f5f5f;
    font-size: 18px;
    font-weight: 400;
    font-family: "Figtree", sans-serif;
    text-align: left;
    transition: color 0.3s ease;
    margin: 0;
    padding: 0 0 15px 0;
    line-height: 1.4;
  }
  .site-header .site-header-inner .site-header-right .main-nav .dropdown .dropdown-menu .dropdown-item:last-child,
  .site-header .site-header-inner .site-header-right .main-nav .dropdown .dropdown-menu li:last-child {
    border-bottom: none;
  }
  .site-header .site-header-inner .site-header-right .main-nav .dropdown .dropdown-menu .dropdown-item:hover, .site-header .site-header-inner .site-header-right .main-nav .dropdown .dropdown-menu .dropdown-item:focus,
  .site-header .site-header-inner .site-header-right .main-nav .dropdown .dropdown-menu li:hover,
  .site-header .site-header-inner .site-header-right .main-nav .dropdown .dropdown-menu li:focus {
    background: none;
    color: #f9f9f9;
    text-decoration: none;
  }
  .site-header .site-header-inner .site-header-right .main-nav .dropdown .dropdown-menu .dropdown-item a,
  .site-header .site-header-inner .site-header-right .main-nav .dropdown .dropdown-menu li a {
    color: inherit;
    text-decoration: none;
    display: block;
    width: 100%;
  }
  .site-header .site-header-inner .site-header-right .main-nav .dropdown .dropdown-menu .dropdown-item a:hover,
  .site-header .site-header-inner .site-header-right .main-nav .dropdown .dropdown-menu li a:hover {
    color: inherit;
  }
  .site-header .site-header-inner .site-header-right .main-nav .dropdown:hover .dropdown-menu {
    opacity: 1;
    visibility: visible;
  }
  .site-header .site-header-inner .site-header-right .main-nav .dropdown .dropdown-toggle {
    cursor: pointer;
  }
  .site-header .site-header-inner .site-header-right .main-nav .dropdown .dropdown-toggle:hover {
    color: var(--color-primary) !important;
  }
  .site-header .site-header-inner .site-header-right .main-nav .navbar-nav > li.dropdown:last-child .dropdown-menu,
  .site-header .site-header-inner .site-header-right .main-nav .navbar-nav > li.dropdown:nth-last-child(2) .dropdown-menu,
  .site-header .site-header-inner .site-header-right .main-nav .navbar-nav > li.dropdown:nth-last-child(3) .dropdown-menu {
    left: auto !important;
    right: 0 !important;
  }
}
@media (max-width: 991px) {
  .site-header {
    background: white;
    border-bottom: 1px solid #e0e0e0;
    padding: 0px !important;
    /* Flex header bar */
    /* Ensure header container doesn't stack elements unexpectedly */
  }
  .site-header .site-header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 75px;
    padding: 0 16px;
    border-bottom: 1px solid #e0e0e0;
  }
  .site-header .site-header-inner .site-header-left {
    display: flex;
    align-items: center;
  }
  .site-header .site-header-inner .site-header-left .logo img {
    height: 36px;
    filter: none;
  }
  .site-header .site-header-inner .site-header-right {
    display: flex;
    align-items: center;
    gap: 20px;
    white-space: nowrap;
  }
  .site-header .site-header-inner .site-header-right .search-toggle {
    color: #333;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 8px;
  }
  .site-header .site-header-inner .site-header-right .search-toggle .material-icons {
    font-size: 20px;
  }
  .site-header .site-header-inner .site-header-right .navbar-toggler {
    background: none;
    border: none;
    color: #333;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0;
  }
  .site-header .site-header-inner .site-header-right .navbar-toggler .material-icons {
    font-size: 22px;
  }
  .site-header .site-header-inner .site-header-right .navbar-toggler .label {
    font-size: 0.9rem;
  }
  .site-header section.site-header .container .row .col-md-12 {
    display: block;
  }
}
@media (min-width: 992px) {
  .site-header .navbar-collapse {
    display: block !important;
    visibility: visible !important;
    height: auto !important;
  }
}
@media (max-width: 991.98px) {
  .site-header .navbar-collapse:not(.show) {
    display: none;
  }
  .site-header .navbar-collapse.show {
    display: block;
  }
}
@media (max-width: 782px) {
  .site-header body.admin-bar #primaryMenu.navbar-collapse {
    top: 46px;
  }
  .site-header body.admin-bar #primaryMenu.navbar-collapse .mobile-menu-header {
    margin-top: 0;
  }
}
@media (min-width: 783px) and (max-width: 991.98px) {
  .site-header body.admin-bar #primaryMenu.navbar-collapse {
    top: 32px;
  }
  .site-header body.admin-bar #primaryMenu.navbar-collapse .mobile-menu-header {
    margin-top: 0;
  }
}

:root {
  /* Typography */
  --font-family-primary: "Figtree", -apple-system, BlinkMacSystemFont,
    "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", sans-serif;
  --font-family-fallback: -apple-system, BlinkMacSystemFont, "Segoe UI",
    "Roboto", "Oxygen", "Ubuntu", "Cantarell", sans-serif;
  /* Font Weights */
  --font-weight-regular: 400;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --font-weight-extrabold: 800;
  /* Line Heights */
  --line-height-tight: 1.25;
  --line-height-snug: 1.375;
  --line-height-normal: 1.5;
  --line-height-relaxed: 1.625;
  --line-height-loose: 2;
  /* Primary Color */
  --color-cherry-400: #833041;
  /* Secondary Colors */
  --color-sage-400: #afd5aa;
  --color-sage-500: #8cbf8c;
  --color-plum-400: #847eb0;
  --color-yellow-400: #e8b555;
  /* Neutrals */
  --color-neutral-000: #f9f9f9;
  --color-neutral-100: #f3f3f3;
  --color-neutral-200: #ebebeb;
  --color-neutral-300: #d7d7d7;
  --color-neutral-400: #c6c6c6;
  --color-neutral-500: #aaaaaa;
  --color-neutral-600: #787878;
  --color-neutral-700: #5f5f5f;
  --color-neutral-800: #343434;
  --color-neutral-900: #222222;
  /* Tints/Shades */
  --color-cherry-300: #af4167;
  --color-cherry-500: #682533;
  --color-sage-300: #c5f0bf;
  --color-sage-600: #c5f0bf;
  --color-plum-300: #a99dc9;
  --color-plum-500: #71588c;
  /* System Colors */
  --color-success: #57a14f;
  --color-error: #af4157;
  --color-warning: #ed6f21;
  --color-info: #2962cb;
  /* Semantic Color Aliases */
  --color-primary: var(--color-cherry-400);
  --color-secondary: var(--color-sage-400);
  --color-accent: var(--color-plum-400);
  --color-highlight: var(--color-yellow-400);
  /* Text Colors */
  --color-text-primary: var(--color-neutral-900);
  --color-text-secondary: var(--color-neutral-700);
  --color-text-muted: var(--color-neutral-500);
  --color-text-light: var(--color-neutral-100);
  /* Background Colors */
  --color-background-primary: var(--color-neutral-000);
  --color-background-secondary: var(--color-neutral-100);
  --color-background-dark: var(--color-neutral-900);
  /* New Color */
  --color-burgundy: #800020;
}

html {
  font-size: 16px;
}
@media (max-width: 768px) {
  html {
    font-size: 14px;
  }
}

/* Base Typography */
body {
  font-family: var(--font-family-primary);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-normal);
  color: var(--color-text-primary);
  background-color: var(--color-background-primary);
}

/* Typography Utility Classes */
.font-regular {
  font-weight: var(--font-weight-regular);
}
.font-semibold {
  font-weight: var(--font-weight-semibold);
}
.font-bold {
  font-weight: var(--font-weight-bold);
}
.font-extrabold {
  font-weight: var(--font-weight-extrabold);
}

/* Heading Styles */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font-family-primary);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-tight);
  color: var(--color-text-primary);
  margin: 0 0 1rem 0;
}

h1 {
  font-size: 78px;
  font-weight: var(--font-weight-extrabold);
}
@media (max-width: 768px) {
  h1 {
    font-size: 68px;
  }
}
@media (max-width: 375px) {
  h1 {
    font-size: 52px;
  }
}

h2 {
  font-size: 42px;
  font-weight: var(--font-weight-bold);
}
@media screen and (max-width: 768px) {
  h2 {
    font-size: 40px;
  }
}
@media screen and (max-width: 375px) {
  h2 {
    font-size: 38px;
  }
}

h3 {
  font-size: var(32px);
  font-weight: var(--font-weight-bold);
}
@media screen and (max-width: 768px) {
  h3 {
    font-size: 30px;
  }
}
@media screen and (max-width: 375px) {
  h3 {
    font-size: 28px;
  }
}

h4 {
  font-size: 24px;
  font-weight: var(--font-weight-semibold);
}

h5 {
  font-size: 18px;
  font-weight: var(--font-weight-semibold);
}

h6 {
  font-size: 16px;
  font-weight: var(--font-weight-semibold);
}

/* Paragraph and Text Styles */
p {
  margin: 0 0 1rem 0;
  line-height: var(--line-height-relaxed);
  font-size: 20px;
}
@media (max-width: 768px) {
  p {
    font-size: 18px;
  }
}

.text-large {
  font-size: var(--font-size-lg);
}

.text-small {
  font-size: var(--font-size-sm);
}

.text-xs {
  font-size: var(--font-size-xs);
}

/* ====================
   GLOBAL ACCORDION STYLES
   ==================== */
.accordion {
  --bs-accordion-bg: transparent;
  --bs-accordion-active-bg: transparent;
  --bs-accordion-btn-bg: transparent;
}
.accordion .accordion-item {
  border: none;
  background: none;
  margin-bottom: 0.5rem;
}
.accordion .accordion-item .accordion-header {
  margin-bottom: 0;
}
.accordion .accordion-item .accordion-button {
  background: none;
  padding: 1rem 0;
  box-shadow: none;
  border-bottom: 1px solid var(--color-neutral-400);
  font-size: 26px;
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
}
.accordion .accordion-item .accordion-button:not(.collapsed) {
  background: none;
  color: inherit;
  box-shadow: none;
}
.accordion .accordion-item .accordion-button:focus {
  box-shadow: none;
  border-color: var(--color-primary);
}
.accordion .accordion-item .accordion-button:hover {
  color: var(--color-primary);
}
.accordion .accordion-item .accordion-button::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
  width: 1.25rem;
  height: 1.25rem;
}
.accordion .accordion-item .accordion-body {
  padding: 1rem 0 2rem;
  font-size: 18px;
  line-height: var(--line-height-relaxed);
  color: var(--color-text-secondary);
}
.accordion .accordion-item .accordion-body p {
  margin-bottom: 1rem;
}
.accordion .accordion-item .accordion-body p:last-child {
  margin-bottom: 0;
}
.accordion .accordion-item .accordion-body a {
  color: var(--color-primary);
  text-decoration: underline;
}
.accordion .accordion-item .accordion-body a:hover {
  color: var(--color-cherry-500);
}
.accordion .accordion-item .accordion-body ul,
.accordion .accordion-item .accordion-body ol {
  margin-bottom: 1rem;
  padding-left: 1.5rem;
}
.accordion .accordion-item .accordion-body ul li,
.accordion .accordion-item .accordion-body ol li {
  margin-bottom: 0.5rem;
}
@media (max-width: 991px) {
  .accordion .accordion-item .accordion-button {
    font-size: 22px;
  }
}
@media (max-width: 767px) {
  .accordion .accordion-item .accordion-button {
    font-size: 20px;
    padding: 0.75rem 0;
  }
  .accordion .accordion-item .accordion-body {
    font-size: 16px;
    padding: 0.75rem 0 1.5rem;
  }
}

/* ====================
   PAGE STYLES
   ==================== */
/* Header Styles */
section.site-header {
  padding: 20px 0px;
}
section.site-header .container .row .col-md-12 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
}

/* Logo Styles */
.logo img {
  max-height: 60px;
  width: auto;
}

.right-menus {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}
@media (max-width: 768px) {
  .right-menus {
    width: 100%;
    justify-content: space-between;
    flex-direction: row;
    align-items: center;
  }
  .right-menus .utility-menu {
    order: 2;
  }
  .right-menus .navbar-toggler {
    order: 1;
  }
}

/* Navigation Menu Styles */
.menu {
  display: flex;
  align-items: center;
}
.menu .navbar-nav {
  display: flex;
  flex-direction: row;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 2rem;
}
.menu .nav-item {
  margin: 0;
  /* Active menu item */
}
.menu .nav-item.active .nav-link, .menu .nav-item.current-menu-item .nav-link {
  color: var(--color-primary) !important;
}
.menu .nav-link {
  color: var(--color-text-primary) !important;
  text-decoration: none;
  font-weight: var(--font-weight-semibold);
  font-size: 1rem;
  padding: 0.5rem 0;
  transition: color 0.3s ease;
  position: relative;
}
.menu .nav-link:hover {
  color: var(--color-primary) !important;
}
.menu .nav-link:focus {
  color: var(--color-primary) !important;
  outline: none;
}
.menu .collapse:not(.show) {
  display: block;
}
@media (max-width: 991px) {
  .menu .collapse:not(.show) {
    display: none;
  }
}

/* Mobile Menu Styles */
.navbar-toggler {
  border: none;
  padding: 0.5rem;
  color: var(--color-text-primary);
  background: transparent;
  display: none;
}
@media (max-width: 991px) {
  .navbar-toggler {
    display: block;
  }
}
.navbar-toggler:focus {
  outline: none;
  box-shadow: none;
}
.navbar-toggler .material-icons {
  font-size: 2rem;
}

@media (max-width: 991px) {
  .navbar-toggler {
    display: block;
  }
  .navbar-collapse {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #222222;
    z-index: 1000;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    /* Mobile menu header */
    /* Mobile menu content area */
    /* Mobile back button */
    /* Mobile submenu title */
  }
  .navbar-collapse .mobile-menu-header {
    display: flex !important;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 1.5rem;
    background: white !important;
    border-bottom: 1px solid #e0e0e0;
    height: 75px;
    width: 100%;
  }
  .navbar-collapse .mobile-menu-header .mobile-logo img {
    height: 36px;
    filter: none !important;
  }
  .navbar-collapse .mobile-menu-header .mobile-actions {
    display: flex;
    gap: 1.5rem;
    align-items: center;
  }
  .navbar-collapse .mobile-menu-header .mobile-actions .mobile-search {
    background: none;
    border: none;
    color: #333;
    font-size: 0.75rem;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.25rem;
  }
  .navbar-collapse .mobile-menu-header .mobile-actions .mobile-search .material-icons {
    font-size: 1.25rem;
  }
  .navbar-collapse .mobile-menu-header .mobile-actions .mobile-search span {
    font-size: 0.75rem;
  }
  .navbar-collapse .mobile-menu-header .mobile-actions .mobile-close {
    background: none;
    border: none;
    color: #333;
    font-size: 0.75rem;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.25rem;
    font-weight: var(--font-weight-normal);
  }
  .navbar-collapse .mobile-menu-header .mobile-actions .mobile-close .material-icons {
    font-size: 1.25rem;
  }
  .navbar-collapse .mobile-menu-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 0;
    background: #222222;
  }
  .navbar-collapse .mobile-back-button {
    display: none;
    background: none;
    border: none;
    color: white;
    font-size: 0.9rem;
    cursor: pointer;
    padding: 1rem 1.5rem 0;
    align-items: center;
    gap: 0.5rem;
  }
  .navbar-collapse .mobile-back-button.show {
    display: flex;
  }
  .navbar-collapse .mobile-back-button .material-icons {
    font-size: 1.1rem;
  }
  .navbar-collapse .mobile-submenu-title {
    display: none;
    color: white;
    font-size: 1.2rem;
    font-weight: var(--font-weight-bold);
    margin: 0;
    padding: 1rem 1.5rem;
    border-bottom: 1px solid #555;
    cursor: pointer;
    text-decoration: none;
  }
  .navbar-collapse .mobile-submenu-title.show {
    display: block;
  }
  .navbar-collapse .mobile-submenu-title:hover {
    color: var(--color-primary);
  }
  .menu {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 1.5rem;
    /* Dropdown toggle styling */
  }
  .menu .navbar-nav {
    flex-direction: column;
    gap: 0;
    width: 100%;
    flex: 1;
  }
  .menu .navbar-nav.submenu-active .nav-item:not(.submenu-items) {
    display: none;
  }
  .menu .nav-item {
    width: 100%;
    border-bottom: 1px solid #555;
  }
  .menu .nav-item:last-child {
    border-bottom: none;
  }
  .menu .nav-item.submenu-items {
    display: none;
  }
  .menu .nav-item.submenu-items.show {
    display: block;
  }
  .menu .nav-link {
    padding: 1rem 0;
    display: block;
    width: 100%;
    text-align: left;
    color: white !important;
    font-size: 1rem;
    font-weight: var(--font-weight-normal);
    text-decoration: none;
  }
  .menu .nav-link:hover {
    color: var(--color-primary) !important;
  }
  .menu .dropdown-toggle {
    position: relative;
  }
  .menu .dropdown-toggle::after {
    content: "›";
    position: absolute;
    right: 0;
    font-size: 1.1rem;
  }
  /* Hide desktop dropdown on mobile - but keep in DOM for JS */
  .dropdown-menu {
    display: none;
    position: static;
    background: transparent;
    border: none;
    box-shadow: none;
    padding: 0;
    margin: 0;
  }
  /* Mobile/tablet: show dropdown as full-screen panel with back bar */
  .navbar-collapse .dropdown {
    position: static;
  }
  /* Hide main menu when dropdown is open */
  .navbar-collapse .dropdown.show ~ .nav-item,
  .navbar-collapse .dropdown.show ~ .dropdown {
    display: none !important;
  }
  /* Hide the dropdown toggle text when open */
  .navbar-collapse .dropdown.show > .dropdown-toggle {
    display: none !important;
  }
  /* Force dropdown menu to be full screen when open */
  .navbar-collapse .dropdown.show > .dropdown-menu {
    display: block !important;
    position: fixed !important;
    top: 60px !important; /* below mobile menu header */
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background: #222222 !important;
    padding: 0 16px 40px 16px !important;
    overflow-y: auto !important;
    z-index: 1001 !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    min-width: auto !important;
    width: 100% !important;
  }
  /* Back bar - create a new back button */
  .navbar-collapse .dropdown.show > .dropdown-menu::before {
    content: "← Back";
    position: fixed;
    top: 60px;
    left: 16px;
    right: 16px;
    height: 48px;
    display: flex;
    align-items: center;
    color: #f9f9f9;
    background: #222222;
    border-bottom: 1px solid #5f5f5f;
    z-index: 1002;
    font-weight: 600;
    font-size: 16px;
    padding: 0 16px;
  }
  /* Add padding to dropdown content to account for back bar */
  .navbar-collapse .dropdown.show > .dropdown-menu {
    padding-top: 68px !important; /* 48px back bar + 20px spacing */
  }
  /* Submenu item styling to match Figma */
  .navbar-collapse .dropdown.show > .dropdown-menu .dropdown-item,
  .navbar-collapse .dropdown.show > .dropdown-menu li {
    color: #f9f9f9 !important;
    background: none !important;
    border: none !important;
    border-bottom: 1px solid #5f5f5f !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    font-family: "Figtree", sans-serif !important;
    text-align: left !important;
    margin: 0 !important;
    padding: 14px 0 !important;
    line-height: 1.4 !important;
  }
  .navbar-collapse .dropdown.show > .dropdown-menu .dropdown-item:last-child,
  .navbar-collapse .dropdown.show > .dropdown-menu li:last-child {
    border-bottom: 0 !important;
  }
  /* Remove bottom padding when there's only one item */
  .navbar-collapse .dropdown.show > .dropdown-menu .dropdown-item:only-child,
  .navbar-collapse .dropdown.show > .dropdown-menu li:only-child {
    padding-bottom: 0 !important;
  }
  /* Mobile utility menu */
  .mobile-utility-menu {
    padding: 1.5rem;
  }
  .mobile-utility-menu .utility-nav .menu {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    gap: 2rem;
  }
  .mobile-utility-menu .utility-nav .menu .menu-item {
    flex: 1;
  }
  .mobile-utility-menu .utility-nav .menu .menu-item a {
    color: white;
    text-decoration: none;
    font-size: 0.9rem;
    font-weight: var(--font-weight-normal);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    text-align: center;
  }
  .mobile-utility-menu .utility-nav .menu .menu-item a .material-icons {
    font-size: 1.25rem;
  }
  .mobile-utility-menu .utility-nav .menu .menu-item a:hover {
    color: var(--color-primary);
  }
}
/* Utility Menu Styles */
.utility-menu {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.utility-menu .utility-nav .menu {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 1rem;
}
.utility-menu .utility-nav .menu .menu-item a {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  text-decoration: none;
  color: #333;
  font-size: 0.9rem;
  transition: color 0.2s ease;
  font-weight: var(--font-weight-semibold);
}
.utility-menu .utility-nav .menu .menu-item a:hover {
  color: #666;
}
.utility-menu .utility-nav .menu .menu-item a i {
  font-size: 1.2rem;
}
.utility-menu .search-toggle {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  background: none;
  border: none;
  padding: 0;
  color: #333;
  font-size: 0.9rem;
  cursor: pointer;
  transition: color 0.2s ease;
}
.utility-menu .search-toggle:hover {
  color: #666;
}
.utility-menu .search-toggle i {
  font-size: 1.2rem;
}

/* Search Toggle Button */
.search-toggle:focus {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

/* Search Form Styling */
.search-form {
  display: flex;
  max-width: 400px;
  margin: 0 auto;
}

.search-form input[type=search] {
  flex: 1;
  padding: 0.75rem 1rem;
  border: 2px solid var(--color-neutral-300);
  border-radius: 4px 0 0 4px;
  font-family: var(--font-family-primary);
  font-size: 1rem;
  transition: border-color 0.3s ease;
}

.search-form input[type=search]:focus {
  outline: none;
  border-color: var(--color-primary);
}

.search-form button,
.search-form input[type=submit] {
  padding: 0.75rem 1.5rem;
  background-color: var(--color-primary);
  color: white;
  border: 2px solid var(--color-primary);
  border-radius: 0 4px 4px 0;
  font-family: var(--font-family-primary);
  font-weight: var(--font-weight-semibold);
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.search-form button:hover,
.search-form input[type=submit]:hover {
  background-color: var(--color-cherry-500);
  border-color: var(--color-cherry-500);
}

/* Responsive Menu */
@media (max-width: 768px) {
  section.site-header .container .row .col-md-12 {
    flex-direction: column;
    gap: 1rem;
  }
  .menu {
    order: 2;
  }
  .utility-menu {
    order: 1;
    margin-left: 0;
    justify-content: center;
  }
  .menu .navbar-nav {
    flex-direction: column;
    gap: 1rem;
    text-align: center;
  }
  .utility-menu .utility-nav {
    gap: 2rem;
  }
}
/* Hero Section */
section.front-page-hero {
  background-color: var(--color-neutral-900);
  color: var(--color-neutral-000);
  position: relative;
  height: 625px;
  display: flex !important;
  align-items: center !important;
  padding-bottom: 40px;
}
@media (max-width: 992px) {
  section.front-page-hero {
    height: auto;
    padding: 60px 0;
    margin-bottom: 150px;
    padding-bottom: 150px;
  }
}
section.front-page-hero h1 {
  letter-spacing: -0.02em;
  color: #fff;
}
section.front-page-hero .container {
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
}
@media (max-width: 992px) {
  section.front-page-hero .container {
    max-width: 100% !important;
  }
}
section.front-page-hero .row {
  height: 100% !important;
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
}
section.front-page-hero .intro {
  font-size: 26px;
}
@media (max-width: 768px) {
  section.front-page-hero .intro {
    font-size: 25px;
  }
}
@media (max-width: 375px) {
  section.front-page-hero .intro {
    font-size: 24px;
  }
}
section.front-page-hero .sub {
  font-size: 26px;
  font-weight: var(--font-weight-bold);
}
@media (max-width: 768px) {
  section.front-page-hero .sub {
    font-size: 25px;
  }
}
@media (max-width: 375px) {
  section.front-page-hero .sub {
    font-size: 24px;
  }
}
section.front-page-hero .banner-col {
  position: relative;
  width: 100%;
  height: 100% !important;
}
@media (max-width: 992px) {
  section.front-page-hero .banner-col {
    display: block !important;
    height: auto !important;
  }
}
section.front-page-hero .banner-text {
  position: relative;
  z-index: 1;
  flex: 1;
}
@media (max-width: 992px) {
  section.front-page-hero .banner-text {
    margin-bottom: 40px;
  }
}
section.front-page-hero .main-banner {
  position: absolute;
  width: 780px;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 0;
  height: 585px;
  background-color: var(--color-neutral-900);
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
}
@media (max-width: 992px) {
  section.front-page-hero .main-banner {
    width: 100%;
    height: 300px;
    transform: none;
    top: auto;
    left: 15px;
    border-radius: 10px;
    background-size: cover !important;
    background-position: center center !important;
  }
}

/* ====================
   BLOCKS LINK SECTION
   ==================== */
.link-block {
  display: block;
  text-decoration: none;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  overflow: hidden;
  height: 100%;
}

.link-block-title {
  font-size: 26px;
  padding: 20px 0px;
}

.link-block-image {
  position: relative;
  width: 100%;
  height: 250px;
  overflow: hidden;
}

.link-block-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.3s ease;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .link-block-image {
    height: 200px;
  }
}
/* ====================
   FEATURED EVENT SECTION
   ==================== */
/* Featured Event Section */
.featured-event-section {
  border-radius: 4px;
  overflow: hidden; /* Ensures content respects border radius */
  margin: 20px; /* Add margin so border-radius is visible */
}

.featured-event-section {
  color: var(--color-neutral-000);
}
.featured-event-section .container {
  height: 467px;
  border-radius: 8px;
  padding: 0;
  margin: 0 auto;
}
.featured-event-section .featured-event {
  display: flex;
  height: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  width: 100%;
}
.featured-event-section .featured-event .btn-secondary {
  color: #fff;
}
.featured-event-section .featured-event .btn-secondary:hover {
  color: var(--color-neutral-900);
}
.featured-event-section .featured-event-image {
  flex: 0 0 50%;
  overflow: hidden;
  margin: 0;
  padding: 0;
}
.featured-event-section .featured-event-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  margin: 0;
  padding: 0;
}
.featured-event-section .featured-event--image-left .featured-event-image {
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.featured-event-section .featured-event--image-left .featured-event-content {
  border-top-right-radius: 10px;
  border-bottom-right-radius: 10px;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.featured-event-section .featured-event--image-right .featured-event-image {
  border-top-right-radius: 10px;
  border-bottom-right-radius: 10px;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.featured-event-section .featured-event--image-right .featured-event-content {
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.featured-event-section .featured-event-content {
  flex: 0 0 50%;
  padding: 50px;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  min-width: 0;
  overflow: hidden;
  overflow-wrap: break-word;
  box-sizing: border-box;
  max-width: 50%;
  background-color: var(--color-neutral-900);
}
.featured-event-section.featured-event--image-right .featured-event-content {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
}
.featured-event-section.featured-event--image-right .featured-event-image {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
@media (max-width: 991.98px) {
  .featured-event-section .container {
    height: auto;
  }
  .featured-event-section .featured-event {
    flex-direction: column;
  }
  .featured-event-section .featured-event-image {
    flex: 0 0 300px;
    border-radius: 10px 10px 0 0 !important;
  }
  .featured-event-section .featured-event-content {
    flex: 1 1 auto;
    max-width: 100%;
    padding: 20px;
    overflow: hidden;
    word-wrap: break-word;
    border-radius: 0 0 10px 10px !important;
  }
}
.featured-event-section h2.event-title {
  color: #fff;
  width: 100%;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
.featured-event-section .event-date {
  font-size: inherit;
  width: 100%;
}
.featured-event-section .event-description {
  padding: 25px 0px;
  width: 100%;
}
.featured-event-section .event-description p {
  font-size: 18px;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
.featured-event-section .event-tag {
  position: absolute;
  top: 0px;
  display: inline-block;
  padding: 10px 30px;
  font-size: 18px;
  font-weight: var(--font-weight-semibold);
  /* Tag Color Variants */
}
.featured-event-section .event-tag.tag-sage {
  background-color: var(--color-sage-400);
  color: var(--color-neutral-900);
}
.featured-event-section .event-tag.tag-cherry {
  background-color: var(--color-cherry-400);
  color: white;
}
.featured-event-section .event-tag.tag-plum {
  background-color: var(--color-plum-400);
  color: white;
}
.featured-event-section .event-tag.tag-yellow {
  background-color: var(--color-yellow-400);
  color: var(--color-neutral-900);
}
@media (max-width: 991.98px) {
  .featured-event-section .event-tag {
    position: static;
    margin-bottom: 1rem;
    align-self: flex-start;
  }
  .featured-event-section h2.event-title {
    font-size: 1.75rem;
    line-height: 1.2;
    margin-bottom: 1rem;
  }
  .featured-event-section .event-description {
    padding: 15px 0;
  }
  .featured-event-section .event-description p {
    font-size: 16px;
    line-height: 1.5;
  }
}

/* ====================
   SHOW PRICING TABLE SECTION
   ==================== */
.show-pricing-section .pricing-table-wrapper {
  background: white;
  overflow: hidden;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.show-pricing-section .pricing-table-wrapper .table-responsive {
  overflow: hidden;
}
.show-pricing-section .pricing-table {
  margin-bottom: 0;
  border: none;
  font-size: 18px;
}
.show-pricing-section .pricing-table th,
.show-pricing-section .pricing-table td {
  padding: 1rem;
  border: none;
  vertical-align: middle;
}
.show-pricing-section .pricing-table th.category-col,
.show-pricing-section .pricing-table td.category-col {
  text-align: left;
  width: 25%;
}
.show-pricing-section .pricing-table th.price-col,
.show-pricing-section .pricing-table td.price-col {
  width: 16.25%;
}
.show-pricing-section .pricing-table thead th {
  background-color: var(--color-cherry-500);
  color: white;
  font-weight: var(--font-weight-semibold);
  font-size: 1rem;
  border-bottom: none;
}
.show-pricing-section .pricing-table thead th.category-col {
  background-color: var(--color-cherry-500);
}
.show-pricing-section .pricing-table tbody tr {
  border-bottom: 1px solid var(--color-neutral-200);
}
.show-pricing-section .pricing-table tbody tr:last-child {
  border-bottom: none;
}
.show-pricing-section .pricing-table tbody tr:nth-child(even) {
  background-color: var(--color-neutral-50);
}
.show-pricing-section .pricing-table tbody td.category-name {
  font-weight: var(--font-weight-semibold);
  color: #fff;
  background-color: var(--color-cherry-400);
  border: solid 1px var(--color-cherry-300);
  border-left: 0px;
  border-right: 0px;
}
.show-pricing-section .pricing-table tbody td.category-name .friends-link {
  color: var(--color-cherry-400);
  text-decoration: underline;
}
.show-pricing-section .pricing-table tbody td.category-name .friends-link:hover {
  color: var(--color-cherry-300);
}
.show-pricing-section .pricing-table tbody td.price {
  font-weight: var(--font-weight-medium);
  color: var(--color-neutral-800);
}
@media (max-width: 767.98px) {
  .show-pricing-section .pricing-table th,
  .show-pricing-section .pricing-table td {
    padding: 0.75rem 0.5rem;
    font-size: 0.875rem;
  }
  .show-pricing-section .pricing-table th.category-col {
    width: 40%;
  }
  .show-pricing-section .pricing-table th.price-col {
    width: 15%;
  }
}
@media (max-width: 575.98px) {
  .show-pricing-section .table-responsive {
    border: none;
  }
  .show-pricing-section .pricing-table th,
  .show-pricing-section .pricing-table td {
    padding: 0.5rem 0.25rem;
    font-size: 0.8rem;
  }
}

/* ====================
   SHOW DATES AND TIMES SECTION
   ==================== */
.show-dates-times-section {
  background-color: var(--color-neutral-900);
}
.show-dates-times-section h2 {
  color: #fff;
}
.show-dates-times-section.bg-dark .btn.btn-secondary {
  color: #fff;
}
.show-dates-times-section .dates-list .date-item {
  padding: 1.5rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.show-dates-times-section .dates-list .date-item:last-child {
  border-bottom: none;
}
.show-dates-times-section .dates-list .date-item.highlighted {
  background: linear-gradient(90deg, rgba(186, 85, 85, 0.1) 0%, transparent 100%);
  border: 1px solid var(--color-cherry-400);
  border-radius: 8px;
  padding: 1.5rem;
  margin-bottom: 1rem;
}
.show-dates-times-section .dates-list .date-item.highlighted:last-child {
  border-bottom: 1px solid var(--color-cherry-400);
}
.show-dates-times-section .dates-list .date-display {
  text-align: center;
  min-width: 80px;
}
.show-dates-times-section .dates-list .date-display .day-number {
  font-size: 2.5rem;
  font-weight: var(--font-weight-bold);
  line-height: 1;
  color: white;
}
.show-dates-times-section .dates-list .date-display .month {
  font-size: 0.875rem;
  color: var(--color-neutral-300);
  margin-top: 0.25rem;
}
.show-dates-times-section .dates-list .show-details .time-day {
  font-size: 1.125rem;
  margin-bottom: 0.25rem;
}
.show-dates-times-section .dates-list .show-details .location {
  font-size: 0.875rem;
  color: var(--color-neutral-300);
}
.show-dates-times-section .dates-list .special-notes .special-note.backstage-tour {
  display: inline-block;
  padding: 0.25rem 0.75rem;
  margin: 0.125rem 0.5rem 0.125rem 0.125rem;
  border-radius: 4px;
  font-size: 0.75rem;
  font-weight: var(--font-weight-medium);
  background-color: var(--color-sage-400);
  color: var(--color-neutral-900);
}
.show-dates-times-section .dates-list .special-notes .special-note.backstage-tour .material-icons {
  font-size: 1rem;
  margin-right: 0.25rem;
  vertical-align: middle;
}
.show-dates-times-section .dates-list .special-notes .text-notes {
  display: inline;
  font-size: 0.875rem;
  color: white;
}
.show-dates-times-section .dates-list .availability-status {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.show-dates-times-section .dates-list .availability-status .status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
}
.show-dates-times-section .dates-list .availability-status .status-dot.green {
  background-color: #28a745;
}
.show-dates-times-section .dates-list .availability-status .status-dot.orange {
  background-color: #fd7e14;
}
.show-dates-times-section .dates-list .availability-status .status-dot.red {
  background-color: #dc3545;
}
.show-dates-times-section .dates-list .availability-status .status-text {
  font-size: 0.875rem;
  color: var(--color-neutral-300);
}
.show-dates-times-section .pagination-dark .page-link {
  background-color: transparent;
  border-color: rgba(255, 255, 255, 0.2);
  color: var(--color-neutral-300);
}
.show-dates-times-section .pagination-dark .page-link:hover {
  background-color: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.3);
  color: white;
}
.show-dates-times-section .pagination-dark .page-link .material-icons {
  font-size: 1.2rem;
}
.show-dates-times-section .pagination-dark .page-item.active .page-link {
  background-color: var(--color-sage-400);
  border-color: var(--color-sage-400);
  color: var(--color-neutral-900);
}
@media (max-width: 991.98px) {
  .show-dates-times-section .dates-list .date-item .row {
    --bs-gutter-x: 1rem;
  }
  .show-dates-times-section .dates-list .date-item .date-display {
    min-width: 60px;
  }
  .show-dates-times-section .dates-list .date-item .date-display .day-number {
    font-size: 2rem;
  }
  .show-dates-times-section .dates-list .date-item .show-details .time-day {
    font-size: 1rem;
  }
  .show-dates-times-section .dates-list .date-item .special-notes {
    margin: 0.5rem 0;
    text-align: center;
  }
  .show-dates-times-section .dates-list .date-item .availability-status {
    justify-content: center;
    margin: 0.5rem 0;
  }
  .show-dates-times-section .dates-list .date-item .ticket-action {
    text-align: center;
    margin-top: 0.5rem;
  }
}
@media (max-width: 575.98px) {
  .show-dates-times-section .dates-list .date-item {
    padding: 1rem 0;
  }
  .show-dates-times-section .dates-list .date-item .row {
    flex-direction: column;
    text-align: center;
    gap: 0.75rem;
  }
  .show-dates-times-section .dates-list .date-item .col-auto,
  .show-dates-times-section .dates-list .date-item .col {
    max-width: 100%;
    flex: none;
  }
  .show-dates-times-section .dates-list .date-item .date-display .day-number {
    font-size: 1.75rem;
  }
}

/* ====================
   UPCOMING EVENTS SECTION
   ==================== */
section.upcoming-events-section {
  transition: opacity 0.3s ease;
}
section.upcoming-events-section .row {
  row-gap: 2.5rem;
}
@media (max-width: 767px) {
  section.upcoming-events-section .row {
    margin-right: 0;
    margin-left: 0;
  }
  section.upcoming-events-section [class*=col-] {
    padding-right: 8px;
    padding-left: 8px;
  }
  section.upcoming-events-section .upcoming-event-card,
  section.upcoming-events-section .event-content,
  section.upcoming-events-section .event-image {
    max-width: 100%;
    box-sizing: border-box;
  }
  section.upcoming-events-section .event-image img {
    max-width: 100%;
    height: auto;
    display: block;
  }
  section.upcoming-events-section .promo-box {
    max-width: 100%;
    box-sizing: border-box;
  }
}
section.upcoming-events-section .upcoming-event-card .event-image {
  margin-bottom: 20px;
}
section.upcoming-events-section .upcoming-event-card .event-content h3.event-title {
  margin-bottom: 10px !important;
}
section.upcoming-events-section .upcoming-event-card .event-content h3.event-title a {
  font-size: 26px;
  color: var(--color-neutral-900);
  text-decoration: none;
}
section.upcoming-events-section .upcoming-event-card .event-content h3.event-title a:hover {
  color: var(--color-primary);
}
section.upcoming-events-section .upcoming-event-card .event-content .event-dates {
  font-weight: var(--font-weight-semibold);
  margin-bottom: 15px;
}
section.upcoming-events-section .upcoming-event-card .event-content .event-excerpt {
  font-size: 18px;
  margin-bottom: 20px;
}
@media (max-width: 768px) {
  section.upcoming-events-section .upcoming-event-card {
    margin-bottom: 30px;
  }
}
section.upcoming-events-section.loading {
  opacity: 0.5;
  pointer-events: none;
  position: relative;
}
section.upcoming-events-section.loading:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 40px;
  height: 40px;
  margin: -20px 0 0 -20px;
  border: 3px solid rgba(131, 48, 65, 0.2);
  border-top-color: var(--color-primary);
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

/* ====================
   SEASONS INDEX SECTION
   ==================== */
@media (max-width: 767px) {
  section.seasons-index-section .row {
    margin-right: 0;
    margin-left: 0;
  }
  section.seasons-index-section [class*=col-] {
    padding-right: 8px;
    padding-left: 8px;
  }
  section.seasons-index-section .season-card,
  section.seasons-index-section .season-content,
  section.seasons-index-section .season-image {
    max-width: 100%;
    box-sizing: border-box;
  }
  section.seasons-index-section .season-image img {
    max-width: 100%;
    height: auto;
    display: block;
  }
}
section.seasons-index-section .season-card .season-image {
  margin-bottom: 20px;
}
section.seasons-index-section .season-card .season-content h3.season-title {
  margin-bottom: 10px !important;
}
section.seasons-index-section .season-card .season-content h3.season-title a {
  font-size: 26px;
  color: var(--color-neutral-900);
  text-decoration: none;
}
section.seasons-index-section .season-card .season-content h3.season-title a:hover {
  color: var(--color-primary);
}
section.seasons-index-section .season-card .season-content .season-excerpt {
  font-size: 18px;
  margin-bottom: 20px;
}
@media (max-width: 768px) {
  section.seasons-index-section .season-card {
    margin-bottom: 30px;
  }
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
/* ====================
   CTA BANNER SECTION
   ==================== */
section.cta-banner {
  background-color: var(--color-cherry-400);
  padding: 80px 0px;
  color: var(--color-neutral-000);
  position: relative;
  overflow: hidden;
}
section.cta-banner.bg-triangles::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-image: url("../images/triangles.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  opacity: 0.5;
  pointer-events: none;
  z-index: 1;
}
section.cta-banner.bg-circle::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-image: url("../images/circle.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  opacity: 0.5;
  pointer-events: none;
  z-index: 1;
}
section.cta-banner .container {
  position: relative;
  z-index: 2;
}
section.cta-banner h2.cta-heading {
  font-size: 48px;
  font-weight: var(--font-weight-bold);
}
section.cta-banner .cta-text {
  font-size: 18px;
}

/* ====================
   TWO COLUMN SECTION
   ==================== */
section.two-column-section {
  /* Light Background (Default) */
  /* Dark Background */
  /* Cherry Background */
}
section.two-column-section .two-column-content {
  padding: 30px;
}
section.two-column-section .two-column-content .two-column-heading {
  font-weight: var(--font-weight-bold);
}
section.two-column-section .two-column-content .two-column-subheading {
  font-weight: var(--font-weight-semibold);
}
section.two-column-section .two-column-content .two-column-text ul {
  padding-left: 0;
}
section.two-column-section .two-column-content .two-column-text ul li a {
  text-decoration: none;
}
section.two-column-section .two-column-content .two-column-text p {
  font-size: 18px;
  line-height: var(--line-height-relaxed);
}
section.two-column-section .two-column-content .two-column-text p:last-child {
  margin-bottom: 0;
}
section.two-column-section.two-column-light .two-column-content .two-column-heading {
  color: var(--color-text-primary);
}
section.two-column-section.two-column-light .two-column-content .two-column-subheading {
  color: var(--color-text-secondary);
}
section.two-column-section.two-column-light .two-column-content .two-column-text p,
section.two-column-section.two-column-light .two-column-content .two-column-text a {
  color: var(--color-text-primary);
}
section.two-column-section.two-column-dark {
  background-color: var(--color-neutral-900);
}
section.two-column-section.two-column-dark .btn-secondary {
  color: #fff;
}
section.two-column-section.two-column-dark .btn-secondary:hover {
  color: var(--color-neutral-900);
}
section.two-column-section.two-column-dark .two-column-content .two-column-heading {
  color: var(--color-neutral-000);
}
section.two-column-section.two-column-dark .two-column-content .two-column-subheading {
  color: var(--color-neutral-200);
}
section.two-column-section.two-column-dark .two-column-content .two-column-text p,
section.two-column-section.two-column-dark .two-column-content .two-column-text a {
  color: var(--color-neutral-100);
  text-decoration: none;
}
section.two-column-section.two-column-cherry {
  background-color: var(--color-cherry-500);
}
section.two-column-section.two-column-cherry .two-column-content .two-column-heading {
  color: var(--color-neutral-000);
}
section.two-column-section.two-column-cherry .two-column-content .two-column-subheading {
  color: var(--color-neutral-100);
}
section.two-column-section.two-column-cherry .two-column-content .two-column-text p,
section.two-column-section.two-column-cherry .two-column-content .two-column-text a {
  color: var(--color-neutral-000);
}
section.two-column-section.two-column-cherry .two-column-content .btn-secondary {
  color: var(--color-neutral-000);
}
section.two-column-section.two-column-cherry .two-column-content .btn-secondary:hover {
  color: var(--color-neutral-000);
}

/* Mobile responsiveness for two column */
@media (max-width: 991px) {
  section.two-column-section .two-column-content .two-column-heading {
    font-size: 32px;
  }
}
/* ====================
   NEWS FEED SECTION
   ==================== */
section.news-feed .section-title,
section.related-posts .section-title {
  font-weight: var(--font-weight-bold);
  color: var(--color-text-primary);
}
section.news-feed .view-all-link,
section.related-posts .view-all-link {
  font-size: 18px;
  text-decoration: none;
}
section.news-feed .view-all-link:hover,
section.related-posts .view-all-link:hover {
  text-decoration: none;
}
section.news-feed .news-card,
section.related-posts .news-card {
  border: none;
  background: var(--color-background-primary);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
section.news-feed .news-card .news-card-image,
section.related-posts .news-card .news-card-image {
  margin-bottom: 20px;
}
section.news-feed .news-card .news-card-image img,
section.related-posts .news-card .news-card-image img {
  width: 100%;
  height: 250px;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.3s ease;
}
section.news-feed .news-card .news-card-image a:hover img,
section.related-posts .news-card .news-card-image a:hover img {
  transform: scale(1.02);
}
section.news-feed .news-card .news-card-content .news-card-title,
section.related-posts .news-card .news-card-content .news-card-title {
  margin-bottom: 15px;
}
section.news-feed .news-card .news-card-content .news-card-title a,
section.related-posts .news-card .news-card-content .news-card-title a {
  font-size: 26px;
  font-weight: var(--font-weight-bold);
  color: var(--color-text-primary);
  text-decoration: none;
}
section.news-feed .news-card .news-card-content .news-card-title a:hover,
section.related-posts .news-card .news-card-content .news-card-title a:hover {
  color: var(--color-primary);
  text-decoration: none;
}
section.news-feed .news-card .news-card-content .news-card-excerpt,
section.related-posts .news-card .news-card-content .news-card-excerpt {
  font-size: 16px;
  line-height: var(--line-height-relaxed);
  color: var(--color-text-secondary);
  margin-bottom: 20px;
}
section.news-feed .news-empty-state,
section.related-posts .news-empty-state {
  padding: 60px 20px;
  background: var(--color-background-secondary);
  border-radius: 12px;
  border: 2px dashed var(--color-border-light);
}
section.news-feed .news-empty-state__icon i,
section.related-posts .news-empty-state__icon i {
  font-size: 64px;
  color: var(--color-primary);
  opacity: 0.7;
}
section.news-feed .news-empty-state__title,
section.related-posts .news-empty-state__title {
  font-size: 28px;
  font-weight: var(--font-weight-bold);
  color: var(--color-text-primary);
  margin-bottom: 16px;
}
section.news-feed .news-empty-state__text,
section.related-posts .news-empty-state__text {
  font-size: 18px;
  line-height: var(--line-height-relaxed);
  color: var(--color-text-secondary);
  max-width: 500px;
  margin: 0 auto;
}

/* Mobile responsiveness for news feed */
@media (max-width: 767px) and (max-width: 767px) {
  section.news-feed .row.g-6 {
    margin-right: 0;
    margin-left: 0;
  }
  section.news-feed [class*=col-] {
    padding-right: 8px;
    padding-left: 8px;
  }
  section.news-feed .news-card,
  section.news-feed .news-card-content,
  section.news-feed .news-card-image {
    max-width: 100%;
    box-sizing: border-box;
  }
  section.news-feed .news-card-image img {
    max-width: 100%;
    height: auto;
    display: block;
  }
}
@media (max-width: 767px) {
  section.news-feed .section-title {
    font-size: 32px;
    margin-bottom: 15px;
  }
  section.news-feed .view-all-link {
    font-size: 16px;
    margin-top: 10px;
  }
  section.news-feed .row.mb-4 .col-12 {
    flex-direction: column;
    align-items: flex-start !important;
  }
  section.news-feed .news-card .news-image img {
    height: 200px;
  }
  section.news-feed .news-empty-state {
    padding: 40px 15px;
  }
  section.news-feed .news-empty-state__icon i {
    font-size: 48px;
  }
  section.news-feed .news-empty-state__title {
    font-size: 24px;
    margin-bottom: 12px;
  }
  section.news-feed .news-empty-state__text {
    font-size: 16px;
    padding: 0 10px;
  }
}
.site-footer {
  background-color: #1c1c1c;
  color: #fff;
  padding: 4rem 0 2rem;
}
.site-footer hr {
  opacity: 1;
}
.site-footer h5 {
  font-size: 1rem;
  font-weight: var(--font-weight-bold);
  margin-bottom: 1.5rem;
}
.site-footer a {
  color: #fff;
  text-decoration: none;
  transition: opacity 0.2s ease;
}
.site-footer .footer-top {
  padding-bottom: 4rem;
}
.site-footer .footer-top .menu {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  gap: 2rem;
}
.site-footer .footer-top .menu a {
  font-weight: var(--font-weight-semibold);
}
.site-footer .footer-top .mailing-list-signup {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 2rem;
}
.site-footer .footer-top .mailing-list-signup .h4 {
  color: #fff;
  margin-bottom: 0;
  font-weight: var(--font-weight-semibold);
  font-size: 26px;
  text-align: left;
}
.site-footer .footer-top .mailing-list-signup .btn {
  flex-shrink: 0;
  gap: 0.5rem;
}
.site-footer .footer-main {
  padding: 4rem 0;
}
.site-footer .footer-main h5 {
  color: #fff;
}
.site-footer .footer-main .social-links {
  display: flex;
  gap: 1rem;
}
.site-footer .footer-main .social-links .social-link {
  width: 40px;
  height: 40px;
  border: 2px solid #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.site-footer .footer-main .social-links .social-link:hover {
  background-color: #fff;
  color: #1c1c1c;
}
.site-footer .footer-main .social-links .social-link i {
  font-size: 1.2rem;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  left: -2px;
}
.site-footer .footer-main p {
  margin-bottom: 0.5rem;
  font-size: 0.9rem;
}
.site-footer .footer-bottom {
  padding-top: 2rem;
}
.site-footer .footer-bottom .footer-links {
  margin-bottom: 1rem;
}
.site-footer .footer-bottom .footer-links .menu {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  gap: 2rem;
  font-size: 0.9rem;
}
.site-footer .footer-bottom .copyright {
  font-size: 0.9rem;
  opacity: 0.8;
  margin-bottom: 0;
}
.site-footer .footer-bottom .footer-logos {
  display: flex;
  gap: 2rem;
  justify-content: flex-end;
  margin-bottom: 1rem;
}
.site-footer .footer-bottom .footer-logos .footer-logo {
  height: 60px;
  width: auto;
}
.site-footer .footer-bottom .credits {
  font-size: 0.9rem;
  opacity: 0.8;
  margin-bottom: 0;
}
.site-footer .version-info {
  opacity: 0.6;
  font-size: 0.85em;
  margin-left: 0.5em;
}
@media (max-width: 768px) {
  .site-footer {
    padding: 3rem 0 2rem;
  }
  .site-footer .footer-top {
    padding-bottom: 3rem;
    text-align: center;
  }
  .site-footer .footer-top .menu {
    justify-content: center;
    flex-wrap: wrap;
  }
  .site-footer .footer-top .mailing-list-signup {
    flex-direction: column;
    text-align: center;
    gap: 1.5rem;
    margin-top: 50px;
  }
  .site-footer .footer-top .mailing-list-signup .h4 {
    font-size: 2rem;
    text-align: center;
  }
  .site-footer .footer-main {
    padding: 3rem 0;
    text-align: center;
  }
  .site-footer .footer-main .col-md-3 {
    margin-bottom: 2rem;
  }
  .site-footer .footer-main .col-md-3:last-child {
    margin-bottom: 0;
  }
  .site-footer .footer-main .social-links {
    justify-content: center;
  }
  .site-footer .footer-bottom {
    text-align: center;
  }
  .site-footer .footer-bottom .footer-links .menu {
    justify-content: center;
    flex-wrap: wrap;
  }
  .site-footer .footer-bottom .footer-logos {
    justify-content: center;
    margin-top: 2rem;
  }
  .site-footer .footer-bottom .credits {
    margin-top: 1rem;
  }
}

/* Page Header */
.page-header {
  padding: 4rem 0;
  background-color: var(--color-neutral-900);
  position: relative;
}
.page-header .header-row {
  z-index: 2;
  position: relative;
}
.page-header.bg-triangles::before, .page-header.bg-circle::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-repeat: no-repeat;
  opacity: 0.5;
  pointer-events: none;
  z-index: 1;
}
.page-header.bg-triangles::before {
  background-image: url("../images/triangles.svg");
  background-position: left center;
  background-size: auto 800%;
  filter: brightness(0); /* This line makes it black */
}
.page-header.bg-circle::before {
  background-image: url("../images/circle.svg");
  background-position: center;
  background-size: auto 650%;
  filter: brightness(0); /* This line makes it black */
}
.page-header.has-header-image {
  padding-bottom: 13rem;
}
.page-header .page-title {
  font-size: 4rem;
  font-weight: var(--font-weight-bold);
  margin: 0;
}
@media (max-width: 768px) {
  .page-header {
    padding: 2rem 0;
  }
  .page-header.has-header-image {
    padding-bottom: 8rem;
  }
  .page-header .page-title {
    font-size: 3rem;
  }
}

/* Remove top margin on page-header for TNEW template */
.tnew-template .page-header {
  margin-top: 0;
}

.header-image-section {
  margin-top: -11rem;
  position: relative;
  z-index: 2;
}
.header-image-section .header-image-container .header-image {
  width: 100%;
  height: 480px;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 1rem;
}
@media (max-width: 768px) {
  .header-image-section {
    margin-top: -6rem;
  }
  .header-image-section .header-image-container .header-image {
    height: 320px;
  }
}

/* ====================
   CONTACTS LIST STYLES
   ==================== */
.contacts-list-section .contact-item {
  margin-bottom: 2rem;
  font-size: 18px;
}
.contacts-list-section .contact-item .contact-name {
  font-weight: var(--font-weight-bold);
}
.contacts-list-section .contact-item a {
  color: var(--color-cherry-400);
}

/* ====================
   TEXT BLOCK STYLES
   ==================== */
.text-block-section .text-block-title {
  font-size: 32px;
  font-weight: var(--font-weight-bold);
  color: var(--color-text-primary);
  margin-bottom: 2rem;
}
.text-block-section .text-block-content .text-block-text {
  line-height: var(--line-height-relaxed);
}
.text-block-section .text-block-content .text-block-text a {
  color: var(--color-primary);
  text-decoration: underline;
}
.text-block-section .text-block-content .text-block-text a:hover {
  color: var(--color-cherry-500);
}
.text-block-section .text-block-content .text-block-button {
  margin-top: 2rem;
}
.text-center .text-block-section .text-block-content .text-block-button {
  text-align: center;
}
.text-end .text-block-section .text-block-content .text-block-button {
  text-align: right;
}
@media (max-width: 991px) {
  .text-block-section {
    padding: 3rem 0;
  }
  .text-block-section .text-block-title {
    font-size: 36px;
    margin-bottom: 1.5rem;
  }
  .text-block-section .text-block-text {
    font-size: 18px;
  }
}
@media (max-width: 767px) {
  .text-block-section {
    padding: 2rem 0;
  }
  .text-block-section .text-block-title {
    font-size: 32px;
    margin-bottom: 1rem;
  }
}

/* What's On Header */
.whats-on-header {
  padding: 4rem 0;
  background-color: var(--color-neutral-900);
  color: #fff;
  position: relative;
  z-index: 1;
  padding-bottom: 15rem;
}
.whats-on-header .page-title {
  font-weight: var(--font-weight-extrabold);
  margin: 0;
}
.whats-on-header .whats-on-nav .nav {
  gap: 2rem;
}
.whats-on-header .whats-on-nav .nav-link {
  color: #fff;
  font-size: 1.25rem;
  padding: 0;
  position: relative;
  opacity: 0.7;
  transition: opacity 0.2s ease;
  font-weight: var(--font-weight-semibold);
}
.whats-on-header .whats-on-nav .nav-link:hover {
  opacity: 1;
}
.whats-on-header .whats-on-nav .nav-link.active {
  opacity: 1;
}
.whats-on-header .whats-on-nav .nav-link.active:after {
  content: "";
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 100%;
  height: 3px;
  background-color: var(--color-plum-300);
}
@media (max-width: 768px) {
  .whats-on-header .row.header-row .col-12 {
    flex-direction: column;
    align-items: flex-start;
    gap: 1.5rem;
  }
  .whats-on-header .page-title {
    font-size: 3rem;
  }
  .whats-on-header .whats-on-nav {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .whats-on-header .whats-on-nav .nav {
    flex-wrap: nowrap;
    padding-bottom: 0.5rem;
  }
}

.featured-show-section {
  margin-top: -12rem;
  margin-bottom: 4rem;
  position: relative;
  z-index: 2;
}
.featured-show-section .featured-show {
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
}
.featured-show-section .featured-image {
  position: relative;
  padding-top: 56.25%;
  overflow: hidden;
}
.featured-show-section .featured-image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.featured-show-section .featured-content {
  padding: 2rem;
  color: var(--color-text-primary);
}
.featured-show-section .featured-content .status-tag {
  display: inline-block;
  padding: 0.5rem 1rem;
  background-color: var(--color-cherry);
  color: #fff;
  font-weight: var(--font-weight-medium);
  border-radius: 0.25rem;
  margin-bottom: 1rem;
}
.featured-show-section .featured-content .featured-title {
  font-size: 2.5rem;
  font-weight: var(--font-weight-bold);
  margin-bottom: 1rem;
  line-height: 1.2;
}
.featured-show-section .featured-content .featured-dates {
  font-size: 1.25rem;
  margin-bottom: 1rem;
  font-weight: var(--font-weight-semibold);
}
.featured-show-section .featured-content .featured-excerpt {
  font-size: 1rem;
  line-height: 1.6;
  margin-bottom: 1.5rem;
}

.featured-container {
  position: absolute;
  bottom: -4rem;
  left: 0;
  right: 0;
  z-index: 2;
}

.row.header-row {
  display: flex;
  align-items: center;
}
.row.header-row .col-12 {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.page-title {
  font-size: 4rem;
  font-weight: var(--font-weight-bold);
  margin-bottom: 0;
  color: #fff;
}

.whats-on-nav .nav {
  gap: 2rem;
}
.whats-on-nav .nav-link {
  color: #fff;
  font-size: 1.25rem;
  padding: 0;
  position: relative;
  opacity: 0.7;
  transition: opacity 0.2s ease;
  font-weight: var(--font-weight-semibold);
}
.whats-on-nav .nav-link:hover {
  opacity: 1;
}
.whats-on-nav .nav-link.active {
  opacity: 1;
}
.whats-on-nav .nav-link.active:after {
  content: "";
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 100%;
  height: 3px;
  background-color: var(--color-plum-300);
}

@media (max-width: 768px) {
  .season-header .row.header-row .col-12,
  .whats-on-header .row.header-row .col-12 {
    flex-direction: column;
    align-items: flex-start;
    gap: 1.5rem;
  }
  .season-header .page-title,
  .whats-on-header .page-title {
    font-size: 3rem;
  }
  .season-header .whats-on-nav,
  .whats-on-header .whats-on-nav {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .season-header .whats-on-nav .nav,
  .whats-on-header .whats-on-nav .nav {
    flex-wrap: nowrap;
    padding-bottom: 0.5rem;
  }
  .featured-show-section .featured-content {
    padding: 1.5rem;
  }
  .featured-show-section .featured-content .featured-title {
    font-size: 2rem;
  }
}
ul.page-numbers {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  margin: 4rem 0;
  padding: 0;
}
ul.page-numbers li {
  list-style: none;
  margin: 0;
}
ul.page-numbers .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border: none;
  margin: 0;
  color: var(--color-text-primary);
  text-decoration: none;
  transition: all 0.2s ease;
  font-weight: var(--font-weight-semibold);
}
ul.page-numbers .page-numbers:hover {
  color: var(--color-primary);
}
ul.page-numbers .page-numbers.current {
  background-color: transparent;
  color: var(--color-primary);
  border: 2px solid var(--color-primary);
}
ul.page-numbers .page-numbers.dots {
  width: auto;
}
ul.page-numbers .page-numbers.prev i, ul.page-numbers .page-numbers.next i {
  font-size: 1.2em;
}
ul.page-numbers .page-numbers.prev.disabled, ul.page-numbers .page-numbers.next.disabled {
  color: var(--color-text-muted);
  pointer-events: none;
}

/* ====================
   CALENDAR AND ACCESS PAGE STYLES
   ==================== */
.whats-on-calendar-page,
.whats-on-access-page {
  padding: 4rem 0;
}

.whats-on-access-page .date-heading {
  font-size: 2rem;
  font-weight: var(--font-weight-bold);
  margin-top: 3rem;
}
.whats-on-access-page .date-heading:first-child {
  margin-top: 0;
}
.whats-on-access-page .access-filters .filter-link {
  font-weight: var(--font-weight-semibold);
  padding: 0px;
  color: var(--color-text-primary);
  position: relative;
  text-decoration: none;
  margin-right: 1.5rem;
}
.whats-on-access-page .access-filters .filter-link:hover {
  color: var(--color-text-primary);
}
.whats-on-access-page .access-filters .filter-link:hover:after {
  content: "";
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 100%;
  height: 4px;
  background-color: var(--color-primary);
}
.whats-on-access-page .access-filters .filter-link.active {
  color: var(--color-text-primary);
}
.whats-on-access-page .access-filters .filter-link.active:after {
  content: "";
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 100%;
  height: 4px;
  background-color: var(--color-primary);
}
.whats-on-access-page .access-filters .filter-link:last-child {
  margin-right: 0;
}
@media (max-width: 767.98px) {
  .whats-on-access-page .d-flex.align-items-center.gap-3 {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
  }
  .whats-on-access-page .access-filters {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
  }
  .whats-on-access-page .access-filters .filter-link {
    margin-right: 0;
  }
}

/* ====================
   What's On Page Filters
   ==================== */
.whats-on-page .whats-on-filters .filter-label {
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
  white-space: nowrap;
}
.whats-on-page .whats-on-filters .access-filters .filter-link {
  font-weight: var(--font-weight-semibold);
  padding: 0px;
  color: var(--color-text-primary);
  position: relative;
  text-decoration: none;
  margin-right: 1.5rem;
}
.whats-on-page .whats-on-filters .access-filters .filter-link:hover {
  color: var(--color-text-primary);
}
.whats-on-page .whats-on-filters .access-filters .filter-link:hover:after {
  content: "";
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 100%;
  height: 4px;
  background-color: var(--color-primary);
}
.whats-on-page .whats-on-filters .access-filters .filter-link.active {
  color: var(--color-text-primary);
}
.whats-on-page .whats-on-filters .access-filters .filter-link.active:after {
  content: "";
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 100%;
  height: 4px;
  background-color: var(--color-primary);
}
.whats-on-page .whats-on-filters .access-filters .filter-link:last-child {
  margin-right: 0;
}
@media (max-width: 767.98px) {
  .whats-on-page .whats-on-filters {
    flex-direction: column;
    align-items: flex-start !important;
    gap: 0.75rem !important;
  }
  .whats-on-page .whats-on-filters .access-filters {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
  }
  .whats-on-page .whats-on-filters .access-filters .filter-link {
    margin-right: 0;
  }
}

.whats-on-access-page .daily-shows .date-navigation .current-date {
  font-size: 2.5rem;
  font-weight: var(--font-weight-bold);
}

.whats-on-access-page .daily-shows .show-item {
  padding: 1.5rem;
  margin-bottom: 1rem;
  transition: all 0.2s ease-in-out;
  border-bottom: 1px solid var(--color-neutral-400);
}

.whats-on-access-page .daily-shows .show-item .show-image {
  height: 120px;
}

.whats-on-access-page .daily-shows .show-item .show-image img {
  aspect-ratio: 1;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.whats-on-access-page .daily-shows .show-item .pretitle {
  color: var(--color-neutral-900);
  font-size: 18px;
  margin-bottom: 0.5rem;
}

.whats-on-access-page .daily-shows .show-item .show-title {
  font-size: 26px;
  text-decoration: underline;
  margin-bottom: 0.75rem;
}

.whats-on-access-page .daily-shows .show-item .show-title a {
  color: var(--color-text-primary);
  text-decoration: none;
}

.whats-on-access-page .daily-shows .show-item .show-title a:hover {
  color: var(--color-primary);
}

.whats-on-access-page .daily-shows .show-item .show-meta {
  margin-bottom: 1rem;
  font-size: 18px;
}

.whats-on-access-page .daily-shows .show-item .show-meta .show-time {
  font-weight: var(--font-weight-semibold);
  margin-bottom: 0.25rem;
}

.whats-on-access-page .daily-shows .show-item .show-meta .show-accessibility {
  color: var(--color-text-secondary);
  font-size: 0.875rem;
}

.whats-on-access-page .daily-shows .show-item .availability {
  margin-bottom: 1rem;
  font-size: 0.875rem;
  font-weight: var(--font-weight-semibold);
}

.whats-on-access-page .daily-shows .show-item .availability.good-availability {
  color: var(--color-success);
}

.whats-on-access-page .daily-shows .show-item .availability.selling-fast {
  color: var(--color-warning);
}

.whats-on-access-page .daily-shows .show-item .availability.sold-out {
  color: var(--color-error);
}

.whats-on-access-page .daily-shows .show-item .show-actions {
  display: flex;
  gap: 1rem;
  justify-content: flex-end;
}

.whats-on-access-page .daily-shows.loading {
  opacity: 0.5;
  pointer-events: none;
}

/* Calendar widget specific styles - keep these only for calendar page */
.whats-on-calendar-page {
  /* Calendar widget specific styles - keep these only for calendar page */
}
.whats-on-calendar-page .daily-shows .date-navigation .current-date {
  font-size: 2.5rem;
  font-weight: var(--font-weight-bold);
}
.whats-on-calendar-page .daily-shows .calendar-next-show-link {
  color: var(--color-cherry-400);
}
.whats-on-calendar-page .daily-shows .show-item {
  padding: 1.5rem;
  margin-bottom: 1rem;
  transition: all 0.2s ease-in-out;
  border-bottom: 1px solid var(--color-neutral-400);
}
.whats-on-calendar-page .daily-shows .show-item .show-image {
  height: 120px;
}
.whats-on-calendar-page .daily-shows .show-item .show-image img {
  aspect-ratio: 1;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.whats-on-calendar-page .daily-shows .show-item .pretitle {
  color: var(--color-neutral-900);
  font-size: 18px;
  margin-bottom: 0.5rem;
}
.whats-on-calendar-page .daily-shows .show-item .show-title {
  font-size: 26px;
  text-decoration: underline;
  margin-bottom: 0.75rem;
}
.whats-on-calendar-page .daily-shows .show-item .show-title a {
  color: var(--color-text-primary);
  text-decoration: none;
}
.whats-on-calendar-page .daily-shows .show-item .show-title a:hover {
  color: var(--color-primary);
}
.whats-on-calendar-page .daily-shows .show-item .show-meta {
  margin-bottom: 1rem;
  font-size: 18px;
}
.whats-on-calendar-page .daily-shows .show-item .show-meta .show-time {
  font-weight: var(--font-weight-semibold);
  margin-bottom: 0.25rem;
}
.whats-on-calendar-page .daily-shows .show-item .show-meta .show-accessibility {
  color: var(--color-text-secondary);
  font-size: 0.875rem;
}
.whats-on-calendar-page .daily-shows .show-item .availability {
  margin-bottom: 1rem;
  font-size: 0.875rem;
  font-weight: var(--font-weight-semibold);
}
.whats-on-calendar-page .daily-shows .show-item .availability.good-availability {
  color: var(--color-success);
}
.whats-on-calendar-page .daily-shows .show-item .availability.selling-fast {
  color: var(--color-warning);
}
.whats-on-calendar-page .daily-shows .show-item .availability.sold-out {
  color: var(--color-error);
}
.whats-on-calendar-page .daily-shows .show-item .show-actions {
  display: flex;
  gap: 1rem;
  justify-content: flex-end;
}
.whats-on-calendar-page .daily-shows.loading {
  opacity: 0.5;
  pointer-events: none;
}
.whats-on-calendar-page .calendar-widget .calendar-header .current-month {
  font-size: 1.5rem;
  font-weight: var(--font-weight-semibold);
}
.whats-on-calendar-page .calendar-widget .calendar-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0.25rem;
}
.whats-on-calendar-page .calendar-widget .calendar-table th {
  padding: 0.5rem;
  text-align: center;
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-secondary);
  font-size: 0.875rem;
}
.whats-on-calendar-page .calendar-widget .calendar-table td {
  text-align: center;
  padding: 0.75rem;
  font-size: 1rem;
  border-radius: 50%;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
  position: relative;
}
.whats-on-calendar-page .calendar-widget .calendar-table td.has-shows::after {
  content: "···";
  position: absolute;
  bottom: 0.5rem;
  left: 50%;
  transform: translateX(-50%);
  color: var(--color-plum-400);
  font-size: 0.75rem;
  line-height: 1;
  letter-spacing: 1px;
  font-weight: 900;
}
.whats-on-calendar-page .calendar-widget .calendar-table td.other-month {
  color: var(--color-text-secondary);
}
.whats-on-calendar-page .calendar-widget .calendar-table td.active {
  background-color: var(--color-primary);
  color: white;
}
.whats-on-calendar-page .calendar-widget .calendar-table td:hover:not(.active) {
  background-color: var(--color-neutral-100);
}
.whats-on-calendar-page .calendar-widget.loading {
  opacity: 0.5;
  pointer-events: none;
}

/* ====================
   SINGLE SHOW PAGE STYLES
   ==================== */
.show-header {
  padding: 4rem 0;
  background-color: var(--color-neutral-900);
  padding-bottom: 250px;
}
@media (max-width: 991.98px) {
  .show-header > .container > .d-flex {
    flex-wrap: wrap;
  }
}
.show-header .header-content {
  max-width: 800px;
}
@media (max-width: 991.98px) {
  .show-header .header-content {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 100%;
  }
}
.show-header .ticket-info {
  height: 100%;
}
@media (max-width: 991.98px) {
  .show-header .ticket-info {
    order: 3;
    width: 100%;
    text-align: left !important;
    align-items: flex-start !important;
    margin-bottom: 2rem;
  }
}
.show-header .ticket-info .ticket-price {
  font-size: 1.5rem;
  margin-bottom: 1.5rem;
  font-weight: var(--font-weight-light);
  color: rgba(255, 255, 255, 0.9);
}
@media (max-width: 991.98px) {
  .show-header .ticket-info .ticket-price {
    margin-bottom: 1rem;
  }
}
@media (max-width: 991.98px) {
  .show-header .ticket-info .btn {
    align-self: flex-start !important;
  }
}
.show-header .breadcrumb a {
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  font-weight: var(--font-weight-regular);
  transition: color 0.2s ease;
}
.show-header .breadcrumb a:hover {
  color: white;
}
@media (max-width: 991.98px) {
  .show-header .breadcrumb {
    order: 1;
  }
}
.show-header .page-title {
  font-size: 78px;
  line-height: 1;
  margin-bottom: 1.5rem;
  font-weight: var(--font-weight-bold);
  letter-spacing: -0.02em;
}
@media (max-width: 991.98px) {
  .show-header .page-title {
    order: 2;
    font-size: 48px;
    margin-bottom: 2rem;
  }
}
.show-header .date-range {
  font-size: 2rem;
  color: rgba(255, 255, 255, 0.7);
  margin-bottom: 0;
  font-weight: var(--font-weight-light);
}
@media (max-width: 991.98px) {
  .show-header .date-range {
    order: 4;
    font-size: 1.5rem;
  }
}

.show-single,
.event-single {
  padding: 6rem 0;
}
.show-single .featured-image,
.event-single .featured-image {
  margin-top: -310px;
  position: relative;
  z-index: 3;
  border-radius: 10px;
  max-height: 1030px;
  overflow: hidden;
}
.show-single .featured-image img,
.event-single .featured-image img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 10px;
  -o-object-fit: cover;
     object-fit: cover;
}
.show-single .show-content,
.event-single .show-content {
  font-size: 1.25rem;
  line-height: 1.7;
  color: var(--color-text-primary);
}
@media (max-width: 991.98px) {
  .show-single .show-content,
  .event-single .show-content {
    padding-top: 2rem;
  }
}
.show-single .show-content p,
.event-single .show-content p {
  margin-bottom: 2rem;
}
.show-single .show-sidebar .sidebar-item,
.event-single .show-sidebar .sidebar-item {
  margin-bottom: 1.5rem;
  border-bottom: 1px solid var(--color-neutral-400);
  display: flex;
  justify-content: space-between;
  padding-bottom: 0.5rem;
}
.show-single .show-sidebar .sidebar-item.sponsors,
.event-single .show-sidebar .sidebar-item.sponsors {
  display: block;
}
.show-single .show-sidebar .sidebar-item.sponsors .all-sponsors,
.event-single .show-sidebar .sidebar-item.sponsors .all-sponsors {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
}
.show-single .show-sidebar .sidebar-item.sponsors .all-sponsors .sponsor-item,
.event-single .show-sidebar .sidebar-item.sponsors .all-sponsors .sponsor-item {
  text-align: center;
}
.show-single .show-sidebar .sidebar-item.sponsors .all-sponsors .sponsor-item .sponsor-title,
.event-single .show-sidebar .sidebar-item.sponsors .all-sponsors .sponsor-item .sponsor-title {
  margin-bottom: 0.4rem;
  font-size: 14px;
  font-style: italic;
}
.show-single .show-sidebar .sidebar-item.collaborators,
.event-single .show-sidebar .sidebar-item.collaborators {
  display: block;
}
.show-single .show-sidebar .sidebar-item.collaborators .all-collaborators,
.event-single .show-sidebar .sidebar-item.collaborators .all-collaborators {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
}
.show-single .show-sidebar .sidebar-item.collaborators .all-collaborators .collaborator-item,
.event-single .show-sidebar .sidebar-item.collaborators .all-collaborators .collaborator-item {
  text-align: center;
}
.show-single .show-sidebar .sidebar-item.collaborators .all-collaborators .collaborator-item img,
.event-single .show-sidebar .sidebar-item.collaborators .all-collaborators .collaborator-item img {
  max-width: 150px;
  max-height: 80px;
  width: auto;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
  transition: opacity 0.2s ease;
}
.show-single .show-sidebar .sidebar-item.collaborators .all-collaborators .collaborator-item a,
.event-single .show-sidebar .sidebar-item.collaborators .all-collaborators .collaborator-item a {
  display: block;
}
.show-single .show-sidebar .sidebar-item.collaborators .all-collaborators .collaborator-item a:hover img,
.event-single .show-sidebar .sidebar-item.collaborators .all-collaborators .collaborator-item a:hover img {
  opacity: 0.8;
}
.show-single .show-sidebar .sidebar-item .sidebar-item-details,
.event-single .show-sidebar .sidebar-item .sidebar-item-details {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}
.show-single .show-sidebar .sidebar-item:last-child,
.event-single .show-sidebar .sidebar-item:last-child {
  border-bottom: none;
}
.show-single .show-sidebar .sidebar-item h3,
.event-single .show-sidebar .sidebar-item h3 {
  font-size: 18px;
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
  margin-bottom: 0.75rem;
  letter-spacing: 0.05em;
}
.show-single .show-sidebar .sidebar-item p,
.event-single .show-sidebar .sidebar-item p {
  font-size: 1.25rem;
  margin-bottom: 0.75rem;
  color: var(--color-text-primary);
}
.show-single .show-sidebar .sidebar-item .interval-note,
.event-single .show-sidebar .sidebar-item .interval-note {
  color: var(--color-text-secondary);
  font-size: 1.125rem;
  font-style: italic;
}
.show-single .show-sidebar .sidebar-item .pricing-link,
.event-single .show-sidebar .sidebar-item .pricing-link {
  color: var(--color-primary);
  text-decoration: none;
  font-size: 1.125rem;
  font-weight: var(--font-weight-medium);
}
.show-single .show-sidebar .sidebar-item .pricing-link:hover,
.event-single .show-sidebar .sidebar-item .pricing-link:hover {
  text-decoration: underline;
}
.show-single .show-sidebar .sponsors .sponsor-item:last-child,
.event-single .show-sidebar .sponsors .sponsor-item:last-child {
  margin-bottom: 0;
}
.show-single .show-sidebar .sponsors .sponsor-item small,
.event-single .show-sidebar .sponsors .sponsor-item small {
  display: block;
  color: var(--color-text-secondary);
  margin-bottom: 0.75rem;
  font-size: 0.875rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.show-single .show-sidebar .sponsors .sponsor-item img,
.event-single .show-sidebar .sponsors .sponsor-item img {
  max-height: 3rem;
  width: auto;
}
.show-single .show-sidebar .content-advisory-btn,
.event-single .show-sidebar .content-advisory-btn {
  width: 100%;
  text-align: left;
  padding: 1.25rem;
  background: var(--color-neutral-200);
  font-size: 1.125rem;
  font-weight: var(--font-weight-medium);
  border: none;
  color: var(--color-neutral-900);
  font-weight: 600;
}
.show-single .show-sidebar .content-advisory-btn:hover,
.event-single .show-sidebar .content-advisory-btn:hover {
  background: var(--color-neutral-300);
  color: var(--color-neutral-900);
}
.show-single .show-sidebar .content-advisory-btn i,
.event-single .show-sidebar .content-advisory-btn i {
  margin-right: 0.75rem;
  vertical-align: middle;
  font-size: 1.25rem;
}
.show-single .show-sidebar #contentAdvisory .card,
.event-single .show-sidebar #contentAdvisory .card {
  border: none;
}
.show-single .show-sidebar #contentAdvisory .card .card-body,
.event-single .show-sidebar #contentAdvisory .card .card-body {
  padding: 1.5rem;
  font-size: 1.125rem;
  line-height: 1.6;
}

.event-single {
  padding: 6rem 0;
}
.event-single .featured-image {
  margin-top: -310px;
  position: relative;
  z-index: 3;
  border-radius: 10px;
  max-height: 1030px;
  overflow: hidden;
}
.event-single .featured-image img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 10px;
  -o-object-fit: cover;
     object-fit: cover;
}
.event-single .event-content {
  font-size: 1.25rem;
  line-height: 1.7;
  color: var(--color-text-primary);
}
.event-single .event-content p {
  margin-bottom: 2rem;
}

.promo-box {
  position: relative;
  overflow: hidden;
  background-color: var(--color-cherry-400);
  color: white;
}
.promo-box h3 {
  font-size: 2rem;
  margin-bottom: 1rem;
  font-weight: var(--font-weight-bold);
  color: #fff;
}
.promo-box p {
  font-size: 1.125rem;
  margin-bottom: 1.5rem;
  opacity: 0.9;
}

@media (max-width: 991px) {
  .promo-box h3 {
    font-size: 1.75rem;
  }
  .promo-box p {
    font-size: 1rem;
  }
}
html body .gform_wrapper.gform-theme--api,
html body .gform_wrapper.gform-theme--foundation {
  --gf-form-gap-x: 16px;
  --gf-form-gap-y: 5px !important;
  --gf-field-gap-x: 12px;
  --gf-field-gap-y: 12px;
}

.gform_wrapper {
  --gf-form-gap-y: 5px;
}
.gform_wrapper .gfield {
  margin-bottom: 1.5rem;
}
.gform_wrapper .gfield input[type=text],
.gform_wrapper .gfield input[type=email],
.gform_wrapper .gfield input[type=tel],
.gform_wrapper .gfield input[type=date],
.gform_wrapper .gfield textarea,
.gform_wrapper .gfield select {
  width: 100%;
  padding: 5px 10px;
  border: 1px solid #dee2e6;
  border-radius: 4px;
  font-size: 1rem;
  line-height: 1.5;
  color: #495057;
  background-color: #fff;
}
.gform_wrapper .gfield input[type=text]::-moz-placeholder, .gform_wrapper .gfield input[type=email]::-moz-placeholder, .gform_wrapper .gfield input[type=tel]::-moz-placeholder, .gform_wrapper .gfield input[type=date]::-moz-placeholder, .gform_wrapper .gfield textarea::-moz-placeholder, .gform_wrapper .gfield select::-moz-placeholder {
  color: #6c757d;
}
.gform_wrapper .gfield input[type=text]::placeholder,
.gform_wrapper .gfield input[type=email]::placeholder,
.gform_wrapper .gfield input[type=tel]::placeholder,
.gform_wrapper .gfield input[type=date]::placeholder,
.gform_wrapper .gfield textarea::placeholder,
.gform_wrapper .gfield select::placeholder {
  color: #6c757d;
}
.gform_wrapper .gfield input[type=text]:focus,
.gform_wrapper .gfield input[type=email]:focus,
.gform_wrapper .gfield input[type=tel]:focus,
.gform_wrapper .gfield input[type=date]:focus,
.gform_wrapper .gfield textarea:focus,
.gform_wrapper .gfield select:focus {
  border-color: #80bdff;
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}
.gform_wrapper .gfield.gfield_date_dropdown_month select, .gform_wrapper .gfield.gfield_date_dropdown_day select, .gform_wrapper .gfield.gfield_date_dropdown_year select {
  display: inline-block;
  width: auto;
}
.gform_wrapper .gfield_label {
  font-weight: 500;
  margin-bottom: 0.5rem;
  color: #212529;
}
.gform_wrapper .gfield_label .gfield_required {
  color: #dc3545;
  margin-left: 4px;
}
.gform_wrapper .gfield_checkbox li,
.gform_wrapper .gfield_radio li {
  margin-bottom: 0.5rem;
}
.gform_wrapper .gfield_checkbox li label,
.gform_wrapper .gfield_radio li label {
  margin-left: 0.5rem;
}
.gform_wrapper .gform_footer {
  margin-top: 2rem;
}
.gform_wrapper .gform_footer input[type=submit] {
  display: inline-block;
  font-weight: 500;
  text-align: center;
  vertical-align: middle;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  border: 1px solid transparent;
  padding: 0.75rem 2rem;
  font-size: 1rem;
  line-height: 1.5;
  border-radius: 0.25rem;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  color: #fff;
  background-color: var(--color-primary);
  border-color: var(--color-primary);
}
.gform_wrapper .gform_footer input[type=submit]:hover {
  color: #fff;
  background-color: var(--color-cherry-500);
  border-color: var(--color-cherry-500);
}
.gform_wrapper .gform_footer input[type=submit]:after {
  content: "→";
  margin-left: 0.5rem;
  display: inline-block;
}
.gform_wrapper .validation_error {
  position: relative;
  padding: 1rem;
  margin-bottom: 1.5rem;
  border: 1px solid transparent;
  border-radius: 0.25rem;
  color: #721c24;
  background-color: #f8d7da;
  border-color: #f5c6cb;
}
.gform_wrapper .gfield_error input,
.gform_wrapper .gfield_error select,
.gform_wrapper .gfield_error textarea {
  border-color: #dc3545;
}
.gform_wrapper .gfield_error input:focus,
.gform_wrapper .gfield_error select:focus,
.gform_wrapper .gfield_error textarea:focus {
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
}
.gform_wrapper .gfield_error .validation_message {
  color: #dc3545;
  font-size: 0.875rem;
  margin-top: 0.25rem;
}

.gform_confirmation_message {
  position: relative;
  padding: 1rem;
  margin-bottom: 1rem;
  border: 1px solid transparent;
  border-radius: 0.25rem;
  color: #155724;
  background-color: #d4edda;
  border-color: #c3e6cb;
}

/* ====================
   REVIEWS SECTION
   ==================== */
.reviews-section .reviews-title {
  font-weight: 600;
  font-size: 2.5rem;
  margin-bottom: 3rem;
}
.reviews-section .review-item {
  padding: 2rem;
  display: flex;
  flex-direction: column;
  text-align: left;
}
.reviews-section .stars {
  display: flex;
  gap: 0.25rem;
  margin-bottom: 1rem;
}
.reviews-section .stars .star {
  font-size: 1.25rem;
}
.reviews-section .stars .star.filled {
  color: #ffd700;
}
.reviews-section .stars .star.empty {
  color: #e0e0e0;
}
.reviews-section .review-quote {
  flex: 1;
  margin-bottom: 1.5rem;
}
.reviews-section .review-quote p {
  font-size: 32px;
  line-height: 1.6;
  margin-bottom: 0;
  color: var(--bs-dark);
  font-weight: var(--font-weight-bold);
}
.reviews-section .review-author {
  font-size: 20px;
  font-weight: var(--font-weight-regular);
}
.reviews-section .review-role {
  font-size: 0.875rem;
  color: var(--bs-secondary);
}
.reviews-section .review-link a {
  color: var(--color-cherry-400);
  font-size: 18px;
  font-weight: 500;
  text-decoration: underline !important;
}
.reviews-section.bg-light {
  background-color: var(--color-neutral-000);
}
.reviews-section.bg-light .reviews-title {
  color: var(--color-neutral-900);
}
.reviews-section.bg-light .review-quote p {
  color: var(--color-neutral-900);
}
.reviews-section.bg-light .review-author {
  color: var(--color-neutral-900);
}
.reviews-section.bg-light .review-role {
  color: var(--color-neutral-700);
}
.reviews-section.bg-dark {
  background-color: var(--color-neutral-900);
}
.reviews-section.bg-dark .reviews-title {
  color: white !important;
}
.reviews-section.bg-dark .review-quote p {
  color: white !important;
}
.reviews-section.bg-dark .review-author {
  color: rgba(255, 255, 255, 0.9) !important;
}
.reviews-section.bg-dark .review-role {
  color: rgba(255, 255, 255, 0.7) !important;
}
.reviews-section.bg-dark .stars .star.empty {
  color: rgba(255, 255, 255, 0.3);
}
.reviews-section.bg-dark .review-link a {
  color: var(--color-sage-400) !important;
}
.reviews-section.bg-dark .review-link a:hover {
  color: var(--color-sage-300) !important;
}
.reviews-section.bg-cherry {
  background-color: var(--color-cherry-400) !important;
}
.reviews-section.bg-cherry h2.reviews-title,
.reviews-section.bg-cherry .reviews-title {
  color: white !important;
}
.reviews-section.bg-cherry .review-quote p,
.reviews-section.bg-cherry .review-quote {
  color: white !important;
}
.reviews-section.bg-cherry .review-author {
  color: rgba(255, 255, 255, 0.95) !important;
}
.reviews-section.bg-cherry .review-role {
  color: rgba(255, 255, 255, 0.8) !important;
}
.reviews-section.bg-cherry .stars .star.empty {
  color: rgba(255, 255, 255, 0.3) !important;
}
.reviews-section.bg-cherry .stars .star.filled {
  color: white !important;
}
.reviews-section.bg-cherry .review-link a,
.reviews-section.bg-cherry a {
  color: var(--color-sage-400) !important;
}
.reviews-section.bg-cherry .review-link a:hover,
.reviews-section.bg-cherry a:hover {
  color: var(--color-sage-300) !important;
}
.reviews-section.bg-cherry * {
  color: white !important;
}
.reviews-section.bg-cherry a {
  color: var(--color-sage-400) !important;
}
.reviews-section.bg-cherry a:hover {
  color: var(--color-sage-300) !important;
}
@media (max-width: 768px) {
  .reviews-section .reviews-title {
    font-size: 2rem;
    margin-bottom: 2rem;
  }
  .reviews-section .review-item {
    padding: 1.5rem;
  }
  .reviews-section .review-quote p {
    font-size: 1rem;
  }
}

/* ====================
   SPONSORS SECTION
   ==================== */
.sponsors-section .sponsors-title {
  margin-bottom: 3rem;
  font-weight: var(--font-weight-bold);
}
.sponsors-section .sponsor-group-label {
  font-size: 24px;
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-secondary);
  margin-bottom: 2rem;
}
.sponsors-section .sponsors-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 2rem;
  justify-items: center;
}
@media (max-width: 768px) {
  .sponsors-section .sponsors-grid {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 1.5rem;
  }
}
.sponsors-section .sponsor-item {
  text-align: center;
  height: 200px;
  width: 200px;
  border: 1px solid var(--color-neutral-400);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  background: white;
}
@media (max-width: 768px) {
  .sponsors-section .sponsor-item {
    height: 150px;
    width: 150px;
    padding: 15px;
  }
}
.sponsors-section .sponsor-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.sponsors-section .sponsor-item a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  text-decoration: none;
  color: var(--color-text-secondary);
}
.sponsors-section .sponsor-item .sponsor-logo {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}

/* ====================
   MEMBERSHIPS SECTION
   ==================== */
.memberships-section .section-title {
  font-weight: var(--font-weight-bold);
  color: var(--color-text-primary);
}
.memberships-section .memberships-block {
  background-color: var(--color-neutral-900);
  border-radius: 1rem;
  padding: 3rem;
  color: white;
}
@media (max-width: 991px) {
  .memberships-section .memberships-block {
    padding: 2rem;
  }
}
@media (max-width: 767px) {
  .memberships-section .memberships-block {
    padding: 1.5rem;
  }
}
.memberships-section .membership-tabs {
  display: flex;
  flex-direction: column;
  gap: 0;
}
@media (max-width: 991px) {
  .memberships-section .membership-tabs {
    flex-direction: row;
    margin-bottom: 2rem;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    gap: 1rem;
  }
}
.memberships-section .membership-tab {
  background: transparent;
  border: none;
  color: rgba(255, 255, 255, 0.7);
  font-size: 24px;
  font-weight: var(--font-weight-semibold);
  text-align: left;
  padding: 1rem 0;
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
@media (max-width: 991px) {
  .memberships-section .membership-tab {
    text-align: center;
    padding: 0.75rem 1.5rem;
    border-bottom: none;
    border-radius: 0.5rem;
    white-space: nowrap;
    min-width: -moz-fit-content;
    min-width: fit-content;
  }
}
.memberships-section .membership-tab:last-child {
  border-bottom: none;
}
.memberships-section .membership-tab:hover {
  color: white;
}
.memberships-section .membership-tab.active {
  color: white;
}
.memberships-section .membership-tab.active::before {
  content: "";
  position: absolute;
  left: -3rem;
  top: 50%;
  transform: translateY(-50%);
  width: 4px;
  height: 2rem;
  background-color: var(--color-plum-300);
  border-radius: 2px;
}
@media (max-width: 991px) {
  .memberships-section .membership-tab.active::before {
    display: none;
  }
}
@media (max-width: 991px) {
  .memberships-section .membership-tab.active {
    background-color: rgba(255, 255, 255, 0.1);
  }
}
.memberships-section .membership-content .membership-title {
  font-size: 32px;
  font-weight: var(--font-weight-bold);
  color: white;
  margin-bottom: 2rem;
}
@media (max-width: 767px) {
  .memberships-section .membership-content .membership-title {
    font-size: 28px;
    margin-bottom: 1.5rem;
  }
}
.memberships-section .membership-content .membership-details {
  display: none;
}
.memberships-section .membership-content .membership-details.active {
  display: block;
}
.memberships-section .membership-content .membership-benefits {
  margin: 0 0 2rem 0;
  color: rgba(255, 255, 255, 0.9);
  line-height: 1.6;
}
.memberships-section .membership-content .membership-benefits ul,
.memberships-section .membership-content .membership-benefits ol {
  list-style: none;
  padding: 0;
  margin: 0;
}
.memberships-section .membership-content .membership-benefits ul li,
.memberships-section .membership-content .membership-benefits ol li {
  position: relative;
  padding-left: 1.5rem;
  margin-bottom: 0.75rem;
}
.memberships-section .membership-content .membership-benefits ul li::before,
.memberships-section .membership-content .membership-benefits ol li::before {
  content: "•";
  position: absolute;
  left: 0;
  color: var(--color-sage-400);
  font-weight: bold;
}
.memberships-section .membership-content .membership-benefits ol {
  counter-reset: membership-counter;
}
.memberships-section .membership-content .membership-benefits ol li {
  counter-increment: membership-counter;
}
.memberships-section .membership-content .membership-benefits ol li::before {
  content: counter(membership-counter) ".";
}
.memberships-section .membership-content .membership-benefits p {
  margin-bottom: 0.75rem;
}
.memberships-section .membership-content .membership-benefits p:last-child {
  margin-bottom: 0;
}
.memberships-section .membership-content .membership-actions {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  align-items: flex-start;
}
@media (max-width: 767px) {
  .memberships-section .membership-content .membership-actions {
    gap: 1rem;
  }
}
.memberships-section .membership-content .membership-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 18px;
  font-weight: var(--font-weight-semibold);
}
.memberships-section .membership-content .membership-btn .material-icons {
  font-size: 20px;
}
.memberships-section .membership-content .membership-price {
  background-color: var(--color-sage-400);
  color: var(--color-neutral-900);
  padding: 0.75rem 1.5rem;
  font-size: 18px;
  font-weight: var(--font-weight-semibold);
  display: inline-block;
}
.memberships-section .membership-content .auto-renew-option .auto-renew-label {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  cursor: pointer;
  color: rgba(255, 255, 255, 0.9);
  font-size: 16px;
  margin: 0;
}
.memberships-section .membership-content .auto-renew-option .auto-renew-checkbox {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 20px;
  height: 20px;
  border: 2px solid rgba(255, 255, 255, 0.5);
  border-radius: 3px;
  position: relative;
  cursor: pointer;
  transition: all 0.2s ease;
}
.memberships-section .membership-content .auto-renew-option .auto-renew-checkbox:checked {
  background-color: var(--color-sage-400);
  border-color: var(--color-sage-400);
}
.memberships-section .membership-content .auto-renew-option .auto-renew-checkbox:checked::after {
  content: "✓";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: var(--color-neutral-900);
  font-size: 12px;
  font-weight: bold;
}
.memberships-section .membership-content .auto-renew-option .auto-renew-checkbox:hover {
  border-color: rgba(255, 255, 255, 0.8);
}

.show-credits {
  margin-bottom: 3rem;
}
.show-credits h2 {
  margin-bottom: 1rem;
}
.show-credits .credits-list {
  margin: 0;
  padding: 0;
}
.show-credits .credits-list .credit-item {
  display: flex;
  margin-bottom: 0.5rem;
  padding: 10px 20px;
}
.show-credits .credits-list .credit-item dt {
  font-weight: 600;
  margin-right: 1rem;
  min-width: 150px;
}
.show-credits .credits-list .credit-item dd {
  margin: 0;
}
.show-credits .credits-list .credit-item dd a {
  color: inherit;
  text-decoration: none;
}
.show-credits .credits-list .credit-item dd a:hover {
  text-decoration: underline;
}
.show-credits .credits-grid .credit-card {
  display: flex;
  flex-direction: column;
  text-align: left;
}
.show-credits .credits-grid .credit-card__image {
  margin-bottom: 1rem;
  overflow: hidden;
  background-color: #f5f5f5;
  position: relative;
  padding-top: 100%;
}
.show-credits .credits-grid .credit-card__image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.show-credits .credits-grid .credit-card__content {
  flex: 1;
}
.show-credits .credits-grid .credit-card__name {
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 0.25rem;
  line-height: 1.3;
}
@media (max-width: 767.98px) {
  .show-credits .credits-grid .credit-card__name {
    font-size: 1rem;
  }
}
.show-credits .credits-grid .credit-card__name a {
  color: inherit;
  text-decoration: none;
}
.show-credits .credits-grid .credit-card__name a:hover {
  text-decoration: underline;
}
.show-credits .credits-grid .credit-card__role {
  font-size: 1rem;
  margin-bottom: 0;
  color: #666;
}
@media (max-width: 767.98px) {
  .show-credits .credits-grid .credit-card__role {
    font-size: 0.875rem;
  }
}

/* ====================
   ACCORDION BLOCK STYLES
   ==================== */
.accordion-block .accordion-section-title {
  font-size: 32px;
  font-weight: var(--font-weight-bold);
  color: var(--color-text-primary);
  margin-bottom: 0;
}
@media (max-width: 991px) {
  .accordion-block .accordion-section-title {
    font-size: 26px;
    margin-bottom: 2rem;
  }
}
@media (max-width: 767px) {
  .accordion-block .accordion-section-title {
    font-size: 22px;
  }
}

@media (max-width: 991px) {
  .row .col-lg-3,
  .row .col-lg-9 {
    width: 100%;
    max-width: 100%;
  }
}
/* ====================
   DIVIDER BLOCK STYLES
   ==================== */
.divider-block .divider-line {
  border: 0;
  height: 1px;
  background-color: #c6c6c6;
  margin: 0;
  opacity: 1;
}
.divider-block.divider-spacing-small {
  padding: 2rem 0;
}
.divider-block.divider-spacing-medium {
  padding: 4rem 0;
}
.divider-block.divider-spacing-large {
  padding: 6rem 0;
}
@media (max-width: 767px) {
  .divider-block.divider-spacing-small {
    padding: 1.5rem 0;
  }
  .divider-block.divider-spacing-medium {
    padding: 3rem 0;
  }
  .divider-block.divider-spacing-large {
    padding: 4rem 0;
  }
}

.downloads-block .download-item {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  padding: 2rem 0;
}
.downloads-block .download-item:last-child {
  border-bottom: none;
}
.downloads-block .download-item img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
.downloads-block .download-item .download-title {
  color: var(--color-cherry-500);
  font-size: 26px;
}
.downloads-block .download-item p {
  color: var(--color-text-secondary);
  font-size: 18px;
  line-height: 1.5;
}

.breadcrumb-nav .breadcrumb {
  background: none;
  padding: 0;
  margin-bottom: 0;
  color: #fff;
  display: flex;
  align-items: center;
}
.breadcrumb-nav .breadcrumb .breadcrumb-item {
  color: #fff;
  font-size: 1.1rem;
  font-weight: var(--font-weight-semibold);
}
.breadcrumb-nav .breadcrumb .breadcrumb-item a {
  color: #fff;
  text-decoration: none;
}
.breadcrumb-nav .breadcrumb .breadcrumb-item a:hover, .breadcrumb-nav .breadcrumb .breadcrumb-item a:focus {
  color: #fff;
  text-decoration: underline;
}
.breadcrumb-nav .breadcrumb .breadcrumb-item.active {
  color: #fff;
}
.breadcrumb-nav .breadcrumb .breadcrumb-item.breadcrumb-separator {
  padding: 0;
  font-weight: normal;
}
.breadcrumb-nav .breadcrumb .breadcrumb-item.breadcrumb-separator .material-icons {
  color: #fff;
  font-size: 1.1em;
  vertical-align: middle;
  margin: 0 0.25rem;
}
.breadcrumb-nav .breadcrumb .material-icons {
  color: #fff;
  font-size: 1.1em !important;
  vertical-align: middle;
  margin: 0 0.25em;
}

.sign-off {
  padding: 4rem 0;
  background-color: var(--color-cherry-400);
  position: relative;
  overflow: hidden;
  color: white;
  border-radius: 1rem;
}
.sign-off.bg-triangles {
  background-image: url("../images/triangles.svg");
  background-repeat: no-repeat;
  background-position: left center;
  background-size: auto 400%;
}
.sign-off.bg-circle {
  background-image: url("../images/circle.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: auto 250%;
}
.sign-off .sign-off-image {
  width: 80px;
  height: 80px;
  margin: 0 auto;
}
.sign-off .sign-off-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.sign-off .sign-off-heading {
  font-size: 26px;
  font-weight: var(--font-weight-bold);
  color: white;
}
.sign-off .sign-off-content p {
  margin-bottom: 1rem;
}
.sign-off .sign-off-content p:last-child {
  margin-bottom: 0;
}
.sign-off .sign-off-content a {
  color: #afd5aa;
  text-decoration: underline;
}

.g-6 {
  --bs-gutter-x: 4rem;
  --bs-gutter-y: 4rem;
}

.single-post .post-meta {
  color: #646970;
  font-size: 0.9rem;
}
.single-post .post-content {
  font-size: 1.1rem;
  line-height: 1.7;
}
.single-post .post-content p {
  margin-bottom: 1.5rem;
}
.single-post .post-content img {
  max-width: 100%;
  height: auto;
  margin: 2rem 0;
}
.single-post .post-content h2,
.single-post .post-content h3,
.single-post .post-content h4 {
  margin: 2rem 0 1rem;
}

.related-posts .section-title {
  font-size: 2rem;
  font-weight: 600;
  margin-bottom: 2rem;
}

/* Formatted List Section */
.formatted-list-section .section-title {
  font-size: 42px;
  font-weight: var(--font-weight-bold);
}
.formatted-list-section .list-item,
.formatted-list-section .list-item-link {
  display: block;
  height: 100%;
  padding: 1.5rem;
  border: 1px solid var(--color-neutral-200);
  border-radius: 4px;
  transition: transform 0.2s ease-in-out;
  text-decoration: none;
  color: inherit;
}
.formatted-list-section .list-item:hover,
.formatted-list-section .list-item-link:hover {
  transform: translateY(-2px);
}
.formatted-list-section .list-item-content .item-row:not(:last-child) {
  margin-bottom: 0.5rem;
}
.formatted-list-section.bg-dark .list-item,
.formatted-list-section.bg-dark .list-item-link {
  border-color: var(--color-neutral-800);
}
@media (max-width: 767px) {
  .formatted-list-section .section-title {
    font-size: 32px;
  }
  .formatted-list-section .list-item,
  .formatted-list-section .list-item-link {
    padding: 1rem;
  }
  .formatted-list-section .list-item-content .item-row-primary {
    font-size: 18px;
  }
}

/* ====================
   SPACES GRID SECTION
   ==================== */
section.spaces-section .section-title {
  font-weight: var(--font-weight-bold);
  color: var(--color-text-primary);
}
section.spaces-section .meta {
  font-size: 18px;
}
section.spaces-section .description {
  font-size: 18px;
}
section.spaces-section .image-container {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  overflow: hidden;
  background-color: var(--color-neutral-200);
}
section.spaces-section .image-container img,
section.spaces-section .image-container picture,
section.spaces-section .image-container .placeholder {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
section.spaces-section .image-container img {
  -o-object-fit: cover;
     object-fit: cover;
}
section.spaces-section .image-container .placeholder {
  background: var(--color-neutral-300);
}
section.spaces-section.is-dark {
  background-color: var(--color-neutral-900);
  color: white;
}
section.spaces-section.is-dark .section-title,
section.spaces-section.is-dark .event-card .title,
section.spaces-section.is-dark .event-card .description {
  color: white;
}
section.spaces-section.is-dark .text-muted {
  color: rgba(255, 255, 255, 0.75) !important;
}
section.spaces-section.is-dark a {
  color: inherit;
}
section.spaces-section.is-dark .btn.btn-secondary {
  color: white;
  border-bottom-color: var(--color-plum-300);
}

.profile-section .profile-item .profile-image {
  overflow: hidden;
}
.profile-section .profile-item .profile-image img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.3s ease;
}
.profile-section .profile-item .profile-content .profile-name {
  margin-bottom: 0.25rem;
  font-weight: 600;
  font-size: 1rem;
  line-height: 1.2;
}
.profile-section .profile-item .profile-content .profile-role {
  color: var(--bs-secondary);
  font-size: 0.875rem;
  line-height: 1.3;
}
.profile-section .profile-item.profile-item--portrait .profile-image {
  margin-bottom: 0.75rem;
}
.profile-section .profile-item.profile-item--portrait .profile-image img {
  height: 258px;
  width: 258px;
  max-width: 100%;
}
.profile-section .profile-item.profile-item--portrait:hover .profile-image img {
  transform: scale(1.02);
}
.profile-section .profile-item.profile-item--landscape {
  display: flex;
  align-items: center;
  text-align: left;
  gap: 1rem;
}
.profile-section .profile-item.profile-item--landscape .profile-image {
  flex-shrink: 0;
  width: 118px;
  height: 118px;
  margin-bottom: 0;
}
.profile-section .profile-item.profile-item--landscape .profile-image img {
  height: 100%;
}
.profile-section .profile-item.profile-item--landscape .profile-content {
  flex: 1;
  min-width: 0;
}
.profile-section .profile-item.profile-item--landscape .profile-content .profile-name {
  margin-bottom: 0.125rem;
  font-size: 1rem;
}
.profile-section .profile-item.profile-item--landscape .profile-content .profile-role {
  font-size: 0.875rem;
}
.profile-section .profile-item.profile-item--landscape:hover .profile-image img {
  transform: scale(1.05);
}
@media (max-width: 767.98px) {
  .profile-section .profile-item--landscape {
    flex-direction: column;
    text-align: center;
    align-items: center;
  }
  .profile-section .profile-item--landscape .profile-image {
    width: 50px;
    height: 50px;
    margin-bottom: 0.5rem;
  }
  .profile-section .profile-item--landscape .profile-content {
    padding-top: 0;
  }
}

.text-image-section .text-image-image img {
  width: 100%;
  height: auto;
}
.text-image-section .text-image-content .text-image-title {
  font-weight: 600;
  font-size: 2rem;
  line-height: 1.2;
  margin-bottom: 1.5rem;
}
.text-image-section .text-image-content .text-image-text {
  font-size: 1.125rem;
  line-height: 1.6;
}
.text-image-section .text-image-content .text-image-text p {
  margin-bottom: 1rem;
}
.text-image-section .text-image-content .text-image-text p:last-child {
  margin-bottom: 0;
}
.text-image-section .text-image-content .text-image-button {
  margin-top: 2rem;
}
@media (max-width: 991.98px) {
  .text-image-section .text-image-content {
    margin-top: 2rem;
  }
  .text-image-section .text-image-content .text-image-title {
    font-size: 1.75rem;
    margin-bottom: 1rem;
  }
  .text-image-section .text-image-content .text-image-text {
    font-size: 1rem;
  }
}
@media (max-width: 767.98px) {
  .text-image-section .text-image-content {
    margin-top: 1.5rem;
  }
  .text-image-section .text-image-content .text-image-title {
    font-size: 1.5rem;
  }
}

.video-section .video-content .video-title {
  font-weight: 600;
  font-size: 2rem;
  line-height: 1.2;
  margin-bottom: 2rem;
}
.video-section .video-content .video-wrapper {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
}
.video-section .video-content .video-wrapper .video-iframe,
.video-section .video-content .video-wrapper .video-player {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 8px;
}
.video-section .video-content .video-wrapper .video-player {
  -o-object-fit: cover;
     object-fit: cover;
  background: #000;
}
.video-section .video-content .video-description {
  font-size: 1rem;
  line-height: 1.5;
  color: var(--bs-secondary);
  margin-top: 1rem;
}
.video-section .video-content .video-description p {
  margin-bottom: 0;
}
@media (max-width: 991.98px) {
  .video-section .video-content .video-title {
    font-size: 1.75rem;
    margin-bottom: 1.5rem;
  }
}
@media (max-width: 767.98px) {
  .video-section .video-content .video-title {
    font-size: 1.5rem;
    margin-bottom: 1rem;
  }
  .video-section .video-content .video-description {
    font-size: 0.875rem;
  }
}

/* ====================
   SHOW RELATED SECTION (Upcoming Events Style)
   ==================== */
.show-related-section .upcoming-event-card .event-image {
  margin-bottom: 20px;
}
.show-related-section .upcoming-event-card .event-content h3.event-title {
  margin-bottom: 10px !important;
}
.show-related-section .upcoming-event-card .event-content h3.event-title a {
  font-size: 26px;
  color: var(--color-neutral-900);
  text-decoration: none;
}
.show-related-section .upcoming-event-card .event-content h3.event-title a:hover {
  color: var(--color-primary);
}
.show-related-section .upcoming-event-card .event-content .event-dates {
  font-weight: var(--font-weight-semibold);
  margin-bottom: 15px;
}
.show-related-section .upcoming-event-card .event-content .event-excerpt {
  font-size: 18px;
  margin-bottom: 20px;
}
@media (max-width: 768px) {
  .show-related-section .upcoming-event-card {
    margin-bottom: 30px;
  }
}

/* ====================
   SINGLE SPACE PAGE STYLES
   ==================== */
.space-header {
  padding: 4rem 0;
  background-color: var(--color-neutral-900);
  padding-bottom: 260px;
}
.space-header .header-content {
  max-width: 800px;
}
.space-header .space-booking-info {
  height: 100%;
}
.space-header .breadcrumb a {
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  font-weight: var(--font-weight-regular);
  transition: color 0.2s ease;
}
.space-header .breadcrumb a:hover {
  color: white;
}
.space-header .page-title {
  font-size: 5rem;
  line-height: 1;
  margin-bottom: 1.5rem;
  font-weight: var(--font-weight-bold);
  letter-spacing: -0.02em;
}
.space-header .space-meta {
  font-size: 1.5rem;
  color: rgba(255, 255, 255, 0.8);
  font-weight: var(--font-weight-light);
}
.space-header .space-meta .meta-separator {
  opacity: 0.6;
}
@media (max-width: 991px) {
  .space-header {
    padding: 3rem 0;
  }
  .space-header .page-title {
    font-size: 3.5rem;
  }
  .space-header .space-meta {
    font-size: 1.25rem;
  }
}
@media (max-width: 767px) {
  .space-header {
    padding: 2rem 0;
  }
  .space-header .page-title {
    font-size: 2.5rem;
  }
  .space-header .space-meta {
    font-size: 1rem;
  }
  .space-header .space-booking-info {
    margin-top: 2rem;
    text-align: center !important;
  }
}

.space-single {
  padding: 6rem 0;
}
.space-single .featured-image {
  position: relative;
  z-index: 3;
  border-radius: 10px;
  max-height: 1030px;
  margin-top: -350px;
}
.space-single .featured-image img {
  width: 100%;
  height: 100%;
  border-radius: 10px;
}
.space-single .space-content {
  font-size: 1.25rem;
  line-height: 1.7;
  color: var(--color-text-primary);
}
.space-single .space-content p {
  margin-bottom: 2rem;
}
.space-single .space-content h2,
.space-single .space-content h3,
.space-single .space-content h4 {
  margin: 2.5rem 0 1.5rem;
  color: var(--color-text-primary);
}
.space-single .space-content ul,
.space-single .space-content ol {
  margin-bottom: 2rem;
  padding-left: 2rem;
}
.space-single .space-content ul li,
.space-single .space-content ol li {
  margin-bottom: 0.5rem;
}
.space-single .space-sidebar .sidebar-item {
  margin-bottom: 2rem;
  border-bottom: 1px solid var(--color-neutral-300);
  display: flex;
  justify-content: space-between;
  padding-bottom: 1rem;
}
.space-single .space-sidebar .sidebar-item:last-child {
  border-bottom: none;
}
.space-single .space-sidebar .sidebar-item h3 {
  font-size: 18px;
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
  margin-bottom: 0;
  letter-spacing: 0.05em;
  flex-shrink: 0;
  width: 120px;
}
.space-single .space-sidebar .sidebar-item .sidebar-item-details {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  text-align: right;
}
.space-single .space-sidebar .sidebar-item .sidebar-item-details p {
  font-size: 1.25rem;
  margin-bottom: 0.5rem;
  color: var(--color-text-primary);
}
.space-single .space-sidebar .sidebar-item .sidebar-item-details p:last-child {
  margin-bottom: 0;
}
.space-single .space-sidebar .sidebar-item .sidebar-item-details .interval-note {
  color: var(--color-text-secondary);
  font-size: 1rem;
  font-style: italic;
}
.space-single .space-sidebar .space-booking-cta {
  margin-top: 3rem;
}
@media (max-width: 991px) {
  .space-single {
    padding: 4rem 0;
  }
  .space-single .featured-image {
    margin-top: -200px;
    max-height: 600px;
  }
  .space-single .space-content {
    font-size: 1.125rem;
  }
  .space-single .space-sidebar {
    margin-top: 3rem;
  }
}
@media (max-width: 767px) {
  .space-single {
    padding: 2rem 0;
  }
  .space-single .featured-image {
    margin-top: -100px;
    max-height: 400px;
  }
  .space-single .space-content {
    font-size: 1rem;
  }
  .space-single .space-sidebar .sidebar-item {
    flex-direction: column;
    align-items: flex-start;
  }
  .space-single .space-sidebar .sidebar-item h3 {
    width: auto;
    margin-bottom: 0.5rem;
  }
  .space-single .space-sidebar .sidebar-item .sidebar-item-details {
    align-items: flex-start;
    text-align: left;
  }
}

.space-facilities-section .facilities-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 2rem;
  max-width: 1000px;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .space-facilities-section .facilities-grid {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 1.5rem;
  }
}
.space-facilities-section .facility-item {
  text-align: center;
  padding: 2rem 1rem;
  border: 1px solid var(--color-neutral-300);
  border-radius: 8px;
  transition: all 0.3s ease;
  background: white;
}
.space-facilities-section .facility-item:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
  border-color: var(--color-sage-400);
}
.space-facilities-section .facility-item .facility-icon {
  margin-bottom: 1rem;
}
.space-facilities-section .facility-item .facility-icon .material-icons {
  font-size: 3rem;
  color: var(--color-sage-400);
  display: block;
}
.space-facilities-section .facility-item .facility-label {
  font-size: 1rem;
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
  line-height: 1.4;
}
@media (max-width: 767px) {
  .space-facilities-section .facility-item {
    padding: 1.5rem 0.75rem;
  }
  .space-facilities-section .facility-item .facility-icon .material-icons {
    font-size: 2.5rem;
  }
  .space-facilities-section .facility-item .facility-label {
    font-size: 0.875rem;
  }
}

.space-contact-section .contact-info-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 3rem;
  margin: 3rem 0;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 767px) {
  .space-contact-section .contact-info-grid {
    gap: 2rem;
    margin: 2rem 0;
  }
}
.space-contact-section .contact-method {
  text-align: center;
}
.space-contact-section .contact-method .contact-icon {
  margin-bottom: 1rem;
}
.space-contact-section .contact-method .contact-icon .material-icons {
  font-size: 3rem;
  color: var(--color-sage-400);
  display: block;
}
.space-contact-section .contact-method .contact-details h4 {
  font-size: 1.25rem;
  font-weight: var(--font-weight-semibold);
  margin-bottom: 0.5rem;
  color: white;
}
.space-contact-section .contact-method .contact-details p {
  margin: 0;
  font-size: 1.125rem;
}
.space-contact-section .contact-method .contact-details p a {
  color: var(--color-sage-400);
  text-decoration: none;
  transition: color 0.2s ease;
}
.space-contact-section .contact-method .contact-details p a:hover {
  color: var(--color-sage-300);
  text-decoration: underline;
}
.space-contact-section .additional-info .contact-text {
  font-size: 1rem;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.8);
}
.space-contact-section .additional-info .contact-text p {
  margin-bottom: 1rem;
}
.space-contact-section .additional-info .contact-text p:last-child {
  margin-bottom: 0;
}
@media (max-width: 767px) {
  .space-contact-section .contact-method .contact-icon .material-icons {
    font-size: 2.5rem;
  }
  .space-contact-section .contact-method .contact-details h4 {
    font-size: 1.125rem;
  }
  .space-contact-section .contact-method .contact-details p {
    font-size: 1rem;
  }
}

/* ====================
   SEARCH RESULTS PAGE STYLES
   ==================== */
.search-results-section {
  padding: 4rem 0;
  background-color: var(--color-background-primary);
}
.search-results-section .search-results-header {
  text-align: center;
  margin-bottom: 3rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid var(--color-neutral-200);
}
.search-results-section .search-results-header .search-results-title {
  font-size: 3rem;
  font-weight: var(--font-weight-bold);
  color: var(--color-text-primary);
  margin-bottom: 1rem;
}
.search-results-section .search-results-header .search-results-title .search-query {
  color: var(--color-primary);
  font-style: italic;
}
.search-results-section .search-results-header .search-results-count {
  font-size: 1.125rem;
  color: var(--color-text-secondary);
  font-weight: var(--font-weight-semibold);
}
.search-results-section .search-results-grid {
  margin-bottom: 3rem;
}
.search-results-section .search-results-grid .search-result-item {
  background: white;
  border: 1px solid var(--color-neutral-200);
  border-radius: 8px;
  padding: 2rem;
  margin-bottom: 2rem;
  transition: all 0.3s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}
.search-results-section .search-results-grid .search-result-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
  border-color: var(--color-primary);
}
.search-results-section .search-results-grid .search-result-item .search-result-content {
  display: flex;
  gap: 2rem;
  align-items: flex-start;
}
@media (max-width: 767px) {
  .search-results-section .search-results-grid .search-result-item .search-result-content {
    flex-direction: column;
    gap: 1rem;
  }
}
.search-results-section .search-results-grid .search-result-item .search-result-image {
  flex-shrink: 0;
  width: 200px;
  height: 150px;
  overflow: hidden;
  border-radius: 6px;
}
@media (max-width: 767px) {
  .search-results-section .search-results-grid .search-result-item .search-result-image {
    width: 100%;
    height: 200px;
  }
}
.search-results-section .search-results-grid .search-result-item .search-result-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.3s ease;
}
.search-results-section .search-results-grid .search-result-item .search-result-image:hover img {
  transform: scale(1.05);
}
.search-results-section .search-results-grid .search-result-item .search-result-details {
  flex: 1;
  min-width: 0;
}
.search-results-section .search-results-grid .search-result-item .search-result-header {
  margin-bottom: 1rem;
}
.search-results-section .search-results-grid .search-result-item .search-result-header .search-result-type {
  display: inline-block;
  background-color: var(--color-sage-400);
  color: var(--color-neutral-900);
  padding: 0.25rem 0.75rem;
  border-radius: 20px;
  font-size: 0.75rem;
  font-weight: var(--font-weight-semibold);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 0.75rem;
}
.search-results-section .search-results-grid .search-result-item .search-result-header .search-result-title {
  font-size: 1.5rem;
  font-weight: var(--font-weight-bold);
  margin: 0;
  line-height: 1.3;
}
.search-results-section .search-results-grid .search-result-item .search-result-header .search-result-title a {
  color: var(--color-text-primary);
  text-decoration: none;
  transition: color 0.2s ease;
}
.search-results-section .search-results-grid .search-result-item .search-result-header .search-result-title a:hover {
  color: var(--color-primary);
}
.search-results-section .search-results-grid .search-result-item .search-result-excerpt {
  color: var(--color-text-secondary);
  line-height: var(--line-height-relaxed);
  margin-bottom: 1.5rem;
}
.search-results-section .search-results-grid .search-result-item .search-result-excerpt p {
  margin-bottom: 0;
  font-size: 1rem;
}
.search-results-section .search-results-grid .search-result-item .search-result-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
}
@media (max-width: 767px) {
  .search-results-section .search-results-grid .search-result-item .search-result-meta {
    flex-direction: column;
    align-items: flex-start;
  }
}
.search-results-section .search-results-grid .search-result-item .search-result-meta .search-result-date {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--color-text-muted);
  font-size: 0.875rem;
}
.search-results-section .search-results-grid .search-result-item .search-result-meta .search-result-date .material-icons {
  font-size: 1rem;
  color: var(--color-primary);
}
.search-results-section .search-results-grid .search-result-item .search-result-meta .search-result-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--color-primary);
  text-decoration: none;
  font-weight: var(--font-weight-semibold);
  padding: 0.5rem 1rem;
  border: 2px solid var(--color-primary);
  border-radius: 4px;
  transition: all 0.2s ease;
}
.search-results-section .search-results-grid .search-result-item .search-result-meta .search-result-link:hover {
  background-color: var(--color-primary);
  color: white;
  text-decoration: none;
}
.search-results-section .search-results-grid .search-result-item .search-result-meta .search-result-link .material-icons {
  font-size: 1rem;
  transition: transform 0.2s ease;
}
.search-results-section .search-results-grid .search-result-item .search-result-meta .search-result-link:hover .material-icons {
  transform: translateX(2px);
}
.search-results-section .search-results-navigation {
  text-align: center;
}
.search-results-section .search-results-navigation .pagination {
  justify-content: center;
  gap: 0.5rem;
}
.search-results-section .search-results-navigation .pagination .page-link {
  border: 2px solid var(--color-neutral-300);
  color: var(--color-text-primary);
  padding: 0.75rem 1rem;
  font-weight: var(--font-weight-semibold);
  transition: all 0.2s ease;
}
.search-results-section .search-results-navigation .pagination .page-link:hover {
  background-color: var(--color-primary);
  border-color: var(--color-primary);
  color: white;
}
.search-results-section .search-results-navigation .pagination .page-link .material-icons {
  font-size: 1.2rem;
  vertical-align: middle;
}
.search-results-section .search-results-navigation .pagination .page-item.active .page-link {
  background-color: var(--color-primary);
  border-color: var(--color-primary);
  color: white;
}
.search-results-section .search-results-navigation .pagination .page-item.disabled .page-link {
  color: var(--color-text-muted);
  border-color: var(--color-neutral-300);
  background-color: transparent;
}
.search-results-section .search-no-results {
  text-align: center;
  padding: 4rem 2rem;
}
.search-results-section .search-no-results .no-results-content {
  max-width: 600px;
  margin: 0 auto;
}
.search-results-section .search-no-results .no-results-icon {
  font-size: 4rem;
  color: var(--color-text-muted);
  margin-bottom: 1.5rem;
}
.search-results-section .search-no-results .no-results-title {
  font-size: 2.5rem;
  font-weight: var(--font-weight-bold);
  color: var(--color-text-primary);
  margin-bottom: 1rem;
}
.search-results-section .search-no-results .no-results-text {
  font-size: 1.125rem;
  color: var(--color-text-secondary);
  line-height: var(--line-height-relaxed);
  margin-bottom: 2rem;
}
.search-results-section .search-no-results .no-results-actions {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
}
@media (max-width: 767px) {
  .search-results-section .search-no-results .no-results-actions {
    flex-direction: column;
    align-items: center;
  }
}
@media (max-width: 991px) {
  .search-results-section {
    padding: 3rem 0;
  }
  .search-results-section .search-results-header {
    margin-bottom: 2rem;
    padding-bottom: 1.5rem;
  }
  .search-results-section .search-results-header .search-results-title {
    font-size: 2.5rem;
  }
  .search-results-section .search-results-grid .search-result-item {
    padding: 1.5rem;
    margin-bottom: 1.5rem;
  }
}
@media (max-width: 767px) {
  .search-results-section {
    padding: 2rem 0;
  }
  .search-results-section .search-results-header {
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
  }
  .search-results-section .search-results-header .search-results-title {
    font-size: 2rem;
  }
  .search-results-section .search-results-header .search-results-count {
    font-size: 1rem;
  }
  .search-results-section .search-results-grid .search-result-item {
    padding: 1rem;
    margin-bottom: 1rem;
  }
  .search-results-section .search-results-grid .search-result-item .search-result-header .search-result-title {
    font-size: 1.25rem;
  }
  .search-results-section .search-no-results {
    padding: 2rem 1rem;
  }
  .search-results-section .search-no-results .no-results-title {
    font-size: 2rem;
  }
  .search-results-section .search-no-results .no-results-text {
    font-size: 1rem;
  }
}

/* ====================
   GALLERY BLOCK STYLES
   ==================== */
/* ====================
   On This Page Menu
   ==================== */
.on-this-page-menu {
  padding: 2rem 0;
}
.on-this-page-menu .on-this-page-content {
  padding: 1.5rem 0;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
}
@media (max-width: 768px) {
  .on-this-page-menu .on-this-page-content {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
  }
}
.on-this-page-menu .on-this-page-title {
  font-size: 16px;
  font-weight: var(--font-weight-semibold);
  margin: 0;
  color: var(--color-neutral-900);
  white-space: nowrap;
}
.on-this-page-menu .on-this-page-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0;
}
.on-this-page-menu .on-this-page-item {
  margin: 0;
  display: flex;
  align-items: center;
}
.on-this-page-menu .on-this-page-item:not(:last-child)::after {
  content: "";
  display: inline-block;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--color-neutral-500);
  margin: 0 1rem;
}
.on-this-page-menu .on-this-page-link {
  font-size: 16px;
  font-weight: var(--font-weight-normal);
  color: var(--color-neutral-900);
  text-decoration: none;
  transition: color 0.2s ease;
  white-space: nowrap;
}
.on-this-page-menu .on-this-page-link:hover {
  color: var(--color-cherry-500);
}

.gallery-block .gallery-title {
  text-align: center;
  margin-bottom: 2rem;
}
.gallery-block .gallery-panel .gallery-item {
  position: relative;
  overflow: hidden;
}
.gallery-block .gallery-panel .gallery-item .gallery-image-wrapper {
  position: relative;
  overflow: hidden;
}
.gallery-block .gallery-panel .gallery-item .gallery-image-wrapper img {
  width: 100%;
  height: 250px;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.3s ease;
}
.gallery-block .gallery-panel .gallery-item .gallery-image-wrapper:hover img {
  transform: scale(1.05);
}
.gallery-block .gallery-panel .gallery-item .gallery-image-wrapper .gallery-caption {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.8));
  color: white;
  padding: 2rem 1rem 1rem;
  transform: translateY(100%);
  transition: transform 0.3s ease;
}
.gallery-block .gallery-panel .gallery-item .gallery-image-wrapper .gallery-caption p {
  margin: 0;
  font-size: 0.875rem;
  line-height: 1.4;
}
.gallery-block .gallery-panel .gallery-item .gallery-image-wrapper:hover .gallery-caption {
  transform: translateY(0);
}
.gallery-block .gallery-panel .gallery-item a {
  text-decoration: none;
  color: inherit;
}
.gallery-block .gallery-thumbnails .gallery-item .gallery-thumbnail {
  position: relative;
  overflow: hidden;
  border-radius: 0.25rem;
  transition: opacity 0.3s ease;
}
.gallery-block .gallery-thumbnails .gallery-item .gallery-thumbnail img {
  width: 100%;
  height: 250px;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.3s ease;
}
.gallery-block .gallery-thumbnails .gallery-item .gallery-thumbnail:hover {
  opacity: 0.8;
}
.gallery-block .gallery-thumbnails .gallery-item .gallery-thumbnail:hover img {
  transform: scale(1.1);
}
.gallery-block .gallery-thumbnails .gallery-item a {
  text-decoration: none;
}
.gallery-block .gallery-carousel .carousel-image-wrapper {
  position: relative;
  height: 500px;
  overflow: hidden;
  border-radius: 0.5rem;
}
.gallery-block .gallery-carousel .carousel-image-wrapper img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.gallery-block .gallery-carousel .carousel-caption {
  background: rgba(0, 0, 0, 0.6);
  border-radius: 0.25rem;
  -webkit-backdrop-filter: blur(5px);
          backdrop-filter: blur(5px);
  bottom: 2rem;
  left: 2rem;
  right: 2rem;
  text-align: left;
}
.gallery-block .gallery-carousel .carousel-caption p {
  margin: 0;
  font-size: 1rem;
  line-height: 1.5;
}
.gallery-block .gallery-carousel .carousel-control-prev,
.gallery-block .gallery-carousel .carousel-control-next {
  width: 60px;
  height: 60px;
  background: rgba(0, 0, 0, 0.5);
  border-radius: 50%;
  top: 50%;
  transform: translateY(-50%);
  opacity: 0.8;
  transition: opacity 0.3s ease, background-color 0.3s ease;
}
.gallery-block .gallery-carousel .carousel-control-prev:hover,
.gallery-block .gallery-carousel .carousel-control-next:hover {
  opacity: 1;
  background: rgba(0, 0, 0, 0.7);
}
.gallery-block .gallery-carousel .carousel-control-prev .material-icons,
.gallery-block .gallery-carousel .carousel-control-next .material-icons {
  font-size: 2rem;
  color: white;
}
.gallery-block .gallery-carousel .carousel-control-prev {
  left: 1rem;
}
.gallery-block .gallery-carousel .carousel-control-next {
  right: 1rem;
}
.gallery-block .gallery-carousel .carousel-indicators {
  position: absolute;
  bottom: 2rem;
  left: 50%;
  transform: translateX(-50%);
  margin: 0;
  z-index: 15;
  display: flex;
  justify-content: center;
  align-items: center;
}
.gallery-block .gallery-carousel .carousel-indicators button {
  display: none;
  opacity: 0;
  width: 0;
  height: 0;
  margin: 0;
  padding: 0;
  border: none;
}
.gallery-block .gallery-carousel .carousel-indicators .carousel-counter {
  background: rgba(0, 0, 0, 0.85);
  color: white;
  padding: 0.75rem 2rem;
  border-radius: 0.375rem;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1.125rem;
  font-weight: 500;
  -webkit-backdrop-filter: blur(4px);
          backdrop-filter: blur(4px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}
.gallery-block .gallery-carousel .carousel-indicators .carousel-counter .current-slide {
  font-weight: 600;
  font-size: 1.25rem;
}
.gallery-block .gallery-carousel .carousel-indicators .carousel-counter .counter-separator {
  font-weight: 400;
  opacity: 0.9;
}
.gallery-block .gallery-carousel .carousel-indicators .carousel-counter .total-slides {
  font-weight: 600;
  font-size: 1.25rem;
}
@media (max-width: 768px) {
  .gallery-block .gallery-panel .gallery-item .gallery-image-wrapper img,
  .gallery-block .gallery-carousel .carousel-image-wrapper {
    height: 200px;
  }
  .gallery-block .gallery-thumbnails .gallery-item .gallery-thumbnail img {
    height: 100px;
  }
  .gallery-block .gallery-carousel .carousel-control-prev,
  .gallery-block .gallery-carousel .carousel-control-next {
    width: 50px;
    height: 50px;
  }
  .gallery-block .gallery-carousel .carousel-control-prev .material-icons,
  .gallery-block .gallery-carousel .carousel-control-next .material-icons {
    font-size: 1.5rem;
  }
  .gallery-block .gallery-carousel .carousel-caption {
    bottom: 1rem;
    left: 1rem;
    right: 1rem;
  }
  .gallery-block .gallery-carousel .carousel-caption p {
    font-size: 0.875rem;
  }
  .gallery-block .gallery-carousel .carousel-indicators {
    bottom: 1rem;
  }
  .gallery-block .gallery-carousel .carousel-indicators .carousel-counter {
    padding: 0.5rem 1.25rem;
    font-size: 0.9375rem;
  }
  .gallery-block .gallery-carousel .carousel-indicators .carousel-counter .current-slide,
  .gallery-block .gallery-carousel .carousel-indicators .carousel-counter .total-slides {
    font-size: 1rem;
  }
}

/* Person Pages */
.person-single {
  padding-top: 3rem;
  padding-bottom: 3rem;
}
.person-single .person-content .person-biography h2 {
  color: var(--color-neutral-800);
  font-weight: 600;
  margin-bottom: 1.5rem;
}

.person-sidebar .person-image img {
  border-radius: 0.5rem;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}
.person-sidebar .person-role h3 {
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.person-sidebar .person-contact h3 {
  color: var(--color-neutral-800);
  font-weight: 600;
  margin-bottom: 1rem;
}
.person-sidebar .person-contact ul li a {
  color: var(--color-neutral-700);
  text-decoration: none;
  transition: color 0.2s ease;
}
.person-sidebar .person-contact ul li a:hover {
  color: var(--color-neutral-800);
}
.person-sidebar .person-contact ul li i {
  color: var(--color-neutral-800);
  width: 20px;
}

.person-shows .section-title {
  color: var(--color-neutral-800);
  font-weight: 700;
  text-align: center;
}
.person-shows .role-section .role-title {
  color: var(--color-neutral-800);
  font-weight: 600;
  border-bottom: 2px solid var(--color-neutral-800);
  padding-bottom: 0.5rem;
  margin-bottom: 1.5rem;
}
.person-shows .role-section .show-card .card {
  border: none;
  border-radius: 0.75rem;
  overflow: hidden;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  transition: box-shadow 0.2s ease;
}
.person-shows .role-section .show-card .card .card-img-top-wrapper {
  height: 200px;
  overflow: hidden;
}
.person-shows .role-section .show-card .card .card-img-top-wrapper .card-img-top {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.person-shows .role-section .show-card .card .card-body {
  padding: 1.5rem;
}
.person-shows .role-section .show-card .card .card-body .card-title {
  color: var(--color-neutral-900);
  font-weight: 600;
  line-height: 1.3;
  margin-bottom: 0.5rem;
}
.person-shows .role-section .show-card .card .card-body .card-meta {
  font-size: 0.875rem;
  color: var(--color-neutral-600);
}
.person-shows .role-section .show-card .card .card-body .card-role {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--color-neutral-800);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.person-shows .role-section .show-card a {
  color: inherit;
}
.person-shows .role-section .show-card a:hover {
  color: inherit;
}

.person-title-section {
  background-color: var(--color-neutral-50) !important;
  border-bottom: 1px solid var(--color-neutral-200);
}
.person-title-section .person-title {
  color: var(--color-neutral-800);
  font-weight: 600;
  font-size: 1.5rem;
}

/* ======================================================================
   ACCESSIBILITY UTILITIES
   ====================================================================== */
.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.skip-link {
  position: absolute;
  left: -9999px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.skip-link:focus {
  position: fixed;
  top: 10px;
  left: 10px;
  width: auto;
  height: auto;
  padding: 8px 16px;
  background: #000;
  color: #fff;
  text-decoration: none;
  border-radius: 4px;
  z-index: 9999;
}

@media (prefers-contrast: high) {
  .btn {
    border: 2px solid currentColor;
  }
  a {
    text-decoration: underline;
  }
}
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
.accordion-item:focus-within .accordion-button {
  box-shadow: 0 0 0 3px rgba(0, 102, 204, 0.2);
}

.card:focus-within {
  outline: 2px solid #0066cc;
  outline-offset: 2px;
}

.btn {
  min-height: 44px;
  min-width: 44px;
}
.btn i.material-icons[aria-hidden=true],
.btn span.material-icons[aria-hidden=true] {
  pointer-events: none;
}

a:not(.btn) {
  text-decoration-thickness: 2px;
  text-underline-offset: 0.2em;
}
a .material-icons[aria-hidden=true] {
  margin-left: 0.25em;
  font-size: 0.875em;
  vertical-align: text-top;
}

.form-control,
.form-select {
  min-height: 44px;
}
.form-control:focus,
.form-select:focus {
  border-color: #0066cc;
}
.form-control.is-invalid,
.form-select.is-invalid {
  border-color: #dc3545;
}
.form-control.is-invalid:focus,
.form-select.is-invalid:focus {
  border-color: #dc3545;
  box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.2);
}

.modal .modal-content {
  border: 2px solid #dee2e6;
}
.modal.show .modal-content {
  outline: none;
}

.navbar-nav .nav-link {
  min-height: 44px;
  display: flex;
  align-items: center;
}
.navbar-nav .nav-link[aria-current=page] {
  font-weight: 600;
  position: relative;
}
.navbar-nav .nav-link[aria-current=page]::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 80%;
  height: 2px;
  background-color: currentColor;
}

.carousel:focus-within .carousel-inner {
  animation-play-state: paused;
}
.carousel .carousel-control-prev,
.carousel .carousel-control-next {
  width: 44px;
  background-color: rgba(0, 0, 0, 0.5);
  border-radius: 4px;
  margin: auto 10px;
  height: 44px;
}
.carousel .carousel-indicators button {
  width: 44px;
  height: 6px;
  margin: 0 4px;
  border-radius: 3px;
}

table th {
  font-weight: 600;
  background-color: var(--color-neutral-50);
}

@media print {
  .visually-hidden {
    position: static !important;
    width: auto !important;
    height: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
    clip: auto !important;
    white-space: normal !important;
  }
  a[href^=http]:after {
    content: " (" attr(href) ")";
    font-size: 0.875em;
    color: #666;
  }
}
/* End Accessibility Utilities */
/* ======================================================================
   ACCESSIBILITY SEMANTIC HEADING FIXES
   Maintain original visual styling for headings that were changed for 
   better semantic structure
   ====================================================================== */
section.cta-banner h3.cta-heading {
  font-size: 48px;
  font-weight: var(--font-weight-bold);
  color: inherit;
}

.resource-downloads h3 {
  font-size: 1.5rem;
  font-weight: 500;
}

.contacts-list-section h3.contact-name {
  font-size: 1.25rem;
  font-weight: 500;
}

/* End Accessibility Semantic Heading Fixes */
/* ======================================================================
   JOB LISTINGS BLOCK
   ====================================================================== */
.job-listings-block {
  background-color: var(--bs-white);
}
.job-listings-block__title {
  font-size: 2rem;
  font-weight: var(--font-weight-bold);
  color: var(--bs-dark);
  margin-bottom: 2rem;
}
.job-listings-block__list {
  display: flex;
  flex-direction: column;
}
.job-listings-block__item {
  padding: 2rem 0;
  border-bottom: 1px solid var(--color-neutral-200);
}
.job-listings-block__item:first-child {
  padding-top: 0;
}
.job-listings-block__item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
.job-listings-block__category {
  font-size: 0.875rem;
  font-weight: var(--font-weight-semibold);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-neutral-500);
  margin-bottom: 0.5rem;
}
.job-listings-block__job-title {
  font-size: 1.75rem;
  font-weight: var(--font-weight-bold);
  color: var(--bs-dark);
  margin-bottom: 0.75rem;
  line-height: 1.3;
}
.job-listings-block__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1.5rem;
  font-size: 0.9375rem;
  color: var(--color-neutral-700);
  margin-bottom: 1rem;
}
.job-listings-block__meta strong {
  font-weight: var(--font-weight-semibold);
}
.job-listings-block__apply-by, .job-listings-block__status {
  display: inline-block;
}
.job-listings-block__description {
  color: var(--color-neutral-700);
  line-height: 1.6;
  margin-bottom: 1.25rem;
}
.job-listings-block__description p {
  margin-bottom: 1rem;
}
.job-listings-block__description p:last-child {
  margin-bottom: 0;
}
.job-listings-block__toggle-btn {
  background: none;
  border: none;
  color: var(--color-plum-400);
  font-weight: var(--font-weight-semibold);
  font-size: 0.9375rem;
  padding: 0.5rem 0;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  transition: color 0.2s ease;
}
.job-listings-block__toggle-btn:hover {
  color: var(--color-plum-500);
}
.job-listings-block__toggle-btn:focus-visible {
  outline: 2px solid var(--color-plum-400);
  outline-offset: 2px;
}
.job-listings-block__toggle-btn .material-icons {
  font-size: 1.25rem;
  transition: transform 0.2s ease;
}
.job-listings-block__link-wrapper {
  margin-top: 1.25rem;
}
.job-listings-block__link-wrapper .btn {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
}
.job-listings-block__link-wrapper .btn .material-icons {
  font-size: 1.25rem;
  transition: transform 0.2s ease;
}
.job-listings-block__link-wrapper .btn:hover .material-icons {
  transform: translateY(2px);
}
@media (max-width: 767px) {
  .job-listings-block__job-title {
    font-size: 1.5rem;
  }
  .job-listings-block__meta {
    flex-direction: column;
    gap: 0.25rem;
  }
  .job-listings-block__item {
    padding: 1.5rem 0;
  }
}

/* End Job Listings Block */
/* Ticket Modal */
#ticketModal .modal-dialog {
  max-width: 1200px;
}
#ticketModal .modal-content {
  background-color: var(--bs-dark);
  border: none;
  border-radius: 8px;
}
#ticketModal .modal-header {
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  padding: 1.5rem;
}
#ticketModal .modal-header .modal-title {
  color: var(--bs-white);
  font-size: 1.5rem;
  font-weight: 600;
}
#ticketModal .modal-body {
  min-height: 600px;
}
#ticketModal .modal-body .ratio {
  min-height: 600px;
}
#ticketModal .modal-body .ratio iframe {
  width: 100%;
  height: 100%;
  border: none;
}
@media (max-width: 991px) {
  #ticketModal .modal-dialog {
    max-width: 90%;
    margin: 1rem auto;
  }
  #ticketModal .modal-body {
    min-height: 500px;
  }
  #ticketModal .modal-body .ratio {
    min-height: 500px;
  }
}
@media (max-width: 767px) {
  #ticketModal .modal-dialog {
    max-width: 95%;
    margin: 0.5rem auto;
  }
  #ticketModal .modal-body {
    min-height: 400px;
  }
  #ticketModal .modal-body .ratio {
    min-height: 400px;
  }
  #ticketModal .modal-header {
    padding: 1rem;
  }
  #ticketModal .modal-header .modal-title {
    font-size: 1.25rem;
  }
}

/* End Ticket Modal *//*# sourceMappingURL=main.css.map */