/******************** RESET STYLES ********************/
.woocommerce-js h2 {
  margin-bottom: 0;
}

/* Force page wrapper to block layout */
#page,
#content,
.site,
.site-content,
.ast-container,
.ast-archive-description,
.ast-separate-container,
.site-content .ast-container,
#primary,
#secondary,
.ast-separate-container .ast-container {
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  display: block !important;
  width: 100% !important;
  float: none !important;
  flex-direction: column !important;
  columns: auto !important;
}

/* Override RTL flex direction */
body.rtl .site-content,
body.rtl .ast-container,
body.rtl #primary {
  direction: rtl !important;
  display: block !important;
  flex-direction: column !important;
}

/* Override WooCommerce columns layout on body */
body.columns-4,
body.columns-3,
body.columns-2,
body.tablet-columns-3,
body.tablet-columns-2,
body.mobile-columns-2,
body.mobile-columns-1 {
  columns: auto !important;
  column-count: auto !important;
}

a:hover,
a:active,
a:focus,
button:hover,
button:active,
button:focus {
  background: none !important;
  color: inherit !important;
}

/******************** End of RESET STYLES ********************/

/******************** Variables ********************/
:root {
  --arrow-button-wrapper: 2.5rem !important;
  --arrow-button-size: 1.5rem;
  --font-family-rubik: "Rubik", sans-serif;
  /* --font-family-alef: "Alef", sans-serif; */
  --font-size-extra-small: 0.875rem;
  --font-size-small: 1rem;
  --font-size-small-mobile: 0.875rem;
  --font-size-text: 1.25rem;
  --font-size-text-mobile: 1rem;
  --font-size-h2: 2.5rem;
  --font-size-h3: 1.5rem;
  --font-size-h2-mobile: 1.5rem;
  --color-background: #fffdf9;
  --color-accent: #ffce00;
}

@media (max-width: 767px) {
  :root {
    --arrow-button-wrapper: 2rem !important;
    --arrow-button-size: 1rem !important;
  }
}
/******************** End of Variables ********************/

/******************** Base Styles ********************/
body {
  margin: 0;
  background: var(--color-background) !important;
  color: var(--color-text-global, #603813);
  line-height: 1;
}

a {
  color: var(--color-text-global, #603813);
  text-decoration: none;
}

a:hover {
  opacity: 0.8;
  transition: opacity 0.3s ease;
}

/* Screen reader only - visible to search engines and screen readers, hidden visually */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

/******************** Fonts ********************/
.h2-sts {
  font-family: var(--font-family-bona-nova-sc);
  font-size: var(--font-size-h2);
  font-weight: 600;
  text-align: center;
  padding-bottom: 0.75rem;
  color: var(--color-h2, #603813);
  margin: 0.75rem 0;
}

.h3-sts {
  font-family: var(--font-family-alef);
  font-size: var(--font-size-h3);
  font-weight: 400;
  color: var(--color-h3, #603813);
  margin-bottom: 0.5rem;
  text-decoration: none;
}

.h3-sts ins {
  text-decoration: none;
}

.text-sts {
  color: var(--color-text-sts, #603813);
  font-family: var(--font-family-text-sts, var(--font-family-bona-nova-sc));
  font-size: var(--font-size-text);
}

.small-text-sts {
  color: var(--color-text-sts, #603813);
  font-family: var(--font-family-text-sts, var(--font-family-bona-nova-sc));
  font-size: var(--font-size-small);
}

.h2-sts-alef {
  color: var(--color-h2, #603813);
  font-family: var(--font-family-alef);
  font-weight: 600;
  font-size: var(--font-size-h2);
  padding-bottom: 0.75rem;
  text-align: center;
}

.text-sts-alef {
  color: var(--color-text-sts-alef, #603813);
  font-family: var(--font-family-alef);
  font-size: var(--font-size-text);
}

.custom-product-price {
  font-family: var(--font-family-bona-nova-sc);
  font-size: var(--font-size-text) !important;
  margin-bottom: 0 !important;
}

.custom-product-price .woocommerce-Price-amount {
  font-weight: 500 !important;
}

@media (max-width: 767px) {
  .h2-sts {
    font-size: var(--font-size-h2-mobile);
    padding-bottom: 0.25rem;
  }

  .h3-sts {
    font-size: var(--font-size-h3-mobile, var(--font-size-text));
  }

  .text-sts {
    font-size: var(--font-size-small);
  }

  .text-sts-alef {
    font-size: var(--font-size-text-mobile, var(--font-size-text));
  }

  .custom-product-price {
    font-size: var(--font-size-small) !important;
  }
}

@media (max-width: 500px) {
  .h3-sts {
    font-size: var(--font-size-small);
  }

  .custom-product-price {
    font-size: var(--font-size-small) !important;
  }
}
/******************** End of Fonts ********************/

/******************** Tailwind Replacement Utilities ********************/
/* Layout utilities */
.w-full {
  width: 100%;
}

.block {
  display: block;
}

.flex {
  display: flex;
}

.items-center {
  align-items: center;
}

.justify-between {
  justify-content: space-between;
}

.justify-center {
  justify-content: center;
}

/* Spacing utilities */
.text-center {
  text-align: center;
}

.mx-auto {
  margin-left: auto;
  margin-right: auto;
}

.px-3 {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}

.px-4 {
  padding-left: 1rem;
  padding-right: 1rem;
}

.py-2 {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.py-3 {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.pb-1 {
  padding-bottom: 0.25rem;
}

.pb-4 {
  padding-bottom: 1rem;
}

.mt-1 {
  margin-top: 0.25rem;
}

/* Border utilities */
.border-b {
  border-bottom: 1px solid;
}

.border-t {
  border-top: 1px solid;
}

.border-gray-100 {
  border-color: #f3f4f6;
}

/* Size utilities */
.h-6 {
  height: 1.5rem;
}

.w-6 {
  width: 1.5rem;
}

.w-auto {
  width: auto;
}

.h-auto {
  height: auto;
}

.h-full {
  height: 100%;
}

.w-full {
  width: 100%;
}

/* Color utilities */
.text-black {
  color: #000;
}

/* Z-index utilities */
.z-2 {
  z-index: 2;
}

/* Object fit utilities */
.object-cover {
  object-fit: cover;
}

/* Custom width */
.fit-content {
  width: fit-content;
}

/* Additional spacing utilities */
.mb-3 {
  margin-bottom: 0.75rem;
}

.mb-4 {
  margin-bottom: 1rem;
}

.mb-6 {
  margin-bottom: 1.5rem;
}

.mt-4 {
  margin-top: 1rem;
}

.gap-2 {
  gap: 0.5rem;
}

.gap-3 {
  gap: 0.75rem;
}

.gap-4 {
  gap: 1rem;
}

/* Text size utilities */
.text-lg {
  font-size: 1.125rem;
}

.text-xs {
  font-size: 0.75rem;
}

/* Display utilities */
.inline-flex {
  display: inline-flex;
}

/* Color utilities */
.text-green-600 {
  color: #16a34a;
}

/* Container utility */
.container {
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1rem;
  padding-right: 1rem;
}

@media (min-width: 768px) {
  .md\:pb-4 {
    padding-bottom: 1rem;
  }

  .container {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
}
/******************** End Tailwind Replacement Utilities ********************/

/******************** Category Menu Styles ********************/
.category_menu ul {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
}

.category_menu ul li {
  padding: 7px;
  flex: 0 0 calc(100% / 10);
  max-width: calc(100% / 10);
  height: auto;
}

@media (max-width: 767px) {
  .category_menu ul li {
    padding: 5px;
    flex: auto;
    max-width: none;
  }
}
/******************** End Category Menu Styles ********************/
