/* ===== WordPress Default Block Layout Styles ===== */

/* Ensure blocks do not exceed container width */
.wp-block {
  max-width: 100%;
  box-sizing: border-box;
}

/* Alignments: Left, Right, Wide, Full */
.alignleft {
  float: left;
  margin-right: 1.5em;
  max-width: 50%;
}

.alignright {
  float: right;
  margin-left: 1.5em;
  max-width: 50%;
}

.alignwide {
  max-width: var(--wp--style--wide-size);
  margin-left: auto;
  margin-right: auto;
}

.alignfull {
  width: 100%;
  margin-left: 0;
  margin-right: 0;
  box-sizing: border-box;
}

.is-layout-constrained {
  max-width: var(--wp--style--content-size);
  margin-left: auto;
  margin-right: auto;
}

.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull))  {
  max-width: 800px;
}
/* .is-layout-constrained:not(.alignfull) > div {
  max-width: 800px;
}
.is-layout-constrained.alignwide > div {
  max-width: 1200px;
} */

/* Make group, cover, columns behave well inside constrained layout */
.wp-block-group.is-layout-constrained,
.wp-block-cover.is-layout-constrained {
  display: block;
}

.wp-block-gallery-is-layout-flex {
    display: flex;
}

/* Clear floats */
.clearfix::after {
  content: "";
  display: table;
  clear: both;
}

/* Reset some default margins for common blocks */
/* .wp-block-group,
.wp-block-cover,
.wp-block-columns {
  margin-bottom: 1.5em;
} */
.wp-block-columns[class*="wp-block"] {
  /* margin-bottom: 32px; */
}
.entry-content > .wp-block-group > .wp-block-image {
  /* margin-bottom: 32px; */
}

/* Responsive adjustments */
@media (max-width: 600px) {
  .alignleft,
  .alignright {
    float: none;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
}

/* Paragraphs inside constrained layout also limited */
/* .is-layout-constrained p {
  max-width: var(--wp--style--content-size);
} */

/* Ensure images inside blocks respect container widths */
.wp-block-image img {
  max-width: 100%;
  height: auto;
  /* display: block; */
}

/* Ensure video blocks scale properly */
.wp-block-video video {
  max-width: 100%;
  height: auto;
}

/* Table blocks responsive */
.wp-block-table {
  width: 100%;
  overflow-x: auto;
  display: block;
}

/* Fix for cover block content */
.wp-block-cover__inner-container {
  max-width: var(--wp--style--content-size);
  margin-left: auto;
  margin-right: auto;
}

/* List blocks indentation */
.wp-block-list {
  padding-left: 1.5em;
  margin-bottom: 1.5em;
}

/* Quote blocks styling */
.wp-block-quote {
  border-left: 4px solid #ddd;
  margin-left: 0;
  margin-right: 0;
  padding-left: 1em;
  color: #666;
  font-style: italic;
}

/* Add spacing for buttons */
.wp-block-buttons {
  margin-bottom: 1.5em;
}

/* Ensure columns block uses flexbox */
.wp-block-columns {
  display: flex;
  gap: 2em;
  flex-wrap: wrap;
}

/* Individual column block flex grow */
.wp-block-column {
  flex-grow: 1;
  flex-basis: 0;
  min-width: 0;
}

/* Reset margin for headings */
.wp-block-heading {
  margin-top: 1.5em;
  margin-bottom: 0.75em;
}

/* Reset margin for lists */
.wp-block-list ul,
.wp-block-list ol {
  margin-bottom: 1.5em;
}

/* Responsive embeds */
.wp-block-embed__wrapper {
  position: relative;
  padding-bottom: 56.25%; /* 16:9 */
  height: 0;
  overflow: hidden;
}

.wp-block-embed__wrapper iframe,
.wp-block-embed__wrapper video,
.wp-block-embed__wrapper object,
.wp-block-embed__wrapper embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* Make sure preformatted text wraps properly */
.wp-block-preformatted {
  white-space: pre-wrap;
  word-wrap: break-word;
}

/* Add more block-specific fixes here as needed */




.wp-block-cover, .wp-block-cover-image {
    padding: 15px;
}
/* .wp-block-group.is-layout-constrained {
    padding: 15px;
} */
/* .wp-block-cover__inner-container {
    padding-left: 15px;
    padding-right: 15px;
} */


.entry-content > .is-layout-constrained,
.single-post .related-posts-container.is-layout-constrained {
  padding-left: 15px;
  padding-right: 15px;
}

:root {
    --wp--style--content-size: 1770px;
    --wp--style--wide-size: 1200px;
}


.is-layout-constrained > .alignfull {
  max-width: var(--wp--style--content-size)!important;
  margin-left: auto!important;
  margin-right: auto!important;
}

@media (min-width: 1024px) and (max-width: 1900px) {
    :root {
        --wp--style--content-size: calc(90vw - 30px);
    }
}


/* .post-hero .wp-block-cover {
  min-height: 50vh;
  min-height: calc(100vh - 90px)!important;
  max-height: calc(100vh - 90px)!important;
} */




.products-block-grid {
  display: flex;
}
.products-block-grid .product-wrapper {
  position: relative;
}




.wd-hover-with-fade .content-product-imagin {
    position: absolute;
    inset: -15px -15px -2px -15px;
    visibility: hidden;
    border: inherit;
    border-radius: var(--wd-brd-radius);
    background-color: var(--wd-prod-bg, var(--bgcolor-white));
    box-shadow: 0 0 10px rgba(0,0,0,0.15);
    opacity: 0;
    transform: scale(0.98);
}

.wd-hover-with-fade.hover-ready:is(:hover,.state-hover) .content-product-imagin {
    visibility: visible;
    opacity: 1;
    transition: opacity .3s ease, visibility .0s ease, transform .3s ease;
    transform: scale(1);
}
.wd-hover-with-fade.hover-ready:is(:hover,.state-hover) .product-wrapper {
    z-index: 20;
    transform: translateY(-5px) translateZ(0);
}
.product-element-top, .wd-hover-with-fade .product-element-bottom {
  position: relative;
}


.wp-block-group .products-block-grid {
  padding-top: 15px;
  padding-bottom: 15px;
}



.product-grid-carousel .wp-block-columns {
  gap: 0;
  flex-wrap: wrap!important;
}
.product-grid-carousel .product-grid-item {
  flex: auto;
  max-width: 100%;
}
.product-grid-carousel .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column {
  flex: 1 0 33%;
}
@media (max-width: 768px) {
  .product-grid-carousel .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column {
    flex: 1 0 50%;
  }
}

.single-post p a {
  text-decoration: underline;
}



.wp-block-latest-posts__list {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.wp-block-latest-posts__list > div {
  position: relative;
  flex: 0 0 calc(50% - 15px);
  margin-bottom: 0;
}

@media (min-width: 1024px) {
  .wp-block-latest-posts__list > div {
    /* flex: 0 0 calc(25% - 15px); */
    flex: 0 0 calc(22% - 15px);
  }
}

.related-posts .wd-btn-arrow {
  pointer-events: auto;
}




.wp-block-latest-posts__featured-image {
  position: relative;
  display: block;
}

/* .wp-block-latest-posts__featured-image img,
.wp-block-latest-posts__featured-image picture {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1/1.3;
} */
.wp-block-latest-posts__featured-image {
  max-width: 100%;
  width: 100%;            /* or fixed width */
  aspect-ratio: 1 / 1.3;  /* container enforces ratio */
  position: relative;     /* for absolute positioning */
  overflow: hidden;
}

.wp-block-latest-posts__featured-image img,
.wp-block-latest-posts__featured-image picture {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  object-fit: cover;    /* fits entire image, keeps aspect, shows letterbox */
  transform: translate(-50%, -50%);
}




/* 30% dark overlay */
.wp-block-latest-posts__featured-image::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.05);
  pointer-events: none;
}

/* Position title over image */
.wp-block-latest-posts__post-title {
  /* position: absolute; */
  /* top: 50px; */
  /* left: 50%; */
  /* transform: translateX(-50%); */
  /* color: #fff; */
  z-index: 2;
  margin: 0;
  padding: 0;
  font-size: 20px; 
  line-height: 1.2;
  /* text-align: center; */
  width: 90%; /* optional: keeps long titles from overflowing */
  text-decoration: none;
}

.wp-block-latest-posts__post-title:hover {
  /* color: #fff; */
}

/* Ensure link wrap covers image and title */
.wp-block-latest-posts__list a {
  display: block;
}

/* Position title over image */
.wp-block-latest-posts__post-category {
  /* position: absolute; */
  /* top: 30px; */
  /* left: 50%; */
  /* transform: translateX(-50%); */
  color: #5d5d5d;
  z-index: 2;
  margin: 0;
  padding: 0;
  padding-bottom: 4px;
  font-size: 90%; 
  line-height: 1.2;
  /* text-align: center; */
  width: 90%; /* optional: keeps long titles from overflowing */
  text-decoration: none;
  text-transform: uppercase;
}

.wp-block-latest-posts__post-excerpt {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  color: #fff;
  z-index: 2;
  margin: 0;
  padding: 0;
  font-size: 1em; /* adjust as needed */
  line-height: 1.2;
  text-align: center;
  width: 90%; /* optional: keeps long titles from overflowing */
}


/* Carousel on small screens  */
@media (max-width: 768px) {
  .wp-block-latest-posts__list {
    flex-wrap: nowrap!important ;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
  }
  /* hide the default scroll bar  */
  .wp-block-latest-posts__list .wp-block-columns::-webkit-scrollbar,
  .wp-block-latest-posts__list.wp-block-columns::-webkit-scrollbar {
    display: none;
  }

  /* For WebKit browsers */
  .wp-block-latest-posts__lists.wp-block-columns::-webkit-scrollbar {
    width: 0px;
    height: 0px;
  }

  /* For Firefox */
  .wp-block-latest-posts__lists.wp-block-columns {
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none;  /* IE and Edge */
  }

  /* For Firefox, also hide scrollbar track and thumb */
  .wp-block-latest-posts__lists.wp-block-columns::-moz-scrollbar {
    display: none;
  }


  .wp-block-latest-posts__list > div {
    flex: 0 0 85%!important; /* Show ~80% of one item at a time */
    scroll-snap-align: start;
    margin-right: 0px; 
    max-width: 100%;
  }
  .dynamic-gallery-scroll-bar {
    display: block;
  }

}







/* Stack vertically on small screens */
@media (max-width: 768px) {
  .wp-block-gallery-1 {
    flex-direction: column;
  }
  .wp-block-image {
    flex: 1 1 100%!important;
    width: 100%!important;
  }
}




.entry-content > [class*="wp-block"] {
  margin-bottom: 0; /* Reset default spacing */
}


/* .entry-content > .wp-block-group {
  padding-top: 4rem;
  padding-bottom: 4rem;
} */
.entry-content > .wp-block-group:first-of-type {
  padding-top: 0;
  padding-bottom: 0;
}


.single-post .wd-prefooter p a,
.single-post .footer-container p a {
  text-decoration: none;
}


.single-post ol {
  --li-pl: 20px;
}
.wp-block-list {
  padding-left: 20px;
}

.platform-Windows .site-content.col-lg-12 .alignfull,
.site-content.col-lg-12 .alignfull {
  margin-left: auto;
  margin-right: auto;
}





.post-title-margin {
  margin-bottom: 15px;
}
.post-title-shift {
  border-top: 4px solid #dad5d1;
  padding-bottom: 0;
}
@media (min-width: 768.1px) {
  .entry-content > .wp-block-group > .wp-block-cover,
  .entry-content > .wp-block-group > .wp-block-group > .wp-block-cover {
    min-height: 100vh!important;
  }
  /* .post-title-shift {
    top: -200px;
  }
  .entry-content > div {
    top: -200px;
    position: relative;
  } */
  .entry-content > div:first-of-type {
    top: 0px;
  }
  .post-title-shift {
  border-top: none;
}
  .post-title-shift > div {
    /* border-top: 4px solid #dad5d1; */
    padding-top: 40px!important;
  }
  .post-title-margin {
    margin-bottom: 35px;
  }
}
@media (max-width: 768px) {
  .single-post .post-hero .wp-block-cover {
    min-height: 200px!important;
  }

}

.wp-block-cover img {
  color: transparent;
  font-size: 0;
  text-indent: -9999px;
}
.wp-block-cover img::before,
.wp-block-cover img::after {
  content: none !important;
}


.single-post .post-title-shift .taxonomy-category {
  pointer-events: none;
}
[class*="wp-block"].alignfull figcaption {
  text-align: left;
  padding-left: 0;
  font-size: 80%;
}
[class*="wp-block"].alignfull figcaption a {
  text-decoration: underline;
}
.single-post .category-list.post-title-margin {
  text-align: center;
}

.single-post .category-name {
  color: #757575;
  text-transform: uppercase;
  font-size: 90%;
}


:root :where(.is-layout-constrained) > :first-child {
  margin-top: 0;
}


.wp-block-columns:not(:first-of-type) {
  margin-top: 32px;
}

.post-hero > .wp-block-group {
  padding-top: 0;
  padding-bottom: 0;
}

.post-title-shift > .wp-block-group > .wp-block-group {
  padding-top: 0;
  padding-bottom: 0;
}

.single-post h2 {
  font-weight: 600;
}


.post-single-page .entry-content {
    margin-bottom: 0px;
}


.related-posts .dynamic-gallery-scroll-bar-background {
  display: none;
}

.view-all-journal {
  position: absolute;
  top: 5px;
  right: 80px;
}

@media (max-width: 1024px) {
  .related-posts .dynamic-gallery-scroll-bar-background {
    display: block;
  }

  .view-all-journal {
    top: 3px;
    right: 0px;
  }
}