/*
Theme Name: Theme 101
Theme URI: 
Author: That Website Is Me
Author URI: 
Description: 
Version: 1.1.5
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: theme101
*/

/* Fix title links text underline */
.wp-block-query .wp-block-post-title a {
  text-decoration: inherit;
}

/* Video Fix - Margin Fix */
figure.wp-block-embed.is-type-video {
  margin: 0;
}

/* Mobile Canva Menu Fix */
.wp-block-navigation__responsive-dialog {
  padding: 20px;
}

/* Mobile Menu Icon Style */
.wp-block-navigation__responsive-container-open,
.wp-block-navigation__responsive-container-close {
  padding: 12px;
  border: 1px solid #eee;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-page-list,
.wp-block-navigation__responsive-container-content .wp-block-navigation__container {
  width: 100%;
  align-items: flex-start !important;
  text-align: left;
}

.wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation__submenu-container {
  align-items: flex-start !important;
  text-align: left;
}

/* include block supports */
.has-text-align-center {
  text-align: center;
  justify-content: center;
}

.has-text-align-left {
  text-align: left;
  justify-content: start;
}

.has-text-align-right {
  text-align: right;
  justify-content: end;
}

/* inline-image button fix - center the inline image */
.wp-block-read-more,
.wp-block-button__link {
  display: flex;
  align-items: center;
  gap: 4px;
}

.wp-block-read-more>img:only-of-type,
.wp-block-button__link>img:only-of-type {
  margin-left: 0;
  /* Reset left margin */
  margin-right: 0;
  /* Reset right margin */
}

/* footer title link fix */
footer .wp-block-query a {
  text-decoration: none;
  font-weight: 300;
}

/* Scroll Effect */
.scroll-flex {
  overflow-x: hidden;
  margin: 24px 0px;

  overflow-x: auto;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
  position: relative;
  /* Required for shadow positioning */
}

.scroll-flex::-webkit-scrollbar {
  display: none;
}

.scroll-flex>ul {
  display: flex;
  flex-direction: row;
  width: 100%;
  gap: 14px;
  scroll-snap-type: x mandatory;
  overflow: visible;
  overflow-x: auto;
  margin: 24px 0px;
}

.scroll-flex>ul:hover {
  overflow-x: scroll;
}

@media (max-width:781px) {
  .scroll-flex>ul {
    overflow-x: scroll;
  }
}

.scroll-flex>ul>li {
  width: 100%;
  max-width: 500px;
  min-width: 300px;
  scroll-snap-align: start;
  display: inline-block;
  /* overflow: hidden; */
}

.scroll-flex.scroll-shadow::after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 50px;
  height: 100%;
  background: linear-gradient(to left, currentColor 0%, transparent 100%);
  opacity: 0.2;
  /* Adjust opacity for subtle effect */
  pointer-events: none;
  z-index: 10;
}

.scroll-flex.scroll-shadow::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 50px;
  height: 100%;
  background: linear-gradient(to right, currentColor 0%, transparent 100%);
  opacity: 0;
  /* Hidden by default */

  pointer-events: none;
  z-index: 10;
  opacity: 0;
  /* Hidden by default */
}

.scroll-flex.scroll-shadow[style*="scroll"]::before {
  opacity: 0.2;
  /* Match right shadow opacity */
}

/* Responsive adjustments */
@media (max-width: 768px) {

  .scroll-flex.scroll-shadow::after,
  .scroll-flex.scroll-shadow::before {
    width: 30px;
  }
}

.scroll-flex:hover .wp-block-post {
  cursor: grab;
}

/* Optional arrows class for scroll indication */
.scroll-flex.scroll-arrows::before,
.scroll-flex.scroll-arrows::after {
  content: '';
  position: absolute;
  top: 50%;
  width: 30px;
  height: 30px;
  background: currentColor;
  /* Inherit font color */
  opacity: 0.5;
  /* Semi-transparent background */
  /* Semi-transparent dark background */
  border-radius: 50%;
  /* Circular arrow container */
  z-index: 20;
  pointer-events: none;
  /* Prevent interference with scrolling */
  transform: translateY(-50%);
  transition: opacity 0.3s ease;
}

/* Left arrow */
.scroll-flex.scroll-arrows::before {
  left: var(--wp--preset--spacing--s-space);
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="15 18 9 12 15 6"></polyline></svg>');
  background-size: 20px;
  background-position: center;
  background-repeat: no-repeat;
}

/* Right arrow */
.scroll-flex.scroll-arrows::after {
  right: var(--wp--preset--spacing--s-space);
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="9 18 15 12 9 6"></polyline></svg>');
  background-size: 20px;
  background-position: center;
  background-repeat: no-repeat;
}

/* Hide left arrow at start (basic CSS approximation) */
.scroll-flex.scroll-arrows:not([style*="scroll"])::before {
  opacity: 0;
}

/* hover buttons */
.fixed-bl {
  position: fixed;
  left: 25px;
  bottom: 25px;
  z-index: 10;
}

.fixed-br {
  position: fixed;
  right: 25px;
  bottom: 25px;
  z-index: 10;
}

.fixed-tr {
  position: fixed;
  right: 25px;
  top: 25px;
  z-index: 10;
}

.fixed-tl {
  position: fixed;
  left: 25px;
  top: 25px;
  z-index: 10;
}

/* Mobile Responsive Layouts */
@media (max-width:781px) {

  /* Load block style variations */
  .wp-block-columns.is-style-mobile-reverse:not(.is-not-stacked-on-mobile) {
    flex-direction: column-reverse;
  }

  .m-center-text {
    text-align: center;
  }

  .m-center-alignment {
    margin-left: auto !important;
    margin-right: auto !important;
    flex-wrap: nowrap;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }

  .wp-block-image.m-center-alignment {
    text-align: center;
  }

  .wp-block-buttons.m-center-alignment {
    flex-direction: row;
    justify-content: center;
  }

  /* legacy styles */
  .m-rev.wp-block-columns:not(.is-not-stacked-on-mobile) {
    flex-direction: column-reverse;
  }
}


/* WooCommerce */

/* fix button sizing */
.woocommerce div.product form.cart button.single_add_to_cart_button,
.woocommerce div.product form.cart button[name="add-to-cart"] {
  padding: .64rem 1.1rem;
  line-height: 2;
  height: 3.5rem;
}

/* WooCommerce Fixes */
.woocommerce .quantity .qty {
  min-width: 80px;
}

.woocommerce div.product div.summary {
  gap: 12px;
  display: flex;
  flex-direction: column;
}

.woocommerce .woocommerce-ordering select,
.woocommerce table.variations tr td select {
  min-width: auto;
  width: 100%;
  color: #000;
  max-width: 400px;
  height: 3.5rem;
  padding: 0.9rem 1.1rem;
  display: inline-block;
  margin-right: 1em;
  border-radius: 0;
  border: 0;
  line-height: 2em;
  background: url(data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0Ljk1IDEwIj48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6I2ZmZjt9LmNscy0ye2ZpbGw6IzQ0NDt9PC9zdHlsZT48L2RlZnM+PHRpdGxlPmFycm93czwvdGl0bGU+PHJlY3QgY2xhc3M9ImNscy0xIiB3aWR0aD0iNC45NSIgaGVpZ2h0PSIxMCIvPjxwb2x5Z29uIGNsYXNzPSJjbHMtMiIgcG9pbnRzPSIxLjQxIDQuNjcgMi40OCAzLjE4IDMuNTQgNC42NyAxLjQxIDQuNjciLz48cG9seWdvbiBjbGFzcz0iY2xzLTIiIHBvaW50cz0iMy41NCA1LjMzIDIuNDggNi44MiAxLjQxIDUuMzMgMy41NCA1LjMzIi8+PC9zdmc+) no-repeat 95% 50%, #ffffff;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
}

.woocommerce .quantity .qty {
  height: 3.5rem;
  padding: 0.9rem 1.1rem;
  display: inline-block;
  margin-right: 1em;
  border-radius: 0;
  border: 0;
  line-height: 2em;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
}

.woocommerce ul.products li.product a img,
.editor-styles-wrapper .wc-block-grid__products .wc-block-grid__product .wc-block-components-product-image img,
.wc-block-components-product-image img {
  aspect-ratio: 1;
}

/* Fix varation dropdown select */
.woocommerce div.product form.cart .variations tbody {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.woocommerce .oxy-woo-element div.product form.cart table.variations tr,
.woocommerce table.variations tr {
  display: flex;
  flex-direction: column;
}

.woocommerce div.product form.cart table.variations td,
.woocommerce div.product form.cart table.variations th {
  display: flex;
  align-content: start;
  flex-direction: column;
}

.woocommerce div.product form.cart .variations label {
  margin-bottom: 0;
}

/* overrides */
/* Support Classes */
.overflow-hidden {
  overflow: hidden;
}

.hidden {
  display: none;
}

/* full item link */
.full-link-item.wp-block-query>ul>li {
  position: relative;
}

.full-link-item .link-button.wp-block-read-more {
  position: absolute;
  height: 100%;
  width: 100%;
  padding: 0px;
  margin: 0px;
}

.wp-block-read-more.is-style-transparent-cover {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: transparent !important;
  color: transparent !important;
  border: none !important;
  padding: 0 !important;
  min-width: 100%;
  min-height: 100%;
  z-index: 2;
  pointer-events: auto;
  content: '';
}

/* Hide menu items on desktop - good for mobile showing items */
@media (min-width: 600px) {
  .mobile-only {
    display: none !important;
  }
}