﻿@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,300;0,400;0,500;0,600;0,700&display=swap');

/* GLOBAL MONTSERRAT FONT ENFORCEMENT */
body,
p,
a,
li,
span,
div,
input,
textarea,
select,
button,
label,
table,
th,
td,
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: 'Montserrat', sans-serif;
}

/* PROTECT ICON FONTS FROM OVERRIDE */
.fa,
.fas,
.far,
.fab,
.fa-solid,
.fa-brands,
.bi,
.material-icons,
.ui-icon,
.glyphicon,
.flexslider-icon,
[class^="icon-"],
[class*=" icon-"],
.panel-heading--trigger-icon .panel-title a:after {
  font-family: "FontAwesome", "flexslider-icon", inherit !important;
}

/* =========================================
   PROFESSIONAL DESIGN SYSTEM (CSS Variables)
   ========================================= */
:root {
  /* Core Colors - DEFAULT VALUES (can be overridden by dynamic CSS in head) */
  --beon-primary: #be0000;
  --beon-primary-dark: #00867a;
  --beon-text-dark: #333333;
  --beon-text-light: #555555;
  --beon-bg-white: #ffffff;
  --beon-bg-light: #fdfdfd;
  --beon-bg-gray: #f4f4f4;

  /* Premium Transitions */
  --beon-transition-fast: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  --beon-transition-base: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  --beon-transition-slow: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);

  /* Modern Shadow System (Multi-layered Soft Shadows) */
  --beon-shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.05), 0 1px 2px rgba(0, 0, 0, 0.1);
  --beon-shadow-md: 0 4px 12px rgba(0, 0, 0, 0.08), 0 2px 4px rgba(0, 0, 0, 0.05);
  --beon-shadow-lg: 0 10px 25px rgba(0, 0, 0, 0.1), 0 5px 10px rgba(0, 0, 0, 0.05);
}

/* =========================================
   GLOBAL STYLES (Desktop Default)
   ========================================= */

/* 1. Hamburger - Hidden by default */
.mobile-menu-toggle {
  display: none !important;
}

/* 2. Main Menu Container - Desktop View */
.header-container ul.menu {
  margin-top: 0;
  /* Removed negative margin to fix overlap */
  position: relative;
  z-index: 1200;
  /* Increased z-index */
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-wrap: wrap;
  width: 100%;
}

/* 3. Menu Items - Desktop Style (Restored structural styles) */
.header-container ul.menu li a {
  padding: 10px 20px !important;
  display: inline-block !important;
  line-height: 1 !important;
  margin: 5px !important;
  text-align: center !important;
  border-radius: 8px !important;
  border: none !important;
  text-decoration: none !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 500 !important;
  font-size: 14px !important;
  text-transform: uppercase !important;
  vertical-align: middle !important;
  white-space: nowrap !important;
  background-color: var(--beon-primary);
  color: #333333 !important;
  /* Allowed to be overridden by dynamic head CSS */
}

.header-container ul.menu li a:hover,
.header-container ul.menu li a:focus,
.header-container ul.menu li a.is-active,
.header-container ul.menu li.active-trail>a {
  text-decoration: none !important;
}

.header-container ul.menu li a:before {
  display: none !important;
}

/* =========================================
   LAYOUT & OTHER STYLES
   ========================================= */

/* Commented out hardcoded grid overrides to allow layout settings to work
@media (min-width: 992px) {
  .custom-layout-main {
    width: 65% !important;
    left: 20% !important;
  }

  .custom-layout-sidebar-first {
    width: 20% !important;
    right: 65% !important;
  }

  .custom-layout-sidebar-second {
    width: 15% !important;
  }

  .custom-layout-main-sidebar-first {
    width: 80% !important;
    left: 20% !important;
  }

  .custom-layout-sidebar-first-only {
    width: 20% !important;
    right: 80% !important;
  }

  .custom-layout-main-sidebar-second {
    width: 85% !important;
  }
}
*/

.sidebar__section {
  padding-top: 5px !important;
  padding-bottom: 10px !important;
}

.sidebar__section h2.title,
.sidebar__section nav>h2,
.sidebar__section .block-search>h2 {
  margin: 20px 0 !important;
  padding-top: 0 !important;
}

.sidebar__section h2 {
  padding-top: 20px !important;
}

.custom-gallery-card img {
  width: 100%;
  text-align: center;
}

.block:empty {
  display: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Photo Node Split Layout */
.photo-node-split-layout {
  display: flex;
  width: 100%;
  min-height: 80vh;
  flex-wrap: wrap;
}

.photo-node-split-layout .photo-column {
  flex: 1;
  background: #f4f4f4;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  padding: 30px;
  position: relative;
  min-width: 300px;
}

.photo-node-split-layout .main-photo-container {
  flex: 0 0 auto;
  width: 100%;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  margin-bottom: 20px;
  gap: 0;
  overflow-x: visible;
}

.photo-node-split-layout .main-photo-container img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

.photo-node-split-layout .node-thumb img {
  height: 80px;
  width: 80px;
  object-fit: cover;
  border-radius: 4px;
  cursor: pointer;
  border: 2px solid transparent;
  transition: all 0.2s;
}

.photo-node-split-layout .node-thumb img:hover {
  border-color: #789c48;
  opacity: 0.9;
}

.photo-node-split-layout .info-sidebar {
  width: 530px;
  min-width: 530px;
  background: #fff;
  border-left: 1px solid #eee;
  display: flex;
  flex-direction: column;
  box-shadow: -5px 0 15px rgba(0, 0, 0, 0.05);
}

@media (max-width: 991px) {
  .photo-node-split-layout {
    flex-direction: column;
  }

  .photo-node-split-layout .photo-column {
    width: 100%;
    min-height: auto;
    padding: 10px;
  }

  .photo-node-split-layout .info-sidebar {
    width: 100%;
    min-width: 100%;
    border-left: none;
    border-top: 1px solid #eee;
    box-shadow: none;
  }

  .photo-node-split-layout .main-photo-container img {
    max-height: 60vh;
  }
}

.photo-node-split-layout .sidebar-content {
  padding: 30px;
}

.photo-node-split-layout .category-label {
  color: #789c48;
  font-weight: bold;
  text-transform: uppercase;
  font-size: 0.85em;
  display: block;
  margin-bottom: 10px;
}

.photo-node-split-layout h1 {
  margin: 0 0 20px 0;
  font-size: 1.8em;
  line-height: 1.2;
}

.photo-node-split-layout .description {
  margin-bottom: 30px;
  line-height: 1.6;
  color: #555;
}

.photo-node-split-layout .meta-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 15px;
  margin-bottom: 30px;
  padding-bottom: 30px;
  border-bottom: 1px solid #eee;
}

.photo-node-split-layout .meta-item {
  display: flex;
  flex-direction: column;
  font-size: 0.9em;
}

.photo-node-split-layout .meta-label {
  font-weight: bold;
  color: #333;
  margin-bottom: 3px;
}

.photo-node-split-layout .map-preview {
  width: 100%;
  height: 200px;
  background: #eee;
  border-radius: 6px;
  overflow: hidden;
}

.photo-node-split-layout .related-section {
  background: #f9f9f9;
  padding: 30px;
  margin-top: auto;
  border-top: 1px solid #eee;
}

.photo-node-split-layout .related-title {
  font-weight: bold;
  margin-bottom: 15px;
}

.photo-node-split-layout .node-thumbnails {
  min-height: 80px;
  height: auto;
  width: 100%;
  margin-top: 20px;
}

.photo-node-split-layout .node-thumbnails .block,
.photo-node-split-layout .node-thumbnails .view,
.photo-node-split-layout .node-thumbnails .view-content {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  overflow-x: auto;
}

.photo-node-split-layout .node-thumbnails .views-row {
  height: auto;
}

/* Gallery Icons */
.views-flexbox-item.galerijos_ikonos {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  text-align: center !important;
  height: 100%;
  width: 100%;
  padding: 10px;
}

.views-flexbox-item.galerijos_ikonos .views-field-field-image,
.views-flexbox-item.galerijos_ikonos .views-field-image,
.views-flexbox-item.galerijos_ikonos .views-field-field-fotografijos-byla {
  order: 1 !important;
  margin-bottom: 10px;
  display: flex;
  justify-content: center;
  width: 100%;
}

.views-flexbox-item.galerijos_ikonos .views-field img {
  display: block;
  margin: 0 auto;
  max-width: 100%;
  height: auto;
}

.views-flexbox-item.galerijos_ikonos .views-field-title {
  order: 2 !important;
  width: 100%;
  display: block;
  margin-top: 0;
}

.views-flexbox-item.galerijos_ikonos .views-field-title a {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.3;
  max-height: 3.9em;
  text-decoration: none;
  color: inherit;
  margin: 0 auto;
  white-space: normal;
}

/* Share Node */
.share-node {
  margin-top: 40px;
  margin-bottom: 20px;
  padding: 30px;
  background-color: #ffffff;
  border-radius: 12px;
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.05);
  border: 1px solid rgba(0, 0, 0, 0.02);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 100%;
}

.share-node-title {
  font-family: inherit;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #888;
  margin-bottom: 25px;
  display: flex;
  align-items: center;
  gap: 12px;
}

.share-node-title i {
  color: var(--beon-primary);
  font-size: 14px;
}

.share-node .social-icons {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  gap: 15px;
}

.share-node .social-icons li {
  display: inline-block;
  margin: 0;
}

.share-node .social-icons li a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  background-color: #f8f9fa;
  color: #555;
  border-radius: 50%;
  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  font-size: 18px;
  text-decoration: none;
}

.share-node .social-icons li a:hover {
  background-color: var(--beon-primary);
  color: #fff;
  transform: translateY(-5px) scale(1.1);
  box-shadow: 0 10px 20px rgba(154, 185, 88, 0.3);
}

/* =========================================
   MOBILE MENU STYLES (Only apply below 991px)
   ========================================= */

@media (max-width: 991px) {

  /* 0. Ensure parent is relative and has size for absolute positioning of hamburger */
  .main-navigation-block {
    position: relative !important;
    min-height: 60px;
    width: 100%;
    display: block !important;
  }

  /* 1. Show Hamburger */
  .mobile-menu-toggle {
    display: block !important;
    background: none;
    border: none;
    cursor: pointer;
    padding: 10px;
    z-index: 1100;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: auto;
  }

  /* Fix for admin toolbar covering hamburger */
  body.user-logged-in .mobile-menu-toggle {
    z-index: 99999 !important;
  }

  .hamburger-box {
    width: 30px;
    height: 24px;
    display: inline-block;
    position: relative;
  }

  .hamburger-inner {
    display: block;
    top: 50%;
    margin-top: -2px;
  }

  .hamburger-inner,
  .hamburger-inner::before,
  .hamburger-inner::after {
    width: 30px;
    height: 3px;
    background-color: #333;
    border-radius: 3px;
    position: absolute;
    transition-property: transform;
    transition-duration: 0.15s;
    transition-timing-function: ease;
  }

  .hamburger-inner::before,
  .hamburger-inner::after {
    content: "";
    display: block;
  }

  .hamburger-inner::before {
    top: -10px;
  }

  .hamburger-inner::after {
    bottom: -10px;
  }

  /* 2. Transform the Menu Wrapper into Off-Canvas Drawer */

  .main-navigation-block .menu-content-wrapper {
    display: block !important;
    position: fixed !important;
    top: 0;
    right: 0;
    width: 300px;
    height: 100vh;
    background: #fff;
    box-shadow: -5px 0 15px rgba(0, 0, 0, 0.1);
    z-index: 999999;
    padding: 80px 20px 20px 20px;

    /* Hidden by default */
    transform: translateX(100%);
    visibility: hidden;
    transition: transform 0.3s ease-in-out, visibility 0.3s;
    overflow-y: auto;
  }

  /* Open State */
  .main-navigation-block.is-open .menu-content-wrapper {
    transform: translateX(0);
    visibility: visible;
  }

  /* Overlay */
  .main-navigation-block.is-open::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1040;
    animation: fadeIn 0.3s;
  }

  /* 3. Style the Menu Items inside the Drawer (Green Buttons) */

  .main-navigation-block .menu-content-wrapper ul.menu {
    display: flex !important;
    flex-direction: column !important;
    /* Vertical stack */
    width: 100%;
    padding: 0;
    margin: 0;
    margin-top: 0 !important;
  }

  .main-navigation-block .menu-content-wrapper ul.menu li {
    display: block;
    width: 100%;
    text-align: center;
    margin: 0 0 15px 0;
    border: none;
  }

  .main-navigation-block .menu-content-wrapper ul.menu li a {
    display: block !important;
    width: 100% !important;
    /* Force full width */
    box-sizing: border-box !important;
    /* Include padding in width */
    background-color: var(--beon-primary);
    /* Allow override via dynamic head CSS */
    color: #333333 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 500 !important;
    text-transform: uppercase;
    text-align: center;
    padding: 15px 20px !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.15) !important;
    /* Medium Shadow */
    text-decoration: none;
    letter-spacing: 1px;
    transition: transform 0.2s, box-shadow 0.2s, background-color 0.2s;
    font-size: 16px !important;
    margin: 0 !important;
    margin-bottom: 15px !important;
  }

  .main-navigation-block .menu-content-wrapper ul.menu li a:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.2) !important;
    background-color: var(--beon-primary-dark);
  }

  /* Close Button */
  .mobile-menu-close {
    position: absolute;
    top: auto;
    /* Remove top positioning */
    bottom: 30px;
    /* Position at the bottom */
    left: 50%;
    /* Center horizontally */
    transform: translateX(-50%);
    /* Adjust for width */
    right: auto;
    /* Remove right positioning */
    background: none;
    border: none;
    font-size: 40px;
    /* Make it slightly larger */
    line-height: 1;
    color: #333;
    cursor: pointer;
    padding: 10px;
    z-index: 1100;
    transition: color 0.2s;
    display: block !important;
  }

  .mobile-menu-close:hover {
    color: var(--beon-primary);
  }

  /* Hamburger Animation */
  .main-navigation-block.is-open .hamburger-inner {
    background-color: transparent !important;
  }

  .main-navigation-block.is-open .hamburger-inner::before {
    top: 0;
    transform: rotate(45deg);
  }

  .main-navigation-block.is-open .hamburger-inner::after {
    bottom: 0;
    transform: rotate(-45deg);
  }
}

/* Ensure Close Button is HIDDEN on Desktop */
@media (min-width: 992px) {
  .mobile-menu-close {
    display: none !important;
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

/* =========================================================================
   SEARCH BLOCK & SEARCH PAGE STYLING
   ========================================================================= */

/* Header Search Block */
.region-header .block-search,
.region-header-top-second .block-search {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-top: 10px;
}

.block-search form {
  display: flex;
  align-items: center;
}

.block-search input.form-search {
  padding: 8px 15px;
  border: 1px solid #ccc;
  border-radius: 4px 0 0 4px;
  outline: none;
  width: 200px;
}

.block-search input.form-submit {
  padding: 8px 15px;
  background-color: #4a4a4a;
  color: white;
  border: none;
  border-radius: 0 4px 4px 0;
  cursor: pointer;
  text-transform: uppercase;
  font-size: 13px;
  transition: background-color 0.3s ease;
}

.block-search input.form-submit:hover {
  background-color: #8c9b6e;
  /* Using theme green */
}

/* Search Results Page */
.search-page-form {
  max-width: 600px;
  margin: 40px auto;
  padding: 20px;
  background: #fdfdfd;
  border-radius: 8px;
  text-align: center;
}

.search-page-form .form-item {
  margin-bottom: 15px;
}

.search-page-form input.form-search {
  width: 100%;
  padding: 12px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 16px;
}

.search-page-form input.form-submit {
  padding: 10px 20px;
  background-color: #4a4a4a;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  margin-top: 10px;
}

.search-page-form input.form-submit:hover {
  background-color: #8c9b6e;
}

.search-empty {
  text-align: center;
  font-size: 18px;
  color: #666;
  margin-top: 40px;
  letter-spacing: 1px;
}

.item-list__search-results {
  max-width: 800px;
  margin: 0 auto 50px auto;
}

.item-list__search-results li {
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid #eee;
}

/* =========================================================================
   SHARE BLOCK STYLING
   ========================================================================= */
.share-node {
  text-align: center;
  margin: 40px auto;
  padding: 20px;
  max-width: 600px;
  background-color: #fff;
  border-radius: 8px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.02);
}

.share-node-title {
  font-size: 13px;
  color: #888;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 25px;
}

.share-node-title i {
  color: #8c9b6e;
  /* Theme green */
  margin-right: 10px;
}

.share-node .social-icons {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  justify-content: center;
  gap: 15px;
}

.share-node .social-icons li {
  margin: 0;
}

.share-node .social-icons a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  background: #f7f7f7;
  border-radius: 50%;
  color: #333;
  font-size: 20px;
  text-decoration: none;
  transition: all 0.3s ease;
}

.share-node .social-icons a .fa-facebook {
  color: #3b5998;
}

.share-node .social-icons a .fa-twitter {
  color: #1da1f2;
}

.share-node .social-icons a .fa-linkedin {
  color: #0077b5;
}

.share-node .social-icons a:hover {
  background: #8c9b6e;
  transform: translateY(-3px);
  box-shadow: 0 5px 15px rgba(140, 155, 110, 0.4);
}

.share-node .social-icons a:hover i {
  color: #fff;
}

/* =========================================================================
   HEADER FULL-WIDTH INLINE LAYOUT (Logo + Share + Search)
   ========================================================================= */

/* Make the top highlighed region stretch and align items horizontally */
.header-top-highlighted {
  padding: 10px 0;
  display: flex !important;
  align-items: center;
}

/* Override the default Drupal grid row to be a flex container for the header */
.header-container>.container>.row,
.header-container .header-top-highlighted__container>

/* Allow the 9-column container to flex its inner blocks horizontally */
.header-top-highlighted-second {
  display: flex !important;
  flex-direction: row !important;
  align-items: center;
  justify-content: flex-end;
  gap: 30px;
  /* Space between Share block and Search block */
  width: 100%;
}

/* Adjust Share block to sit inline without massive padding in the header */
.header-top-highlighted-second .share-node {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  display: flex;
  align-items: center;
  gap: 15px;
}

.header-top-highlighted-second .share-node-title {
  margin: 0 !important;
  color: #fff !important;
  /* White text on green background */
}

.header-top-highlighted-second .share-node-title i {
  color: #fff !important;
}

.header-top-highlighted-second .social-icons a {
  width: 35px;
  height: 35px;
  font-size: 16px;
  background: rgba(255, 255, 255, 0.2);
  /* Semi-transparent white */
  color: #fff;
}

.header-top-highlighted-second .social-icons a:hover {
  background: #fff;
  color: #8c9b6e;
  /* Theme green on hover */
}

/* Adjust Search Block to sit inline */
.header-top-highlighted-second .block-search {
  margin: 0 !important;
}

/* Force the white background of the 9-col container to disappear if it exists */
.header-top-highlighted-second {
  background: transparent !important;
}


/* =========================================================================
   HEADER FULL-WIDTH INLINE LAYOUT (Logo + Share + Search)
   ========================================================================= */

/* Ensure the top master container aligns columns correctly */
.header-container>.container>

/* col-md-9 holds the right side (search & share) - Force it right */
.header-container>.container>.row>.col-md-9 {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex: 1;
}

/* Strip ALL paddings, margins, and white backgrounds from the nested regions */
.header-container .header-top-highlighted,
.header-container .header-top-highlighted__container,
.header-container .header-top-highlighted__container .row,
.header-container .header-top-highlighted-second {
  background: transparent !important;
  background-color: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  width: auto !important;
}

/* Ensure the section that contains the blocks is just a flexible row */
.header-top-highlighted-second {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 15px !important;
}

/* -----------------------------------
   Share Block specific overrides
   ----------------------------------- */
.header-top-highlighted-second .share-node {
  background: transparent !important;
  box-shadow: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
}

/* Hide the 'Dalintis Å¡iuo puslapiu' text in the header to save space for icons */
.header-top-highlighted-second .share-node-title {
  display: none !important;
}

.header-top-highlighted-second .social-icons {
  display: flex !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.header-top-highlighted-second .social-icons a {
  width: 38px !important;
  height: 38px !important;
  background: rgba(255, 255, 255, 0.2) !important;
  color: #fff !important;
  font-size: 16px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
}

.header-top-highlighted-second .social-icons a:hover {
  background: #fff !important;
  color: #8c9b6e !important;
  transform: translateY(-2px) !important;
}

/* -----------------------------------
   Search Block specific overrides
   ----------------------------------- */
.header-top-highlighted-second .block-search {
  margin: 0 !important;
  padding: 0 !important;
}

.header-top-highlighted-second .block-search form {
  margin: 0 !important;
  display: flex !important;
}

.header-top-highlighted-second input.form-search {
  width: 250px !important;
}


/* Dynamic CSS for Share Icon Links depending on parent region color */
.share-icon-link {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background: rgba(128, 128, 128, 0.15);
  /* Neutral faint background */
  color: inherit !important;
  /* Forces it to use the text color of its parent */
  border-radius: 50%;
  font-size: 18px;
  text-decoration: none !important;
  transition: all 0.3s ease;
}

.share-icon-link:hover {
  background: #8c9b6e !important;
  color: #fff !important;
  transform: translateY(-2px);
}

/* =========================================================================
   FOOTER FIRST REGION EXACT HEIGHT
   ========================================================================= */
.region-footer-first,
.region-footer-second,
.region-footer-third,
.region-footer-fourth,
.region-footer-fifth {
  height: 160px !important;
  min-height: 160px !important;
  display: flex !important;
  flex-direction: column;
  justify-content: center !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Ensure the wrapper inside it (like the share block) doesn't add extra margin */
.region-footer-first>div,
.region-footer-second>div,
.region-footer-third>div,
.region-footer-fourth>div,
.region-footer-fifth>div {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* =========================================================================
   OVERRIDE FOOTER SECTION PADDING
   ========================================================================= */
footer .footer__section,
.footer__section,
div.footer__section {
  padding: 0 !important;
  margin: 0 !important;
}




/* ==========================================================================
   CUSTOM FLEXBOX HEADER LAYOUT (NO BOOTSTRAP)
   ========================================================================== */
.header-container {
  width: 100% !important;
  max-width: 100% !important;
}

.header-container>.container-fluid {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 15px !important;
}

.header-container>.container-fluid>.row {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex-wrap: nowrap !important;
  width: 100% !important;
  margin: 0 !important;
}

/* Remove bootstrap float/clearfix that breaks flexbox */
.header-container>.container-fluid>.row::before,
.header-container>.container-fluid>.row::after {
  display: none !important;
}

/* Each header region (Third, First, Second) */
.header-container .header__section {
  float: none !important;
  /* using flexbox instead */
  display: flex !important;
  align-items: center !important;
}

/* Ensure branding and menu children also behave */
.header-logo-region,
.header-third,
.header-first,
.header-second {
  width: 100%;
}


@media (max-width: 767px) {
  .header-container>.container-fluid>.row {
    flex-wrap: wrap !important;
    justify-content: center !important;
  }

  .header-container .col-md-3,
  .header-container .col-md-9 {
    width: 100% !important;
    flex: 0 0 100% !important;
    justify-content: center !important;
    margin-bottom: 10px;
  }
}

/* ==========================================================================
   OFFICIAL BOOTSTRAP 3.3.7 GRID (CSS EXTRACTED)
   ========================================================================== */
*,
:after,
:before {
  box-sizing: border-box
}

.container {
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto
}

@media (min-width:768px) {
  .container {
    width: 750px
  }
}

@media (min-width:992px) {
  .container {
    width: 970px
  }
}

@media (min-width:1200px) {
  .container {
    width: 1170px
  }
}

.container-fluid {
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto
}

.row {
  margin-right: -15px;
  margin-left: -15px
}

.col-lg-1,
.col-lg-10,
.col-lg-11,
.col-lg-12,
.col-lg-2,
.col-lg-3,
.col-lg-4,
.col-lg-5,
.col-lg-6,
.col-lg-7,
.col-lg-8,
.col-lg-9,
.col-md-1,
.col-md-10,
.col-md-11,
.col-md-12,
.col-md-2,
.col-md-3,
.col-md-4,
.col-md-5,
.col-md-6,
.col-md-7,
.col-md-8,
.col-md-9,
.col-sm-1,
.col-sm-10,
.col-sm-11,
.col-sm-12,
.col-sm-2,
.col-sm-3,
.col-sm-4,
.col-sm-5,
.col-sm-6,
.col-sm-7,
.col-sm-8,
.col-sm-9,
.col-xs-1,
.col-xs-10,
.col-xs-11,
.col-xs-12,
.col-xs-2,
.col-xs-3,
.col-xs-4,
.col-xs-5,
.col-xs-6,
.col-xs-7,
.col-xs-8,
.col-xs-9 {
  position: relative;
  min-height: 1px;
  padding-right: 15px;
  padding-left: 15px
}

.col-xs-1,
.col-xs-10,
.col-xs-11,
.col-xs-12,
.col-xs-2,
.col-xs-3,
.col-xs-4,
.col-xs-5,
.col-xs-6,
.col-xs-7,
.col-xs-8,
.col-xs-9 {
  float: left
}

.col-xs-12 {
  width: 100%
}

.col-xs-11 {
  width: 91.66666667%
}

.col-xs-10 {
  width: 83.33333333%
}

.col-xs-9 {
  width: 75%
}

.col-xs-8 {
  width: 66.66666667%
}

.col-xs-7 {
  width: 58.33333333%
}

.col-xs-6 {
  width: 50%
}

.col-xs-5 {
  width: 41.66666667%
}

.col-xs-4 {
  width: 33.33333333%
}

.col-xs-3 {
  width: 25%
}

.col-xs-2 {
  width: 16.66666667%
}

.col-xs-1 {
  width: 8.33333333%
}

.col-xs-pull-12 {
  right: 100%
}

.col-xs-pull-11 {
  right: 91.66666667%
}

.col-xs-pull-10 {
  right: 83.33333333%
}

.col-xs-pull-9 {
  right: 75%
}

.col-xs-pull-8 {
  right: 66.66666667%
}

.col-xs-pull-7 {
  right: 58.33333333%
}

.col-xs-pull-6 {
  right: 50%
}

.col-xs-pull-5 {
  right: 41.66666667%
}

.col-xs-pull-4 {
  right: 33.33333333%
}

.col-xs-pull-3 {
  right: 25%
}

.col-xs-pull-2 {
  right: 16.66666667%
}

.col-xs-pull-1 {
  right: 8.33333333%
}

.col-xs-pull-0 {
  right: auto
}

.col-xs-push-12 {
  left: 100%
}

.col-xs-push-11 {
  left: 91.66666667%
}

.col-xs-push-10 {
  left: 83.33333333%
}

.col-xs-push-9 {
  left: 75%
}

.col-xs-push-8 {
  left: 66.66666667%
}

.col-xs-push-7 {
  left: 58.33333333%
}

.col-xs-push-6 {
  left: 50%
}

.col-xs-push-5 {
  left: 41.66666667%
}

.col-xs-push-4 {
  left: 33.33333333%
}

.col-xs-push-3 {
  left: 25%
}

.col-xs-push-2 {
  left: 16.66666667%
}

.col-xs-push-1 {
  left: 8.33333333%
}

.col-xs-push-0 {
  left: auto
}

.col-xs-offset-12 {
  margin-left: 100%
}

.col-xs-offset-11 {
  margin-left: 91.66666667%
}

.col-xs-offset-10 {
  margin-left: 83.33333333%
}

.col-xs-offset-9 {
  margin-left: 75%
}

.col-xs-offset-8 {
  margin-left: 66.66666667%
}

.col-xs-offset-7 {
  margin-left: 58.33333333%
}

.col-xs-offset-6 {
  margin-left: 50%
}

.col-xs-offset-5 {
  margin-left: 41.66666667%
}

.col-xs-offset-4 {
  margin-left: 33.33333333%
}

.col-xs-offset-3 {
  margin-left: 25%
}

.col-xs-offset-2 {
  margin-left: 16.66666667%
}

.col-xs-offset-1 {
  margin-left: 8.33333333%
}

.col-xs-offset-0 {
  margin-left: 0
}

@media (min-width:768px) {

  .col-sm-1,
  .col-sm-10,
  .col-sm-11,
  .col-sm-12,
  .col-sm-2,
  .col-sm-3,
  .col-sm-4,
  .col-sm-5,
  .col-sm-6,
  .col-sm-7,
  .col-sm-8,
  .col-sm-9 {
    float: left
  }

  .col-sm-12 {
    width: 100%
  }

  .col-sm-11 {
    width: 91.66666667%
  }

  .col-sm-10 {
    width: 83.33333333%
  }

  .col-sm-9 {
    width: 75%
  }

  .col-sm-8 {
    width: 66.66666667%
  }

  .col-sm-7 {
    width: 58.33333333%
  }

  .col-sm-6 {
    width: 50%
  }

  .col-sm-5 {
    width: 41.66666667%
  }

  .col-sm-4 {
    width: 33.33333333%
  }

  .col-sm-3 {
    width: 25%
  }

  .col-sm-2 {
    width: 16.66666667%
  }

  .col-sm-1 {
    width: 8.33333333%
  }

  .col-sm-pull-12 {
    right: 100%
  }

  .col-sm-pull-11 {
    right: 91.66666667%
  }

  .col-sm-pull-10 {
    right: 83.33333333%
  }

  .col-sm-pull-9 {
    right: 75%
  }

  .col-sm-pull-8 {
    right: 66.66666667%
  }

  .col-sm-pull-7 {
    right: 58.33333333%
  }

  .col-sm-pull-6 {
    right: 50%
  }

  .col-sm-pull-5 {
    right: 41.66666667%
  }

  .col-sm-pull-4 {
    right: 33.33333333%
  }

  .col-sm-pull-3 {
    right: 25%
  }

  .col-sm-pull-2 {
    right: 16.66666667%
  }

  .col-sm-pull-1 {
    right: 8.33333333%
  }

  .col-sm-pull-0 {
    right: auto
  }

  .col-sm-push-12 {
    left: 100%
  }

  .col-sm-push-11 {
    left: 91.66666667%
  }

  .col-sm-push-10 {
    left: 83.33333333%
  }

  .col-sm-push-9 {
    left: 75%
  }

  .col-sm-push-8 {
    left: 66.66666667%
  }

  .col-sm-push-7 {
    left: 58.33333333%
  }

  .col-sm-push-6 {
    left: 50%
  }

  .col-sm-push-5 {
    left: 41.66666667%
  }

  .col-sm-push-4 {
    left: 33.33333333%
  }

  .col-sm-push-3 {
    left: 25%
  }

  .col-sm-push-2 {
    left: 16.66666667%
  }

  .col-sm-push-1 {
    left: 8.33333333%
  }

  .col-sm-push-0 {
    left: auto
  }

  .col-sm-offset-12 {
    margin-left: 100%
  }

  .col-sm-offset-11 {
    margin-left: 91.66666667%
  }

  .col-sm-offset-10 {
    margin-left: 83.33333333%
  }

  .col-sm-offset-9 {
    margin-left: 75%
  }

  .col-sm-offset-8 {
    margin-left: 66.66666667%
  }

  .col-sm-offset-7 {
    margin-left: 58.33333333%
  }

  .col-sm-offset-6 {
    margin-left: 50%
  }

  .col-sm-offset-5 {
    margin-left: 41.66666667%
  }

  .col-sm-offset-4 {
    margin-left: 33.33333333%
  }

  .col-sm-offset-3 {
    margin-left: 25%
  }

  .col-sm-offset-2 {
    margin-left: 16.66666667%
  }

  .col-sm-offset-1 {
    margin-left: 8.33333333%
  }

  .col-sm-offset-0 {
    margin-left: 0
  }
}

@media (min-width:992px) {

  .col-md-1,
  .col-md-10,
  .col-md-11,
  .col-md-12,
  .col-md-2,
  .col-md-3,
  .col-md-4,
  .col-md-5,
  .col-md-6,
  .col-md-7,
  .col-md-8,
  .col-md-9 {
    float: left
  }

  .col-md-12 {
    width: 100%
  }

  .col-md-11 {
    width: 91.66666667%
  }

  .col-md-10 {
    width: 83.33333333%
  }

  .col-md-9 {
    width: 75%
  }

  .col-md-8 {
    width: 66.66666667%
  }

  .col-md-7 {
    width: 58.33333333%
  }

  .col-md-6 {
    width: 50%
  }

  .col-md-5 {
    width: 41.66666667%
  }

  .col-md-4 {
    width: 33.33333333%
  }

  .col-md-3 {
    width: 25%
  }

  .col-md-2 {
    width: 16.66666667%
  }

  .col-md-1 {
    width: 8.33333333%
  }

  .col-md-pull-12 {
    right: 100%
  }

  .col-md-pull-11 {
    right: 91.66666667%
  }

  .col-md-pull-10 {
    right: 83.33333333%
  }

  .col-md-pull-9 {
    right: 75%
  }

  .col-md-pull-8 {
    right: 66.66666667%
  }

  .col-md-pull-7 {
    right: 58.33333333%
  }

  .col-md-pull-6 {
    right: 50%
  }

  .col-md-pull-5 {
    right: 41.66666667%
  }

  .col-md-pull-4 {
    right: 33.33333333%
  }

  .col-md-pull-3 {
    right: 25%
  }

  .col-md-pull-2 {
    right: 16.66666667%
  }

  .col-md-pull-1 {
    right: 8.33333333%
  }

  .col-md-pull-0 {
    right: auto
  }

  .col-md-push-12 {
    left: 100%
  }

  .col-md-push-11 {
    left: 91.66666667%
  }

  .col-md-push-10 {
    left: 83.33333333%
  }

  .col-md-push-9 {
    left: 75%
  }

  .col-md-push-8 {
    left: 66.66666667%
  }

  .col-md-push-7 {
    left: 58.33333333%
  }

  .col-md-push-6 {
    left: 50%
  }

  .col-md-push-5 {
    left: 41.66666667%
  }

  .col-md-push-4 {
    left: 33.33333333%
  }

  .col-md-push-3 {
    left: 25%
  }

  .col-md-push-2 {
    left: 16.66666667%
  }

  .col-md-push-1 {
    left: 8.33333333%
  }

  .col-md-push-0 {
    left: auto
  }

  .col-md-offset-12 {
    margin-left: 100%
  }

  .col-md-offset-11 {
    margin-left: 91.66666667%
  }

  .col-md-offset-10 {
    margin-left: 83.33333333%
  }

  .col-md-offset-9 {
    margin-left: 75%
  }

  .col-md-offset-8 {
    margin-left: 66.66666667%
  }

  .col-md-offset-7 {
    margin-left: 58.33333333%
  }

  .col-md-offset-6 {
    margin-left: 50%
  }

  .col-md-offset-5 {
    margin-left: 41.66666667%
  }

  .col-md-offset-4 {
    margin-left: 33.33333333%
  }

  .col-md-offset-3 {
    margin-left: 25%
  }

  .col-md-offset-2 {
    margin-left: 16.66666667%
  }

  .col-md-offset-1 {
    margin-left: 8.33333333%
  }

  .col-md-offset-0 {
    margin-left: 0
  }
}

@media (min-width:1200px) {

  .col-lg-1,
  .col-lg-10,
  .col-lg-11,
  .col-lg-12,
  .col-lg-2,
  .col-lg-3,
  .col-lg-4,
  .col-lg-5,
  .col-lg-6,
  .col-lg-7,
  .col-lg-8,
  .col-lg-9 {
    float: left
  }

  .col-lg-12 {
    width: 100%
  }

  .col-lg-11 {
    width: 91.66666667%
  }

  .col-lg-10 {
    width: 83.33333333%
  }

  .col-lg-9 {
    width: 75%
  }

  .col-lg-8 {
    width: 66.66666667%
  }

  .col-lg-7 {
    width: 58.33333333%
  }

  .col-lg-6 {
    width: 50%
  }

  .col-lg-5 {
    width: 41.66666667%
  }

  .col-lg-4 {
    width: 33.33333333%
  }

  .col-lg-3 {
    width: 25%
  }

  .col-lg-2 {
    width: 16.66666667%
  }

  .col-lg-1 {
    width: 8.33333333%
  }

  .col-lg-pull-12 {
    right: 100%
  }

  .col-lg-pull-11 {
    right: 91.66666667%
  }

  .col-lg-pull-10 {
    right: 83.33333333%
  }

  .col-lg-pull-9 {
    right: 75%
  }

  .col-lg-pull-8 {
    right: 66.66666667%
  }

  .col-lg-pull-7 {
    right: 58.33333333%
  }

  .col-lg-pull-6 {
    right: 50%
  }

  .col-lg-pull-5 {
    right: 41.66666667%
  }

  .col-lg-pull-4 {
    right: 33.33333333%
  }

  .col-lg-pull-3 {
    right: 25%
  }

  .col-lg-pull-2 {
    right: 16.66666667%
  }

  .col-lg-pull-1 {
    right: 8.33333333%
  }

  .col-lg-pull-0 {
    right: auto
  }

  .col-lg-push-12 {
    left: 100%
  }

  .col-lg-push-11 {
    left: 91.66666667%
  }

  .col-lg-push-10 {
    left: 83.33333333%
  }

  .col-lg-push-9 {
    left: 75%
  }

  .col-lg-push-8 {
    left: 66.66666667%
  }

  .col-lg-push-7 {
    left: 58.33333333%
  }

  .col-lg-push-6 {
    left: 50%
  }

  .col-lg-push-5 {
    left: 41.66666667%
  }

  .col-lg-push-4 {
    left: 33.33333333%
  }

  .col-lg-push-3 {
    left: 25%
  }

  .col-lg-push-2 {
    left: 16.66666667%
  }

  .col-lg-push-1 {
    left: 8.33333333%
  }

  .col-lg-push-0 {
    left: auto
  }

  .col-lg-offset-12 {
    margin-left: 100%
  }

  .col-lg-offset-11 {
    margin-left: 91.66666667%
  }

  .col-lg-offset-10 {
    margin-left: 83.33333333%
  }

  .col-lg-offset-9 {
    margin-left: 75%
  }

  .col-lg-offset-8 {
    margin-left: 66.66666667%
  }

  .col-lg-offset-7 {
    margin-left: 58.33333333%
  }

  .col-lg-offset-6 {
    margin-left: 50%
  }

  .col-lg-offset-5 {
    margin-left: 41.66666667%
  }

  .col-lg-offset-4 {
    margin-left: 33.33333333%
  }

  .col-lg-offset-3 {
    margin-left: 25%
  }

  .col-lg-offset-2 {
    margin-left: 16.66666667%
  }

  .col-lg-offset-1 {
    margin-left: 8.33333333%
  }

  .col-lg-offset-0 {
    margin-left: 0
  }
}

.clearfix::after,
.container-fluid::after,
.container::after,
.row::after,
.row::before {
  content: " ";
  display: table
}

.clearfix::after,
.container-fluid::after,
.container::after {
  clear: both
}

.col-md-2-4 {
  position: relative;
  min-height: 1px;
  padding-right: 15px;
  padding-left: 15px;
  float: left;
  width: 100%;
}

@media (min-width: 992px) {
  .col-md-2-4 {
    width: 20%;
  }
}


/* Align Header Top First to right */
.header-top-first {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
}

/* Align Header Top Second & Highlighted Second to right edge */
.header-top-second,
.header-top-highlighted-second {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  flex-direction: row !important;
  width: 100%;
}

.header-top-second>*,
.header-top-highlighted-second>* {
  margin-left: auto;
}

/* Header First, Second & Third: layout only â€” appearance via theme settings */
.header-first,
.header-second,
.header-third {
  display: flex !important;
  align-items: center !important;
  gap: 20px !important;
  width: 100% !important;
}

/* Match font style of BeON Box for Search and 3D Flipbox */
.beon_3d_flipbox,
.beon_3d_flipbox h2,
.beon_3d_flipbox h3,
.beon_3d_flipbox a,
.beon-search-block .form-control,
.beon-search-block input[type="text"] {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  text-align: center !important;
}

/* Ensure placeholder text in search also matches */
.beon-search-block input::placeholder {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  color: inherit;
}



/* Match font style of BeON Box for Search and 3D Flipbox */
.beon_3d_flipbox,
.beon_3d_flipbox h2,
.beon_3d_flipbox h3,
.beon_3d_flipbox a,
.beon-search-block .form-control,
.beon-search-block input[type="text"] {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
}

/* Ensure placeholder text in search also matches */
.beon-search-block input::placeholder {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  color: inherit;
}

/* FIX MISSING BOOTSTRAP ROW CLEARFIX */
.row::after {
  clear: both;
}

.header-first,
.header-second,
.header-third {
  position: relative;
  z-index: 1005 !important;
}

/* FIX FIXED HEADER OVERLAP AND BANNER CLEARFIX */
.onscroll .header.js-fixed {
  z-index: 9999 !important;
  position: fixed !important;
  top: 0 !important;
  width: 100% !important;
  background-color: rgba(255, 255, 255, 0.98) !important;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1) !important;
}

.header,
.header-container {
  z-index: 1000;
  position: relative;
}

/* Force banner to clear header floats/flex and stay below */
.banner {
  clear: both !important;
  position: relative;
  z-index: 1;
  display: block !important;
}

.banner::before {
  content: "";
  display: table;
  clear: both;
}

/* =========================================================================
   CUSTOM BEON RESPONSIVE GRID OVERRIDES (20/60/20 & 20/80 Layouts)
   ========================================================================= */

@media (min-width: 992px) {
  .col-custom-20 {
    width: 20%;
    float: left;
    position: relative;
    min-height: 1px;
    padding: 0 15px;
  }

  .col-custom-60 {
    width: 60%;
    float: left;
    position: relative;
    min-height: 1px;
    padding: 0 15px;
  }

  .col-custom-80 {
    width: 80%;
    float: left;
    position: relative;
    min-height: 1px;
    padding: 0 15px;
  }

  /* Override the theme's default sidebars push/pull math */
  .custom-layout-main {
    left: auto !important;
    right: auto !important;
  }

  .custom-layout-sidebar-first {
    left: auto !important;
    right: auto !important;
  }

  .custom-layout-sidebar-second {
    left: auto !important;
    right: auto !important;
  }

  .custom-layout-main-sidebar-first {
    left: auto !important;
    right: auto !important;
  }

  .custom-layout-sidebar-first-only {
    left: auto !important;
    right: auto !important;
  }

  .custom-layout-main-sidebar-second {
    left: auto !important;
    right: auto !important;
  }

  /* Flexbox order for Main content row to place sidebar_first before main visually */
  .main-content__container>.row {
    display: flex !important;
    flex-wrap: wrap !important;
  }

  .main-content__container>.row>.custom-layout-main {
    order: 2;
  }

  .main-content__container>.row>.custom-layout-sidebar-first {
    order: 1;
  }

  .main-content__container>.row>.custom-layout-sidebar-second {
    order: 3;
  }

  .main-content__container>.row>.custom-layout-main-sidebar-first {
    order: 2;
  }

  .main-content__container>.row>.custom-layout-sidebar-first-only {
    order: 1;
  }

  .main-content__container>.row>.custom-layout-main-sidebar-second {
    order: 1;
  }

  .main-content__container>.row>.custom-layout-sidebar-second {
    order: 2;
  }

  /* if no first sidebar */

  /* --- PROFESSIONAL UI ENHANCEMENTS --- */

  /* 1. Fixed Header Fixes */
  .header.js-fixed {
    /* Ensure header visually separates from scrolling content */
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08) !important;
    z-index: 999;
    background-color: #ffffff;
    /* Fallback if transparent */
  }

  .banner {
    /* Prevent content from hiding under the 120px+ header */
    padding-top: 20px;
  }

  .fixed-header-enabled .banner {
    padding-top: 130px;
  }

  .main-content {
    /* Secondary fallback if no banner exists */
    padding-top: 40px;
  }

  /* 2. Content Cards & Node Hover Effects */
  .node--view-mode-teaser,
  .views-row {
    background: var(--beon-bg-white);
    transition: var(--beon-transition-base);
    border: 1px solid rgba(0, 0, 0, 0.03);
  }

  .node--view-mode-teaser:hover,
  .views-row:hover {
    transform: translateY(-6px);
    box-shadow: var(--beon-shadow-lg);
    border-color: rgba(154, 185, 88, 0.2);
  }

  /* The Active jQuery UI accordion header styles have been moved out of this media query to the global scope below */

  /* =========================================================================
   ACCORDION HEADER OVERRIDES (MOBILE & DESKTOP)
   ========================================================================= */

  /* Base overrides for all accordion headers globally */
  .js-views-accordion-group-header.ui-accordion-header-active,
  .js-views-accordion-group-header.ui-state-active,
  .ui-accordion .ui-accordion-header.ui-state-active,
  .ui-accordion .ui-accordion-header.ui-accordion-header-active,
  .js-views-accordion-group-header.ui-accordion-header-active:hover,
  .js-views-accordion-group-header.ui-state-active:hover,
  .ui-accordion .ui-accordion-header.ui-state-active:hover,
  .ui-accordion .ui-accordion-header.ui-accordion-header-active:hover,
  .js-views-accordion-group-header.ui-state-active:focus,
  .ui-accordion .ui-accordion-header.ui-state-active:focus,

  /* Highly specific overrides for the specified View to guarantee priority over jQuery UI Theme CSS */
  .view-fotografijos-atvaizdavimo-blokai .ui-accordion .js-views-accordion-group-header.ui-state-active,
  .view-fotografijos-atvaizdavimo-blokai .ui-accordion .js-views-accordion-group-header.ui-accordion-header-active,
  .view-fotografijos-atvaizdavimo-blokai h3.ui-accordion-header.ui-state-active,
  .view-fotografijos-atvaizdavimo-blokai h3.ui-accordion-header.ui-accordion-header-active,
  .view-fotografijos-atvaizdavimo-blokai .ui-accordion .js-views-accordion-group-header.ui-state-active:hover,
  .view-fotografijos-atvaizdavimo-blokai .ui-accordion .js-views-accordion-group-header.ui-accordion-header-active:hover,
  .view-fotografijos-atvaizdavimo-blokai h3.ui-accordion-header.ui-state-active:hover,
  .view-fotografijos-atvaizdavimo-blokai h3.ui-accordion-header.ui-accordion-header-active:hover {
    background: #90ad61 !important;
    background-color: #90ad61 !important;
    background-image: none !important;
    border: 1px solid #90ad61 !important;
    border-color: #90ad61 !important;
    color: #ffffff !important;
    -webkit-tap-highlight-color: transparent;
  }

  /* 3. Sidebar Aesthetics & Contact Form */
  .custom-layout-sidebar-first .block,
  .custom-layout-sidebar-second .block,
  .sidebar-first .block,
  .sidebar-second .block,
  .contact-message-feedback-form {
    background: var(--beon-bg-light);
    border: 1px solid #eaeaea;
    padding: 25px;
    border-radius: 10px;
    margin-bottom: 35px;
    box-shadow: var(--beon-shadow-sm);
    transition: var(--beon-transition-base);
  }

  /* Override .region .block:last-child (specificity 0-2-1) which trims padding-bottom to 15px */
  .custom-layout-sidebar-first .block:last-child,
  .custom-layout-sidebar-second .block:last-child,
  .sidebar-first .block:last-child,
  .sidebar-second .block:last-child {
    padding-bottom: 25px;
  }

  .custom-layout-sidebar-first .block:hover,
  .custom-layout-sidebar-second .block:hover,
  .sidebar-first .block:hover,
  .sidebar-second .block:hover {
    box-shadow: var(--beon-shadow-md);
    transform: translateY(-2px);
  }

  /* 4. Link & Typography Polish */
  a {
    transition: var(--beon-transition-base);
  }

  /* 5. Header Flexbox Centering â€” three columns in one horizontal row */
  .header__container>.row {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex-wrap: nowrap !important;
    /* keep all columns on ONE line */
    min-height: 80px;
    /* Slightly taller for more "air" */
    transition: var(--beon-transition-base);
  }

  .header__container>.row::before,
  .header__container>.row::after {
    display: none !important;
    /* remove bootstrap clearfix pseudo elements which break flex */
  }

  /* Each header column: flex child with vertical centering */
  .header__container>.row>div {
    display: flex !important;
    align-items: center !important;
    float: none !important;
  }

  /* Logo size is strictly controlled via theme settings dynamic CSS.
     The following selectors ensure we override any mobile-first or generic theme restrictions. */
  header .logo img,
  .header-container .logo img,
  .header__container .site-branding__logo img {
    max-width: none !important;
    max-height: none !important;
    height: auto;
    /* Fallback, but beon_theme.theme will inject fixed height !important */
  }




  .header__container .col-custom-15,
  .header__container .col-custom-25,
  .header__container .col-custom-60 {
    float: none !important;
    /* disable float to rely on flexbox */
  }

  /* 6. Card Min-Height Consistency */
  .node--view-mode-teaser,
  .views-row {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
  }

  .node--view-mode-teaser .node__content,
  .views-row .views-field-title {
    min-height: 60px;
    /* guarantees standard height despite multiline text */
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    margin-bottom: 15px;
  }

  .views-field-field-image,
  .node__content {
    flex-grow: 1;
    /* Pushes the image or content to fill the remaining space evenly */
    display: flex;
    align-items: flex-end;
    /* Pin images to the bottom of the card uniformly */
    justify-content: center;
  }

  /* 7. Subfooter Contrast & Spacing */
  .subfooter {
    color: #e0e0e0;
    /* Brighten dark text on dark bg */
  }

  .subfooter a {
    color: #ffffff;
    font-weight: 600;
  }

  .subfooter .row {
    display: flex;
    align-items: center;
  }

  .subfooter .row::before,
  .subfooter .row::after {
    display: none;
  }
}

@media (min-width: 992px) {
  .col-custom-15 {
    width: 15%;
    float: left;
    position: relative;
    min-height: 1px;
    padding: 0 15px;
  }

  .col-custom-25 {
    width: 25%;
    float: left;
    position: relative;
    min-height: 1px;
    padding: 0 15px;
  }

  .col-custom-30 {
    width: 30%;
    float: left;
    position: relative;
    min-height: 1px;
    padding: 0 15px;
  }

  .col-custom-50 {
    width: 50%;
    float: left;
    position: relative;
    min-height: 1px;
    padding: 0 15px;
  }

}

@media (max-width: 991px) {

  .col-custom-15,
  .col-custom-20,
  .col-custom-25,
  .col-custom-30,
  .col-custom-50,
  .col-custom-60,
  .col-custom-80 {
    width: 100%;
    float: none;
    position: relative;
    min-height: 1px;
    padding: 0 15px;
  }


  .main-content__container>.row>section,
  .main-content__container>.row>aside {
    order: 0 !important;
  }
}

/* ==========================================================================
   Home Page: Naujausios Fotografijos (Latest Photos Block)
   ========================================================================== */

/* The user requested a white card background for the whole block */
.region-content .view-naujausios-fotografijos-galerijoje {
  background: var(--beon-bg-light) !important;
  border: 1px solid #eaeaea;
  border-radius: 12px;
  padding: 30px !important;
  box-shadow: var(--beon-shadow-sm);
  margin-bottom: 35px;
  display: block !important;
  width: 100% !important;
}

.region-content .view-naujausios-fotografijos-galerijoje .view-content {
  display: block !important;
  width: 100% !important;
}

/* Force Flex layout to combat BeON Box inline inline block sizing */
.region-content .view-naujausios-fotografijos-galerijoje .beon-box-wrapper {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  /* align them from left to right */
  gap: 30px !important;
  width: 100% !important;
}

.region-content .view-naujausios-fotografijos-galerijoje .beon-box-item {
  width: 260px;
  /* Provide explicit default width to force wrap, but allow Views UI to override */
  flex: 0 0 260px;
  max-width: 260px;

  background: var(--beon-bg-light) !important;
  border: 1px solid #eaeaea;
  border-radius: 12px;
  padding: 15px !important;
  box-shadow: var(--beon-shadow-sm);
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
  display: flex !important;
  flex-direction: column !important;
  align-items: center;
  text-align: center;
  text-decoration: none !important;
  margin: 0 !important;
}

.region-content .view-naujausios-fotografijos-galerijoje .beon-box-item:hover {
  transform: translateY(-5px);
  box-shadow: var(--beon-shadow-lg);
  border-color: rgba(154, 185, 88, 0.4) !important;
  /* Theme Green */
}

/* Title styling above the image */
.region-content .view-naujausios-fotografijos-galerijoje .beon-box-item .views-field-title {
  margin-bottom: 12px;
  font-weight: 600;
  width: 100%;
}

.region-content .view-naujausios-fotografijos-galerijoje .beon-box-item .views-field-title a {
  color: var(--beon-primary-dark) !important;
  font-size: 0.95rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  text-decoration: none;
}

.region-content .view-naujausios-fotografijos-galerijoje .beon-box-item:hover .views-field-title a {
  color: #719759 !important;
  /* Theme Green hover */
}

/* Image styling */
.region-content .view-naujausios-fotografijos-galerijoje .beon-box-item .views-field-field-fotografijos-byla {
  width: 100%;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}

.region-content .view-naujausios-fotografijos-galerijoje .beon-box-item img {
  border-radius: 8px;
  width: 100%;
  height: 200px;
  object-fit: cover;
  transition: opacity 0.3s ease;
  display: block;
}

.region-content .view-naujausios-fotografijos-galerijoje .beon-box-item:hover img {
  opacity: 0.9 !important;
}

/* Center Pagination */
.region-content .view-naujausios-fotografijos-galerijoje .pager {
  display: flex !important;
  justify-content: center !important;
  width: 100% !important;
  margin-top: 20px;
}

.region-content .view-naujausios-fotografijos-galerijoje .pager ul.pager__items {
  display: flex !important;
  justify-content: center !important;
  flex-wrap: wrap;
}

/* ==========================================================================
   Home Page: KategorijÅ³ blokas (Category Flipboxes)
   ========================================================================== */
.vvj-flipbox .flipbox-front,
.vvj-flipbox .flipbox-back {
  background-color: var(--beon-bg-light) !important;
  border-radius: 12px !important;
  border: 1px solid #eaeaea !important;
  text-align: center !important;
}

.vvj-flipbox .flipbox-front img,
.vvj-flipbox .flipbox-back img {
  border-radius: 8px !important;
}

/* ==========================================================================
   Sidebar: Galerijos Kategorijos menu block alignment & style
   ========================================================================== */
/* Fix the 5px top offset difference between the sidebar and the main content region */
.region-wrap-sidebar-first .sidebar__section,
.region-wrap-sidebar-first .region-sidebar-first {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* Ensure the sidebar blocks have matching 12px rounded corners */
.sidebar__section .beon-card,
.sidebar__section .block.beon-card {
  border-radius: 12px !important;
  border: 1px solid #eaeaea !important;
  overflow: hidden;
  text-align: center !important;
}

/* Base generic card class - global definition to prevent missing CSS when view is empty */
.beon-card {
  background: #ffffff;
  border: 1px solid #eaeaea;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
  /* Added subtle uniform shadow */
  padding: 15px;
  /* Ensures inner items are spaced out from the edge */
}

/* Margin requests */
.col-md-12 .block {
  margin-top: 10px;
}

/* =========================================
   HORIZONTAL TEXT MENU (.hormenu)
   ========================================= */

/* =========================================
   HORIZONTAL TEXT MENU (.hormenu) - AGGRESSIVE RESET
   ========================================= */

/* Handle the wrapper block, the list itself, and any inner lists */
[class*="hormenu"],
.hormenu,
.hormenu .content,
.hormenu ul.menu,
.hormenu ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  background: none !important;
  /* Clear any block-level backgrounds if applied via this class */
  border: none !important;
  box-shadow: none !important;
}

/* Specific reset for list items and links */
.hormenu li,
.hormenu ul li,
.hormenu li a,
.hormenu ul li a {
  background: none !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
}

/* Hide ALL potential arrows/bullets/icons */
.hormenu li:before,
.hormenu li:after,
.hormenu a:before,
.hormenu a:after,
.hormenu li a:before,
.hormenu li a:after,
.hormenu .fa,
.hormenu .fas,
.hormenu .ui-icon {
  display: none !important;
  content: none !important;
  width: 0 !important;
  height: 0 !important;
}

/* Final styling for the links */
.hormenu li a,
.hormenu ul li a {
  text-decoration: none !important;
  padding: 5px 15px !important;
  color: #333 !important;
  /* Force a dark color to be sure */
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  transition: opacity 0.3s ease !important;
  font-size: 14px !important;
  display: block !important;
  line-height: 1.2 !important;
  /* Standardize line height */
}

.hormenu li a:hover {
  opacity: 0.6 !important;
  background: none !important;
}

/* The Separator Bar */
.hormenu li:not(:last-child):after {
  content: "|" !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 14px !important;
  color: #999 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  pointer-events: none !important;
  height: 100% !important;
  /* Match parent height */
  line-height: normal !important;
  transform: translateY(-1px);
  /* Subtle nudge up for many fonts */
}

/* =========================================
   ALIGNMENT HELPERS (.beonkaire, .beondesine)
   ========================================= */

/* Left Alignment */
.beonkaire,
.beonkaire .content,
.beonkaire .block-content,
.beonkaire .view-content,
.beonkaire ul.menu,
.beonkaire ul,
.beonkaire [style*="display: flex"] {
  text-align: left !important;
  justify-content: flex-start !important;
  align-items: flex-start !important;
}

/* Right Alignment */
.beondesine,
.beondesine .content,
.beondesine .block-content,
.beondesine .view-content,
.beondesine ul.menu,
.beondesine ul,
.beondesine [style*="display: flex"] {
  text-align: right !important;
  justify-content: flex-end !important;
  align-items: flex-end !important;
}

/* Specific override for .hormenu when combined with lygiavimas classes */
.hormenu.beonkaire,
[class*="hormenu"].beonkaire {
  justify-content: flex-start !important;
}

.hormenu.beondesine,
[class*="hormenu"].beondesine {
  justify-content: flex-end !important;
}
/* =========================================
   STICKY SHRINKING HEADER
   ========================================= */
:root {
  --site-header-height: 120px;
}

.site-header {
  width: 100%;
  background-color: #fdfdfd;
  transition: all 0.3s ease;
  z-index: 1000;
  position: relative;
}

.site-header.is-sticky {
  position: fixed !important;
  top: 0;
  left: 0;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
  background-color: rgba(253, 253, 253, 0.98);
  padding: 5px 0 !important;
}

body.header-is-sticky {
  padding-top: var(--site-header-height) !important;
}

/* =========================================
   SCROLL TO TOP BUTTON
   ========================================= */
#scrollTopBtn {
  position: fixed !important;
  bottom: 25px;
  right: 25px;
  width: 44px;
  height: 44px;
  background-color: #719759 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 4px !important;
  cursor: pointer;
  z-index: 999999 !important;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transform: translateY(15px);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
  padding: 0;
  margin: 0;
}

#scrollTopBtn.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

#scrollTopBtn:hover {
  background-color: #5a7d45 !important;
  transform: translateY(-2px);
}

#scrollTopBtn svg {
  width: 24px;
  height: 24px;
  stroke: #ffffff !important;
}

/* =========================================
   EU COOKIE COMPLIANCE (GDPR Full Width)
   ========================================= */
#sliding-popup {
  background-color: #719759 !important;
  color: #ffffff !important;
  padding: 12px 0 !important;
  font-family: 'Montserrat', sans-serif !important;
  box-shadow: 0 -4px 15px rgba(0, 0, 0, 0.2) !important;
  border: none !important;
  z-index: 999999 !important;
  width: 100% !important;
  left: 0 !important;
  bottom: 0 !important;
}

#sliding-popup .popup-content {
  max-width: 1200px;
  margin: 0 auto !important;
  padding: 0 20px !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 25px;
}

#sliding-popup .popup-text {
  margin: 0 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #ffffff !important;
  flex: 1;
  text-align: left;
}

#sliding-popup .popup-buttons {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex-shrink: 0;
}

/* Menu-style Buttons */
#sliding-popup button.agree-button,
#sliding-popup button.decline-button {
  background-color: #719759 !important;
  color: #ffffff !important;
  border: 1px solid #ffffff !important;
  padding: 8px 20px !important;
  border-radius: 10px !important;
  font-weight: 600 !important;
  cursor: pointer;
  transition: all 0.3s ease !important;
  font-size: 12px !important;
  text-transform: uppercase;
  white-space: nowrap;
}

#sliding-popup button.agree-button:hover {
  background-color: #ffffff !important;
  color: #719759 !important;
}

#sliding-popup button.decline-button:hover {
  background-color: rgba(255, 255, 255, 0.15) !important;
}

@media (max-width: 991px) {
  #sliding-popup .popup-content {
    flex-direction: column !important;
    text-align: center !important;
    gap: 15px !important;
  }
  #sliding-popup .popup-text {
    text-align: center !important;
  }
  #sliding-popup .popup-buttons {
    flex-direction: column !important;
    width: 100% !important;
  }
  #sliding-popup button.agree-button,
  #sliding-popup button.decline-button {
    width: 100% !important;
  }
}


/* =========================================
   SCROLLING & VISIBILITY FIXES (Consolidated)
   ========================================= */

html {
  overflow-y: scroll !important; /* Force scrollbar track to prevent jump */
  height: auto !important;
  scroll-behavior: smooth;
}

body {
  height: auto !important;
  min-height: 100vh !important;
  overflow-x: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  margin: 0 !important;
}

/* Ensure page content stretches to fill screen so footer stays at bottom */
.page-container {
  flex: 1 0 auto !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: 100vh !important;
}

/* Fix for bordered container cutting off content */
.page-container-border-enabled .page-container {
  overflow: visible !important;
}

/* Sticky Header Spacing */
body.has-sticky-header {
  padding-top: var(--site-header-height, 0) !important;
}

/* Cookie Banner Spacing - Stronger fix for short pages */
body.eu-cookie-compliance-status-open {
  padding-bottom: 150px !important; /* Visual safety buffer */
}

/* Sticky Header Logo Shrinking */
.site-header.is-sticky .header-logo-region img,
.site-header.is-sticky .site-branding__logo img {
  max-height: 40px !important;
  width: auto !important;
  transition: all 0.3s ease-in-out !important;
}

.header-logo-region img,
.site-branding__logo img {
  transition: all 0.3s ease-in-out !important;
}
/* =========================================
   SEARCH RESULTS - Professional BeON Style
   ========================================= */
.view-naujausios-fotografijos-galerijoje {
  padding: 0;
  margin: 20px 0;
}

/* Search results list container */
.view-naujausios-fotografijos-galerijoje .search-results,
.search-results.node-search-results {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* Individual result item */
.beon-search-result-item {
  border-bottom: 1px solid #e8e8e8;
  padding: 0;
}

.beon-search-result-item:last-child {
  border-bottom: none;
}

/* Horizontal link wrapper */
.beon-search-result-link {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 14px 4px;
  text-decoration: none;
  color: inherit;
  transition: background-color 0.2s ease;
}

.beon-search-result-link:hover {
  background-color: #f8f8f8;
  text-decoration: none;
  color: inherit;
}

/* Thumbnail - BeON box style */
.beon-search-result-thumb {
  flex-shrink: 0;
  width: 90px;
  height: 70px;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid #eaeaea;
  background-color: #f5f5f5;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 8px rgba(0,0,0,0.07);
}

.beon-search-result-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0;
  display: block;
}

.beon-search-thumb-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ccc;
  font-size: 22px;
}

/* Meta (title + date) */
.beon-search-result-meta {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-width: 0;
}

.beon-search-result-title {
  font-size: 15px;
  font-weight: 500;
  color: #2d2d2d;
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.beon-search-result-link:hover .beon-search-result-title {
  color: #719759;
}

.beon-search-result-date {
  font-size: 12px;
  color: #aaa;
  display: flex;
  align-items: center;
  gap: 5px;
}

.beon-search-result-date .fa {
  font-size: 11px;
}

/* Hide snippet and 'About searching' text */
.search-help,
.search-results-heading + p,
.view-naujausios-fotografijos-galerijoje .search-advanced {
  display: none !important;
}

/* Pagination */
.view-naujausios-fotografijos-galerijoje .pager,
.search-results-pager {
  margin-top: 25px;
  display: flex;
  justify-content: center;
}

/* Mobile */
@media (max-width: 576px) {
  .beon-search-result-thumb {
    width: 60px;
    height: 50px;
  }
  .beon-search-result-title {
    font-size: 13px;
  }
}

/* =========================================
   MOBILE FIXES
   ========================================= */

/* 1. Hide Footer First navigation block on mobile (prevents duplicate hamburger) */
@media (max-width: 991px) {
  .footer-first .block-system-menu-block,
  .footer-first .main-navigation-block,
  .footer-first [class*='block--system-menu-block--main'],
  .footer-first .block--main-navigation {
    display: none !important;
  }

  /* Also hide any hamburger button inside Footer First */
  .footer-first .mobile-menu-toggle {
    display: none !important;
  }
}

/* 2. Sticky header is disabled on mobile via JS, but ensure CSS also resets */
@media (max-width: 991px) {
  #site-header.is-sticky,
  .site-header.is-sticky {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    width: auto !important;
    z-index: auto !important;
    box-shadow: none !important;
  }

  body.has-sticky-header {
    padding-top: 0 !important;
  }
}

/* 3. Search result thumbnail 140x140px */
.beon-search-result-thumb {
  width: 140px !important;
  height: 140px !important;
}

/* =========================================
   SEARCH RESULTS - Colorbox Gallery Links
   ========================================= */

/* Hide the extra Colorbox links used only for gallery navigation */
.beon-search-colorbox-hidden {
  display: none !important;
  position: absolute !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

/* Thumbnail link styling */
.beon-search-colorbox-trigger {
  display: block;
  width: 100%;
  height: 100%;
}

.beon-search-colorbox-trigger img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity 0.2s ease;
  display: block;
}

.beon-search-colorbox-trigger:hover img {
  opacity: 0.85;
}

/* Title as link in search results */
.beon-search-result-title {
  font-size: 15px;
  font-weight: 500;
  color: #2d2d2d;
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-decoration: none;
  display: block;
}

.beon-search-result-title:hover {
  color: #719759;
  text-decoration: underline;
}
