@import url("https://fonts.googleapis.com/css2?family=Merriweather:ital,opsz,wght@0,18..144,300..900;1,18..144,300..900&display=swap");

/* Page background styles - consolidated from inline CSS */
body {
  background-color: #ffffff;
  background-repeat: no-repeat;
  background-position: 0% 0%;
  background-size: cover;
  background-attachment: fixed;
}

body.background-cover-no {
  background-size: auto;
  background-attachment: scroll;
  background-repeat: repeat;
}

body.background-image-home {
  background-image: url(../images/home-page-background.jpeg);
}

/* Top margin for non-index pages */
body.page-top-margin {
  margin-top: 64px;
}

/* Color scheme consolidation */
#vb_page,
#vb_page a {
  color: #2b2b2b;
}

#vb_page.color-scheme-light,
#vb_page.color-scheme-light a {
  color: #555555;
}

#vb_page.color-scheme-medium,
#vb_page.color-scheme-medium a {
  color: #949494;
}

#vb_page #vb_title h1 {
  color: #fafafa;
}

#vb_page.color-scheme-light #vb_title h1,
#vb_page.color-scheme-medium #vb_title h1 {
  color: #555555;
}

#vb_page #vb_menu a {
  color: #fcf9fc;
}

#vb_page.color-scheme-light #vb_menu a,
#vb_page.color-scheme-medium #vb_menu a {
  color: #949494;
}

#vb_page #vb_menu li a.active {
  color: #979597;
}

#vb_page.color-scheme-light #vb_menu li a.active,
#vb_page.color-scheme-medium #vb_menu li a.active {
  color: #595959;
}

/* Font family consolidation */
#vb_page {
  font-family: "Merriweather", serif;
}

#vb_title {
  font-family: "Merriweather", serif;
}

#vb_title.font-lucida {
  font-family: "Lucida Grande", "Lucida Sans Unicode", "Arial";
}

#vb_menu {
  font-family: "Merriweather", serif;
}

/* Video container styling - moved from inline */
.video-container {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  max-width: 1280px;
  margin: 0 auto;
}

.video-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.page-body,
#middle_page_template_source {
  padding-left: 30px;
  padding-right: 30px;
}
#vb_page {
  position: relative;
  height: 100%;
  min-width: 950px;
  text-align: left;
}
#vb_page .main_content {
  position: absolute;
  min-height: 400px;
}

/* Specific fixes for slideshow gallery pages */
#vb_page.content_type_slideshow_gallery .main_content {
  height: auto;
  max-height: 80vh;
  overflow: visible;
}
#vb_page.top_margin_true,
#vb_page.top_margin_yes {
  margin-top: 50px;
}
#vb_page.page_align_center,
#vb_page.page_align_yes {
  margin-left: auto;
  margin-right: auto;
}
#vb_page.page_align_center #w_footer,
#vb_page.page_align_yes #w_footer {
  margin-left: auto;
  margin-right: auto;
}
#vb_page.page_align_left {
  margin-left: 60px;
}
#vb_page.page_align_left #w_footer {
  margin-left: 60px;
}
#vb_page.page_scaling_scale .main_content {
  width: 68%;
}
#vb_page.page_scaling_fixed,
#vb_page.menu_position_left.page_scaling_no,
#vb_page.menu_position_right.page_scaling_no,
#vb_page.menu_position_top.page_scaling_top_no {
  max-width: 935px;
}
#vb_page.menu_position_top.page_scaling_top_yes {
  width: auto;
}
#vb_page.page_scaling_top_yes.menu_position_top:not(.page_full_width_yes) {
  max-width: 115vh !important;
}
#vb_page.page_scaling_yes:not(.page_full_width_yes) {
  max-width: 150vh !important;
}
@media screen and (min-width: 441px) {
  #vb_page.page_scaling_yes.menu_position_right .main_content {
    width: auto;
    right: 380px;
    left: 0;
  }
  #vb_page.page_scaling_yes.menu_position_left .main_content {
    width: auto;
    right: 0;
  }
}
#vb_page.page_scaling_yes:not(.menu_position_top) .vb_album_container,
#vb_page.page_full_width_yes.page_scaling_top_yes .vb_album_container {
  height: 640px;
  height: 75vh;
  height: calc(100vh - 300px);
}
@media screen and (min-height: 0) {
  #vb_page.page_scaling_yes:not(.menu_position_top) #vb_album_content,
  #vb_page.page_full_width_yes.page_scaling_top_yes #vb_album_content,
  #vb_page.page_scaling_yes:not(.menu_position_top) .main_content,
  #vb_page.page_full_width_yes.page_scaling_top_yes .main_content {
    height: auto;
  }
  #vb_page.page_scaling_yes:not(.menu_position_top) .vb_album_container,
  #vb_page.page_full_width_yes.page_scaling_top_yes .vb_album_container {
    padding-bottom: 135px;
    margin-bottom: 60px;
    min-height: 340px;
  }
  #vb_page.page_scaling_yes:not(.menu_position_top).top_margin_yes
    .vb_album_container,
  #vb_page.page_full_width_yes.page_scaling_top_yes.top_margin_yes
    .vb_album_container {
    padding-bottom: 85px;
  }
}
#vb_page.menu_position_left.left_margin_yes {
  margin-left: 60px;
}
#vb_page.menu_position_left.left_margin_yes.page_align_yes {
  margin-left: auto;
}
#vb_page.menu_position_left #vb_title {
  left: 285px;
  height: 30px;
  text-align: left;
}
#vb_page.menu_position_left #vb_logo {
  position: relative;
  width: 270px;
}
#vb_page.menu_position_left #vb_menu {
  position: relative;
  margin-top: 42px;
  width: 250px;
}
#vb_page.menu_position_left #vb_info_container {
  width: 220px;
  padding-right: 40px;
}
#vb_page.menu_position_left .main_content {
  top: 140px;
  left: 285px;
  padding-right: 30px;
  width: auto;
  right: 0px;
}

/* Gallery-specific positioning for left menu */
#vb_page.content_type_slideshow_gallery.menu_position_left .main_content {
  top: 140px;
  left: 285px;
  padding-right: 30px;
  width: auto;
  right: 30px;
  height: auto;
  max-height: 75vh;
}

/* Fix page scaling issues for galleries */
#vb_page.content_type_slideshow_gallery.page_scaling_yes .main_content {
  height: auto !important;
  bottom: auto !important;
}

/* Ensure galleries don't stretch beyond viewport */
#vb_page.content_type_slideshow_gallery {
  height: auto;
  min-height: auto;
}

/* Remove problematic height constraints on gallery pages */
#vb_page.content_type_slideshow_gallery.page_scaling_yes:not(.menu_position_top) .main_content,
#vb_page.content_type_slideshow_gallery.page_full_width_yes.page_scaling_top_yes .main_content {
  height: auto !important;
  max-height: 80vh;
}
#vb_page.menu_position_right #vb_title {
  width: 500px;
  height: 40px;
}
#vb_page.menu_position_right #vb_logo {
  position: relative;
  float: right;
  width: 340px;
}
#vb_page.menu_position_right #vb_menu {
  position: relative;
  clear: right;
  float: right;
  top: 32px;
  width: 340px;
}
#vb_page.menu_position_right #vb_info_container {
  position: relative;
  clear: right;
  float: right;
  width: 310px;
  padding-right: 30px;
  margin-top: 35px;
}
#vb_page.menu_position_right #vb_info_container h4 {
  margin-top: 6px;
}
#vb_page.menu_position_right.text_full_width_yes #vb_text_content {
  width: 650px;
}
#vb_page.menu_position_right .main_content {
  top: 130px;
  height: 75%;
  min-width: 600px;
  width: auto;
  left: 0px;
  right: 380px;
}
/* Simplified menu position - keeping only top layout for gallery pages */
.menu_position_top {
  width: 842px;
  min-width: 842px;
}

.menu_position_top #vb_title {
  display: none;
}

.menu_position_top #vb_logo {
  left: 0px;
  width: 300px;
}

.menu_position_top #vb_menu {
  top: 20px;
  right: 0;
  width: 540px;
  text-align: right;
}

.menu_position_top #vb_menu li {
  display: inline-block;
  margin-left: 10px;
}

.menu_position_top .main_content {
  top: 130px;
  width: 100%;
  left: 0px;
}
/* Old monosocialiconsfont removed - replaced by FontAwesome */
.social-icon {
  display: inline-block;
  vertical-align: middle;
  text-decoration: none;
  text-align: center;
  background: #555;
  border-radius: 50%;
  width: 48px;
  height: 48px;
  padding: 0;
}
.social-icon i::before {
  color: white;
  padding: 0;
  font-size: 32px;
  line-height: 48px;
}
.social-icon:hover{
  background: #888;
  border-radius: 50%;
}
#vb_page a,
#vb_page a:visited,
#vb_footer a,
#vb_footer a:visited {
  color: inherit;
}
img {
  border: 0;
}
/* Simplified font family classes - only keeping used ones */
.font_family_arial,
.title_font_family_arial #vb_title,
.menu_font_family_arial #vb_menu {
  font-family: Arial, sans-serif;
}

.font_family_verdana,
.title_font_family_verdana #vb_title,
.menu_font_family_verdana #vb_menu {
  font-family: Verdana, sans-serif;
}

.font_family_lucida,
.title_font_family_lucida #vb_title,
.menu_font_family_lucida #vb_menu {
  font-family: "Lucida Grande", "Lucida Sans Unicode", Arial, sans-serif;
}

.font_family_times,
.title_font_family_times #vb_title,
.menu_font_family_times #vb_menu {
  font-family: "Times New Roman", Times, serif;
}
/* Simplified font size system - only keeping actually used sizes */
.font_size_1 { font-size: 16.5px; line-height: 1.55; }
.font_size_2 { font-size: 18px; line-height: 1.5; }
.font_size_3 { font-size: 21px; line-height: 1.57; }
.font_size_7 { font-size: 45px; line-height: 1.53; }
.font_size_8 { font-size: 54px; line-height: 1.39; }

.title_font_size_7 #vb_title h1 { font-size: 45px; }
.title_font_size_8 #vb_title h1 { font-size: 54px; }
.menu_font_size_3 #vb_menu { font-size: 21px; }
#vb_page #vb_title {
  position: absolute;
  top: 38px;
}
#vb_page #vb_title h1 {
  display: table-cell;
  height: 42px;
  vertical-align: bottom;
  margin: 0;
  padding-bottom: 2px;
  font-weight: normal;
  overflow: visible;
}
#vb_page #vb_logo {
  position: absolute;
  overflow: hidden;
  height: 98px;
}
#vb_page #vb_logo a {
  overflow: hidden;
  display: block;
  width: 100%;
  height: 100%;
}
.logo_retina_yes #vb_logo img {
  transform-origin: 0 0;
  transform: scale(0.5);
}
#vb_page #vb_logo img {
  border: 0;
}
#vb_page #vb_menu {
  position: absolute;
  margin: 0;
  margin-bottom: 20px;
  padding: 0;
  z-index: 1;
}
#vb_page #vb_menu li {
  list-style: none;
}
#vb_page #vb_menu li a {
  text-decoration: none;
}
#vb_page #vb_info_container h2 {
  margin-bottom: 7px;
  font-weight: normal;
}
#vb_page .push {
  height: 50px;
  clear: both;
}
#vb_footer {
  height: 50px;
  bottom: 0px;
  font-size: 15px;
  font-weight: normal;
  color: inherit;
  text-align: left;
}
#vb_footer.blank {
  position: absolute;
}
.poweredby,
a.poweredby {
  text-decoration: none;
}
#vb_page.content_type_album.menu_position_top #vb_album_content {
  width: 100%;
  height: auto;
}
#vb_page.content_type_album.page_full_width_no .vb_album_container {
  padding-bottom: 70.24%;
  height: 0;
  overflow: hidden;
}
#vb_page.content_type_album #vb_album_content {
  display: block;
  width: 100%;
  height: 100%;
}
#vb_page.content_type_album .vb_album_container {
  width: 100%;
  height: 100%;
  position: relative;
  margin-bottom: 52px;
}
#vb_page.content_type_album .vb_album_container embed,
#vb_page.content_type_album .vb_album_container object,
#vb_page.content_type_album .vb_album_container .album_poster_image,
#vb_page.content_type_album .vb_album_container iframe {
  position: absolute;
  width: 100%;
  height: 100%;
}
#vb_page.content_type_album .vb_album_container .open_album {
  position: absolute;
  left: 14px;
  top: 10px;
  z-index: 1;
}
#vb_page.content_type_collection #vb_thumbs_container {
  display: block;
}
#vb_page #vb_thumbs_container {
  margin: 0;
  padding: 0;
  width: 100%;
}
#vb_page #vb_thumbs_container .p_item {
  display: block;
  float: left;
  margin-right: 6px;
  margin-bottom: 20px;
}
#vb_page #vb_thumbs_container .p_item > div[title] {
  overflow: hidden;
}
#vb_page #vb_thumbs_container .p_item > div figure {
  margin: 0;
  padding: 0;
}
#vb_page #vb_thumbs_container .p_item:hover .p_specs a {
  opacity: 0.5;
}
#vb_page #vb_thumbs_container .p_specs {
  padding-top: 4px;
}
#vb_page #vb_thumbs_container .p_specs h5 {
  margin: 0;
  float: left;
  width: 100%;
}
#vb_page #vb_thumbs_container .p_specs h5 a {
  font-weight: normal;
  text-decoration: none;
  white-space: nowrap;
  overflow: hidden;
  display: block;
  text-overflow: ellipsis;
}
#vb_page #vb_thumbs_container .presentation_date {
  font-size: 16.5px;
}
/* Simplified thumbnail sizing - keeping only used sizes */
.thumbnails_size_small .p_item div {
  width: 272px;
  height: 130px;
}

.thumbnails_size_small .p_item .p_specs {
  width: 270px;
  height: 45px;
}

.menu_position_top .p_item div {
  margin-right: 2px !important;
}
#vb_page.content_type_text #vb_text_content,
#vb_page.content_type_feed #vb_text_content {
  display: block;
}
#vb_page.content_type_text #vb_text_content {
  width: 650px;
  padding-right: 150px;
}
#vb_page.content_type_text.text_full_width_yes #vb_text_content {
  width: 100%;
  padding-right: 0;
}
.content_type_store {
  --line-clamp: 3;
}
@media (max-width: 1200px) {
  .content_type_store.menu_position_top {
    --line-clamp: 2;
  }
}
@media (max-width: 1000px) {
  .content_type_store.menu_position_top {
    --line-clamp: 1;
  }
}
@media (max-width: 1700px) {
  .content_type_store.menu_position_left,
  .content_type_store.menu_position_right {
    --line-clamp: 2;
  }
}
@media (max-width: 1500px) {
  .content_type_store.menu_position_left,
  .content_type_store.menu_position_right {
    --line-clamp: 1;
  }
}
.content_type_store.page_scaling_no {
  --line-clamp: 0;
}
.content_type_store .collection {
  display: flex;
  flex-wrap: wrap;
}
.content_type_store .collection .collection_cell {
  position: relative;
  width: 24%;
  padding-bottom: 30%;
  margin-bottom: 40px;
  overflow: hidden;
}
.content_type_store .collection .collection_cell .collection_content {
  display: flex;
  flex-direction: column;
  position: absolute;
  height: 100%;
  width: 90%;
  padding: 0% 5%;
}
.content_type_store .collection .collection_cell .collection_content a {
  text-decoration: none;
}
.content_type_store
  .collection
  .collection_cell
  .collection_content
  .collection_image {
  display: flex;
  flex-direction: column;
  align-content: center;
  width: 100%;
  flex-grow: 1;
  flex-shrink: 1;
  overflow: hidden;
}
.content_type_store
  .collection
  .collection_cell
  .collection_content
  .collection_image
  img,
.content_type_store
  .collection
  .collection_cell
  .collection_content
  .collection_image
  p {
  position: relative;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
}
.content_type_store
  .collection
  .collection_cell
  .collection_content
  .product_title {
  display: flex;
  flex-grow: 0;
  flex-shrink: 0;
  justify-content: space-between;
  height: var(--line-height);
  overflow: hidden;
  padding-top: 10px;
}
.content_type_store
  .collection
  .collection_cell
  .collection_content
  .product_description_short {
  flex-grow: 0;
  flex-shrink: 0;
  height: calc(var(--line-height) * var(--line-clamp));
  display: -webkit-box;
  -webkit-line-clamp: var(--line-clamp);
  -webkit-box-orient: vertical;
}
.content_type_store .product .product_wrapper {
  position: relative;
  float: left;
  width: 100%;
}
.content_type_store .product .product_wrapper .product_image {
  width: 40%;
  min-width: 400px;
  min-height: 300px;
  float: left;
}
.content_type_store .product .product_wrapper .product_image img {
  width: 90%;
}
.content_type_store .product .product_wrapper .product_details {
  width: 400px;
  float: left;
}
.content_type_store .product .product_wrapper .product_details .button {
  margin-top: 20px;
  padding: 8px;
  border: 1px solid #333;
  background-color: #eee;
  text-decoration: none;
  font-family: inherit;
  font-size: inherit;
  border-radius: 4px;
  cursor: pointer;
}
.content_type_store
  .product
  .product_wrapper
  .product_details
  .button.disabled {
  border: 1px solid #999;
  color: #999;
  visibility: hidden;
}
.content_type_store
  .product
  .product_wrapper
  .product_details
  .thanks-for-order {
  padding-top: 30px;
}
.content_type_store
  .product
  .product_wrapper
  .product_details
  .mod-store-order-form {
  visibility: hidden;
}
.content_type_store
  .product
  .product_wrapper
  .product_details
  .mod-store-order-form.visible {
  visibility: visible;
}
.content_type_store
  .product
  .product_wrapper
  .product_details
  .mod-store-order-form
  .text-input {
  position: relative;
  padding: 5px 0px 5px 0px;
}
.content_type_store
  .product
  .product_wrapper
  .product_details
  .mod-store-order-form
  .text-input:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}
.content_type_store
  .product
  .product_wrapper
  .product_details
  .mod-store-order-form
  .text-input
  label {
  float: left;
  width: 120px;
}
.content_type_store
  .product
  .product_wrapper
  .product_details
  .mod-store-order-form
  .text-input
  label.error {
  color: red;
}
.content_type_store
  .product
  .product_wrapper
  .product_details
  .mod-store-order-form
  .text-input
  input,
.content_type_store
  .product
  .product_wrapper
  .product_details
  .mod-store-order-form
  .text-input
  textarea {
  width: 175px;
  position: absolute;
  height: 50%;
  font-family: inherit;
  font-size: inherit;
  color: #555;
  border: solid 1px #ccc;
  border-radius: 2px;
}
.content_type_store
  .product
  .product_wrapper
  .product_details
  .mod-store-order-form
  .text-input
  textarea {
  height: 25px;
}
.content_type_store
  .product
  .product_wrapper
  .product_details
  .mod-store-order-form
  .text-input
  select {
  width: 175px;
}
.content_type_store
  .product
  .product_wrapper
  .product_details
  .mod-store-order-form
  .btn {
  margin-top: 20px;
}
html {
  height: 100%;
  margin: 0;
}
body {
  height: 95%;
  margin: 0;
}
.notice {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 24px;
  background-color: #8c8c8c;
  color: #c0bfc4;
  text-align: left;
  font-size: 19.5px;
  padding-top: 8px;
  padding-left: 20px;
  font-style: italic;
  font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue",
    Helvetica, Arial, "Lucida Grande", sans-serif;
  z-index: 1000;
}
.notice a {
  color: #a7c5ff;
  text-decoration: none;
}
.notice .right {
  float: right;
  padding-right: 20px;
  font-style: normal;
}
.made_with {
  position: fixed;
  bottom: 5px;
  right: 17px;
  font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue",
    Helvetica, Arial, "Lucida Grande", sans-serif;
  font-size: 15px;
  text-decoration: none;
  opacity: 0.4;
  color: black;
}
.made_with:hover {
  opacity: 0.8;
}
.album_poster_image img {
  opacity: 0;
  transition: opacity 0.35s ease-in-out;
  border: 0;
}
.vb_album_container .fit-width {
  width: 100%;
  height: auto;
}
.vb_album_container .fit-height {
  height: 100%;
  width: auto;
}
.album_poster_image {
  overflow: hidden;
}
.vb_footer_text {
  display: inline-block;
  padding-left: 5px;
  vertical-align: middle;
  line-height: 36px;
}
.vb_footer_text:first-child {
  padding-left: 0;
}
.wf-loading body {
  visibility: hidden;
}
.social-icons {
  margin: 32px 0;
  padding: 0;
}
.social-icons li {
  display: inline;
  list-style: none;
}
#vb_page #vb_info_container h2 {
  margin-top: 0;
  padding: 0;
}

/* =================================
   FONTAWESOME ICON REPLACEMENTS
   ================================= */

/* FontAwesome Icon Replacements - Replace missing Viewbook icon fonts */

/* =================================
   GALLERY NAVIGATION ICONS
   ================================= */

/* Replace vb-site-icons gallery navigation arrows */
#slideshow-gallery-module .navigation .arrow.backward:before {
  font-family: "Font Awesome 6 Free" !important;
  content: "\f053" !important; /* fa-chevron-left */
  font-weight: 900;
}

#slideshow-gallery-module .navigation .arrow.forward:before {
  font-family: "Font Awesome 6 Free" !important;
  content: "\f054" !important; /* fa-chevron-right */
  font-weight: 900;
}

/* Gallery controls - fullscreen, play/pause */
#slideshow-gallery-module .controls li.fullscreen:before {
  font-family: "Font Awesome 6 Free" !important;
  content: "\f424" !important; /* fa-expand-arrows-alt */
  font-weight: 900;
}

#slideshow-gallery-module .controls li.auto-play:before {
  font-family: "Font Awesome 6 Free" !important;
  content: "\f04b" !important; /* fa-play */
  font-weight: 900;
}

#slideshow-gallery-module .controls li.auto-play.-is-playing:before {
  font-family: "Font Awesome 6 Free" !important;
  content: "\f04c" !important; /* fa-pause */
  font-weight: 900;
}

/* Caption toggle icon */
#slideshow-gallery-module
  .viewer.-with-captions
  figure
  .-clamp-captions:before {
  font-family: "Font Awesome 6 Free" !important;
  content: "\f0dc" !important; /* fa-sort (up/down arrows) */
  font-weight: 900;
}

/* =================================
   SCROLLING GALLERY ICONS
   ================================= */

/* Replace icons-viewbook in scrolling gallery */
.__h-gallery__images__list__item__footer__options__download:before {
  font-family: "Font Awesome 6 Free" !important;
  content: "\f019" !important; /* fa-download */
  font-weight: 900;
}

.__h-gallery__images__list__item__footer__options__share:before {
  font-family: "Font Awesome 6 Free" !important;
  content: "\f1e0" !important; /* fa-share */
  font-weight: 900;
}

/* =================================
   SOCIAL SHARING PANEL ICONS
   ================================= */

/* Facebook icon */
.__panel__share__list__item__link.facebook:before {
  font-family: "Font Awesome 6 Brands" !important;
  content: "\f09a" !important; /* fa-facebook */
  font-weight: 400;
}

/* Twitter icon */
.__panel__share__list__item__link.twitter:before {
  font-family: "Font Awesome 6 Brands" !important;
  content: "\e61b" !important; /* fa-x-twitter */
  font-weight: 400;
}

/* Google icon */
.__panel__share__list__item__link.google:before {
  font-family: "Font Awesome 6 Brands" !important;
  content: "\f1a0" !important; /* fa-google */
  font-weight: 400;
}

/* Pinterest icon */
.__panel__share__list__item__link.pinterest:before {
  font-family: "Font Awesome 6 Brands" !important;
  content: "\f0d2" !important; /* fa-pinterest */
  font-weight: 400;
}

/* Email icon */
.__panel__share__list__item__link.mail:before {
  font-family: "Font Awesome 6 Free" !important;
  content: "\f0e0" !important; /* fa-envelope */
  font-weight: 900;
}

/* Download icon */
.__panel__share__list__item__link.download:before {
  font-family: "Font Awesome 6 Free" !important;
  content: "\f019" !important; /* fa-download */
  font-weight: 900;
}

/* =================================
   ICON STYLING IMPROVEMENTS
   ================================= */

/* Ensure proper icon rendering */
[class*="__share__list__item__link"]:before,
[class*="__options__"]:before,
[class*="navigation"] .arrow:before,
[class*="controls"] li:before {
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Adjust icon sizing for gallery controls */
#slideshow-gallery-module .controls li:before {
  font-size: 16px;
  line-height: 1;
}

#slideshow-gallery-module .navigation .arrow:before {
  font-size: inherit;
  line-height: 1;
}

/* Share panel icon adjustments */
.__panel__share__list__item__link:before {
  font-size: 18px;
  line-height: 28px;
}

/* Download and share options in scrolling gallery */
.__h-gallery__images__list__item__footer__options > span:before {
  font-size: 16px;
  line-height: 1;
}

/* =================================
   ACCESSIBILITY IMPROVEMENTS
   ================================= */

/* Add aria-labels for better accessibility */
#slideshow-gallery-module .navigation .arrow.backward {
  position: relative;
}

#slideshow-gallery-module .navigation .arrow.forward {
  position: relative;
}

#slideshow-gallery-module .controls li.fullscreen {
  position: relative;
}

#slideshow-gallery-module .controls li.auto-play {
  position: relative;
}

/* Screen reader text for icons */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* =================================
   HOVER EFFECTS
   ================================= */

/* Maintain existing hover effects while using FontAwesome */
.__panel__share__list__item__link:hover:before,
.__h-gallery__images__list__item__footer__options > span:hover:before,
#slideshow-gallery-module .controls .hi-lite:hover:before {
  opacity: 1;
  transition: opacity 0.3s ease;
}

/* =================================
   FALLBACK STYLES
   ================================= */

/* Fallback for browsers that don't support FontAwesome */
@supports not (font-family: "Font Awesome 6 Free") {
  /* Use Unicode fallbacks */
  #slideshow-gallery-module .navigation .arrow.backward:before {
    content: "‹" !important;
    font-family: Arial, sans-serif !important;
  }

  #slideshow-gallery-module .navigation .arrow.forward:before {
    content: "›" !important;
    font-family: Arial, sans-serif !important;
  }

  .__h-gallery__images__list__item__footer__options__download:before {
    content: "⬇" !important;
    font-family: Arial, sans-serif !important;
  }

  .__h-gallery__images__list__item__footer__options__share:before {
    content: "🔗" !important;
    font-family: Arial, sans-serif !important;
  }
}
