/* ===================================================================
 * SIFENCY ADDONS - MASTER STYLESHEET
 *
 * TABLE OF CONTENTS
 * -------------------------------------------------------------------
 * 01. Root Variables & Global Helpers
 * 02. Generic Components
 *     2.1. Image Masking & Overlay
 * 03. Elementor Widget Styles
 *     3.1. Author Box
 *     3.3. Blockquote
 *     3.5. Breadcrumb
 *     3.7. Circle Text Loop
 *     3.9. Dynamic Heading
 *     3.10. Dynamic Image
 *     3.13. Fun Fact (Counter)
 *     3.14. Icon Box
 *     3.15. Icon List
 *     3.17. Placeholder
 *     3.19. Post Meta
 *     3.20. Post Navigation
 *     3.21. Post Terms
 *     3.22. Progress Bar
 *     3.23. Search Form
 *     3.25. Social Icons
 *     3.27. Share Buttons
 * 04. WooCommerce Styles
 *     4.1. Single Product Page
 *     4.2. Mini Cart
 *     4.3. Product Tabs
 * 05. Keyframes
 * 06. Buttons
 * =================================================================== */

/* ===================================================================
 * 01. Root Variables & Global Helpers
 * =================================================================== */
:root {
  --sifency-mask-circle: url("data:image/svg+xml,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='50' cy='50' r='50'/%3E%3C/svg%3E");
  --sifency-mask-blob1: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M49.2,-64.3C64,-52.2,76.5,-35.9,79.5,-18.3C82.5,-0.7,76,18.3,65.3,34.4C54.6,50.5,39.7,63.7,23,71.1C6.4,78.5,-12,80.1,-28.9,74.7C-45.7,69.2,-61.1,56.7,-70.7,40.9C-80.3,25.1,-84.2,6.1,-81.2,-11.3C-78.2,-28.7,-68.4,-44.6,-54.8,-56.3C-41.2,-68,-23.8,-75.6,-6.2,-74.6C11.3,-73.6,22.7,-64.3,34.4,-76.4' transform='translate(100 100)' /%3E%3C/svg%3E");
  --sifency-mask-blob2: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M50.2,-61.6C65.5,-54.6,78.8,-42.6,83,-28.1C87.2,-13.6,82.3,3.3,75.1,18.8C67.9,34.3,58.4,48.4,45.7,59.2C33,69.9,16.5,77.3,1.3,76.1C-13.9,74.9,-27.8,65.1,-42.2,55.3C-56.6,45.5,-71.5,35.7,-78,22.1C-84.5,8.5,-82.6,-8.8,-75.4,-23.7C-68.2,-38.6,-55.7,-51.2,-42,-60.2C-28.3,-69.2,-14.1,-74.6,1.4,-76.2C17,-77.8,34.9,-68.6,50.2,-61.6' transform='translate(100 100)' /%3E%3C/svg%3E");
  --sifency-mask-hexagon: url("data:image/svg+xml,%3Csvg viewBox='0 0 87 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolygon points='86.6,50 65,93.3 21.6,93.3 0,50 21.6,6.7 65,6.7'/%3E%3C/svg%3E");
  --sifency-mask-wave: url("data:image/svg+xml,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0,50 Q25,20 50,50 T100,50 L100,100 L0,100 Z'/%3E%3C/svg%3E");
  --sifency-mask-squircle: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M200,100c0,55.228-44.772,100-100,100S0,155.228,0,100S44.772,0,100,0,200,44.772,200,100Z'/%3E%3C/svg%3E");
  --sifency-mask-sketch: url("data:image/svg+xml,%3Csvg viewBox='0 0 156 156' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M146.3,31.7c-13.4-13.4-31-20.7-50-20.7c-19,0-36.6,7.4-50,20.7S25.6,67.7,25.6,86.7c0,19,7.4,36.6,20.7,50s31,20.7,50,20.7 c19,0,36.6-7.4,50-20.7c13.4-13.4,20.7-31,20.7-50C167,62.7,159.6,45.1,146.3,31.7z'/%3E%3C/svg%3E");
  --sifency-addons-border-color: #f4f4f4;
  --sifency-addons-themecolor: #007bff;
  --sifency-addons-whitecolor: #ffffff;
}

.sifency-heading-style,
.sifency-content-style,
.sifency-button-style,
.sifency-item-style,
.sifency-number-style,
.sifency-meta-style,
.odd-item,
.even-item,
.sifency-icon-style {
  transition: all 0.4s ease-in-out;
}

.sifency-heading-style:hover,
.sifency-content-style:hover,
.sifency-button-style:hover,
.sifency-item-style:hover,
.sifency-number-style:hover,
.sifency-meta-style:hover,
.odd-item:hover,
.even-item:hover,
.sifency-icon-style:hover {
  transition: all 0.4s ease-in-out;
}

.swiper-button-next::after,
.swiper-button-prev::after {
  display: none !important;
  content: none !important;
  opacity: 0;
}

.swiper-button-next svg,
.swiper-button-prev svg {
  display: none;
}

svg {
  width: 14px;
}
i {
  font-size: 14px;
}
.sifency-icon-style i {
  display: inline-table;
}
.swiper-container {
  overflow: hidden;
}

.sifency-wishlist-link {
  color: var(--sifency-addons-themecolor);
}

.sifency-slider-nav-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 99;
}

.sifency-slider-nav-arrow {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  pointer-events: auto;
  transform: translateY(-50%);
  text-align: center;
}
.elementor-widget-your-slider .elementor-widget-container {
  position: relative;
}
.sifency-slider-dots-container {
  position: absolute;
  left: 0;
  width: 100%;
  display: flex;
  padding: 0 20px;
  box-sizing: border-box;
  z-index: 99;
}

.sifency-slider-dot.swiper-pagination-bullet {
  cursor: pointer;
  opacity: 1;
  background: #ccc;
}
.sifency-meta-item {
    display: flex;
}
.sifency-meta-item-inner {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
}
figcaption.sifency-caption-style{
  margin: 20px 0px;
}
/* ===================================================================
 * 02. Generic Components
 * =================================================================== */
.sifency-image-wrapper {
  line-height: 0;
}
.sifency-image-container {
  display: inline-block;
  position: relative;
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
}

.sifency-image-container img {
  width: 100%;
  height: auto;
  display: block;
}

.sifency-image-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 20px;
  opacity: 0;
  pointer-events: none;
}

.sifency-image-overlay--always .sifency-image-overlay,
.sifency-image-container:hover .sifency-image-overlay {
  opacity: 1;
}

/* ===================================================================
 * 03. Elementor Widget Styles
 * =================================================================== */

/* 3.3. Blockquote */
.sifency-blockquote {
  display: block;
  position: relative;
  text-align: left;
}
.sifency-blockquote__inner {
  padding: 20px;
}
.sifency-blockquote__icon {
  display: inline-block;
  margin-bottom: 15px;
}
.sifency-blockquote__content {
  font-style: italic;
  margin-bottom: 20px;
}
.sifency-blockquote__footer {
  display: flex;
  align-items: center;
}
.sifency-blockquote__author-image img {
  border-radius: 50%;
  margin-right: 15px;
  width: 50px;
  height: 50px;
  object-fit: cover;
}
.sifency-blockquote__author-name {
  font-weight: bold;
}

.sifency-blockquote-align-center {
  text-align: center;
}
.sifency-blockquote-align-center .sifency-blockquote__footer {
  justify-content: center;
}
.sifency-blockquote-align-right {
  text-align: right;
}
.sifency-blockquote-align-right .sifency-blockquote__footer {
  justify-content: flex-end;
}
.sifency-blockquote-align-right .sifency-blockquote__author-image {
  margin-left: 15px;
  margin-right: 0;
}

/* 3.9. Dynamic Heading */
.sifency-heading--stroke .sifency-dynamic-heading {
  -webkit-text-stroke-width: var(--sifency-heading-stroke-width);
  -webkit-text-stroke-color: var(--sifency-heading-stroke-color);
}
.sifency-heading--stroke-hollow .sifency-dynamic-heading {
  color: transparent;
}
.sifency-heading--gradient-fill .sifency-dynamic-heading,
.sifency-heading--image-fill .sifency-dynamic-heading {
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}

/* 3.10. Dynamic Image */
.sifency-dynamic-image-wrapper {
  display: inline-block;
  max-width: 100%;
}
.sifency-dynamic-image-figure {
  margin: 0;
  line-height: 0;
}
.sifency-dynamic-image img {
  display: block;
  max-width: 100%;
  height: auto;
  transition: all 0.3s ease;
}
/* 3.17. Placeholder */
.sifency-placeholder {
  padding: 20px;
  text-align: center;
  border-radius: 5px;
}
/* 3.23. Search Form */
.sifency-search-form {
  display: flex;
  position: relative;
  overflow: hidden;
  height: 45px;
}
.sifency-search-field {
  flex-grow: 1;
  border: none;
  background: none;
  padding: 0 15px;
  outline: none;
  font-size: 1em;
}
.sifency-search-submit {
  border: none;
  padding: 0 20px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
}

/* ===================================================================
 * 04. WooCommerce Styles
 * =================================================================== */
.sifency-product-subtitle {
  font-size: 1.1em;
  margin-top: -10px;
  margin-bottom: 15px;
}
.sifency-extra-badge {
  position: absolute;
  top: 15px;
  left: 15px;
  background-color: var(--themecolor);
  color: var(--white-color);
  padding: 5px 12px;
  z-index: 9;
}

/* 4.2. Mini Cart */
.sifency-cart-wrapper a {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  color: inherit;
  transition: color 0.3s ease;
}
.sifency-cart-count {
  position: absolute;
  top: -0.5em;
  left: 1.5em;
  border-radius: 50%;
  min-width: 1.6em;
  height: 1.6em;
  font-size: 0.5em;
  line-height: 1.6em;
  text-align: center;
  font-weight: bold;
}
.sifency-cart-subtotal {
  font-weight: bold;
}

/* ===================================================================
 * 05. Keyframes
 * =================================================================== */
@keyframes sifency-rotate {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
/* ===================================================================
 * 06. Buttons
 * =================================================================== */
.sifency-button-wrapper {
  display: inline-block;
  text-align: center;
}
.sifency-custom-popup {
  display: none;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 9999;
  background: #fff;
}
.sifency-popup-close {
  position: absolute;
  top: 5px;
  right: 10px;
  background: none;
  border: none;
  font-size: 20px;
  cursor: pointer;
}