/*
 * Theme Name: Woodmart
 * Theme URI: https://woodmart.xtemos.com/
 * Author: XTemos
 * Author URI: http://themeforest.net/user/xtemos
 * Description: ThemeForest Premium Theme
 * Version: 8.2.2
 * Tested up to: 6.7
 * Requires PHP: 7.4
 * Text domain: woodmart
 * License: GNU General Public License version 3.0
 * License URI: http://www.gnu.org/licenses/gpl-3.0.html
 * Tags: one-column, two-columns, right-sidebar, custom-header, custom-menu, editor-style, featured-images, microformats, post-formats, sticky-post, translation-ready
 */

/*------------------------------------------------------------------
[Table of contents]

1.  Root Variables
2.  Basic Reset & Normalization
3.  Typography & Basic Elements
4.  Layout & Grid System
5.  Forms & Buttons
6.  Components
    - Dropdowns
    - Loaders & Spinners
    - Navigation (Menus)
    - Search
    - Tooltips & Notices
    - Pagination & Breadcrumbs
    - Action Buttons (Wishlist, Compare, etc.)
    - Carousels & Sliders
    - Modals & Lightboxes (Magnific Popup / PhotoSwipe)
7.  Header Styles (WHB)
8.  Page & Content Styles
9.  Footer Styles
10. Blog & Posts
11. Portfolio & Projects
12. Elementor & WPBakery Elements
13. WooCommerce Styles
    - General
    - Products Loop
    - Single Product
    - Widgets & Cart
14. Utility & Helper Classes
15. Animations (Keyframes)
16. Media Queries (Responsive Design)
-------------------------------------------------------------------*/


/*------------------------------------------------------------------
[1. Root Variables]
-------------------------------------------------------------------*/
:root {
  --wd-text-line-height: 1.6;
  --wd-brd-radius: .001px;
  --wd-form-height: 42px;
  --wd-form-color: inherit;
  --wd-form-placeholder-color: inherit;
  --wd-form-bg: transparent;
  --wd-form-brd-color: rgba(0, 0, 0, 0.1);
  --wd-form-brd-color-focus: rgba(0, 0, 0, 0.15);
  --wd-form-chevron: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNSIgaGVpZ2h0PSIyNSIgZmlsbD0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2U9IiNiYmIiPjxwYXRoIGQ9Ik02IDlsNiA2IDYtNiIvPjwvc3ZnPg==);
  --wd-main-bgcolor: #FFF;
  --wd-scroll-w: .001px;
  --wd-admin-bar-h: .001px;
  --wd-block-spacing: 20px;
  --wd-header-banner-mt: .001px;
  --wd-sticky-nav-w: .001px;
  --color-white: #FFF;
  --color-gray-100: #f7f7f7;
  --color-gray-200: #f1f1f1;
  --color-gray-300: #bbb;
  --color-gray-400: #a5a5a5;
  --color-gray-500: #767676;
  --color-gray-600: #666;
  --color-gray-700: #555;
  --color-gray-800: #333;
  --color-gray-900: #242424;
  --bgcolor-black-rgb: 0, 0, 0;
  --bgcolor-white-rgb: 255, 255, 255;
  --bgcolor-white: #FFF;
  --bgcolor-gray-100: #f7f7f7;
  --bgcolor-gray-200: #f7f7f7;
  --bgcolor-gray-300: #f1f1f1;
  --bgcolor-gray-400: rgba(187, 187, 187, 0.4);
  --brdcolor-gray-200: rgba(0, 0, 0, 0.075);
  --brdcolor-gray-300: rgba(0, 0, 0, 0.105);
  --brdcolor-gray-400: rgba(0, 0, 0, 0.12);
  --brdcolor-gray-500: rgba(0, 0, 0, 0.2);
  --wd-start: start;
  --wd-end: end;
  --wd-center: center;
  --wd-stretch: stretch;
}

/* Dark color scheme variables */
[class*="color-scheme-light"] {
  --color-white: #000;
  --color-gray-100: rgba(255, 255, 255, 0.1);
  --color-gray-200: rgba(255, 255, 255, 0.2);
  --color-gray-300: rgba(255, 255, 255, 0.5);
  --color-gray-400: rgba(255, 255, 255, 0.6);
  --color-gray-500: rgba(255, 255, 255, 0.7);
  --color-gray-600: rgba(255, 255, 255, 0.8);
  --color-gray-700: rgba(255, 255, 255, 0.9);
  --color-gray-800: #FFF;
  --color-gray-900: #FFF;
  --bgcolor-black-rgb: 255, 255, 255;
  --bgcolor-white-rgb: 0, 0, 0;
  --bgcolor-white: #0f0f0f;
  --bgcolor-gray-100: #0a0a0a;
  --bgcolor-gray-200: #121212;
  --bgcolor-gray-300: #141414;
  --bgcolor-gray-400: #171717;
  --brdcolor-gray-200: rgba(255, 255, 255, 0.1);
  --brdcolor-gray-300: rgba(255, 255, 255, 0.15);
  --brdcolor-gray-400: rgba(255, 255, 255, 0.25);
  --brdcolor-gray-500: rgba(255, 255, 255, 0.3);
  --wd-text-color: rgba(255, 255, 255, 0.8);
  --wd-title-color: #FFF;
  --wd-widget-title-color: var(--wd-title-color);
  --wd-entities-title-color: #FFF;
  --wd-entities-title-color-hover: rgba(255, 255, 255, 0.8);
  --wd-link-color: rgba(255, 255, 255, 0.9);
  --wd-link-color-hover: #FFF;
  --wd-form-brd-color: rgba(255, 255, 255, 0.2);
  --wd-form-brd-color-focus: rgba(255, 255, 255, 0.3);
  --wd-form-placeholder-color: rgba(255, 255, 255, 0.6);
  --wd-form-chevron: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNSIgaGVpZ2h0PSIyNSIgZmlsbD0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2U9InJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KSI+PHBhdGggZD0iTTYgOWw2IDYgNi02Ii8+PC9zdmc+);
  --wd-main-bgcolor: #1a1a1a;
  color: var(--wd-text-color);
}

.color-scheme-dark {
  --color-white: #FFF;
  --color-gray-100: #f7f7f7;
  --color-gray-200: #f1f1f1;
  --color-gray-300: #bbb;
  --color-gray-400: #a5a5a5;
  --color-gray-500: #767676;
  --color-gray-600: #666;
  --color-gray-700: #555;
  --color-gray-800: #333;
  --color-gray-900: #242424;
  --bgcolor-black-rgb: 0, 0, 0;
  --bgcolor-white-rgb: 255, 255, 255;
  --bgcolor-white: #FFF;
  --bgcolor-gray-100: #f7f7f7;
  --bgcolor-gray-200: #f7f7f7;
  --bgcolor-gray-300: #f1f1f1;
  --bgcolor-gray-400: rgba(187, 187, 187, 0.4);
  --brdcolor-gray-200: rgba(0, 0, 0, 0.075);
  --brdcolor-gray-300: rgba(0, 0, 0, 0.105);
  --brdcolor-gray-400: rgba(0, 0, 0, 0.12);
  --brdcolor-gray-500: rgba(0, 0, 0, 0.2);
  --wd-text-color: #767676;
  --wd-title-color: #242424;
  --wd-entities-title-color: #333;
  --wd-entities-title-color-hover: rgba(51, 51, 51, 0.65);
  --wd-link-color: #333;
  --wd-link-color-hover: #242424;
  --wd-form-brd-color: rgba(0, 0, 0, 0.1);
  --wd-form-brd-color-focus: rgba(0, 0, 0, 0.15);
  --wd-form-placeholder-color: #767676;
  color: var(--wd-text-color);
}


/*------------------------------------------------------------------
[2. Basic Reset & Normalization]
-------------------------------------------------------------------*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
}

*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

html {
  line-height: 1;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
  font-family: sans-serif;
  overflow-x: hidden;
  overflow-y: scroll;
  font-size: var(--wd-text-font-size);
}

@supports (overflow: clip) {
  body {
    overflow-x: clip;
  }
}

body {
  margin: 0;
  color: var(--wd-text-color);
  background-color: #FFF;
  font-family: var(--wd-text-font);
  font-size: var(--wd-text-font-size);
  font-style: var(--wd-text-font-style);
  font-weight: var(--wd-text-font-weight);
  line-height: var(--wd-text-line-height);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

:is(body) {
  height: auto;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block;
}

ol, ul {
  list-style: none;
}

q, blockquote {
  quotes: none;
}

q:before, q:after,
blockquote:before, blockquote:after {
  content: "";
  content: none;
}

img {
  max-width: 100%;
  height: auto;
  border: 0;
  vertical-align: middle;
}

a img {
  border: none;
}

audio,
canvas,
progress {
  display: inline-block;
  vertical-align: baseline;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

video {
  display: block;
}

svg:not(:root) {
  overflow: hidden;
}


/*------------------------------------------------------------------
[3. Typography & Basic Elements]
-------------------------------------------------------------------*/
p {
  margin-bottom: var(--wd-tags-mb, 20px);
}

a {
  color: var(--wd-link-color);
  text-decoration: none;
  transition: all .25s ease;
}

a:hover {
  color: var(--wd-link-color-hover);
}

a:focus {
  outline: none;
}

h1, h2, h3, h4, h5, h6,
.title {
  display: block;
  margin-bottom: var(--wd-tags-mb, 20px);
  color: var(--wd-title-color);
  font-family: var(--wd-title-font);
  font-style: var(--wd-title-font-style);
  font-weight: var(--wd-title-font-weight);
  line-height: 1.4;
  text-transform: var(--wd-title-transform);
}

h1 { font-size: 28px; }
h2 { font-size: 24px; }
h3 { font-size: 22px; }
h4 { font-size: 18px; }
h5 { font-size: 16px; }
h6 { font-size: 12px; }

:is(h1, h2, h3, h4, h5, h6, .title) a {
  color: inherit;
}

:is(h1, h2, h3, h4, h5, h6, .title) a:hover {
  color: var(--wd-link-color-hover);
}

strong,
b {
  font-weight: 600;
}

em, i, dfn, var, cite {
  font-style: italic;
}

small {
  font-size: 80%;
}

big {
  font-size: larger;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: none;
  border-bottom: 1px solid currentColor;
  opacity: .2;
}

sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 1;
  vertical-align: baseline;
}

sup { top: -.25em; }
sub { bottom: -.25em; }

abbr,
acronym {
  border-bottom: 1px dotted;
  text-decoration: none;
}

abbr {
  color: #D62432;
}

abbr[title] {
  border: none;
}

code,
kbd {
  padding: 2px 5px;
}

code, kbd, pre, samp {
  font-family: monospace, serif;
  -webkit-hyphens: none;
  hyphens: none;
}

pre {
  overflow: auto;
  margin-bottom: 20px;
  padding: 20px;
  background: #f7f7f7;
  text-align: left;
  white-space: pre;
  white-space: pre-wrap;
  word-wrap: break-word;
}

ins {
  text-decoration: none;
}

mark {
  display: inline-block;
  padding: 5px 8px;
  background-color: #f7f7f7;
  color: #242424;
  font-weight: 600;
  line-height: 1;
}

blockquote {
  margin-bottom: 20px;
  padding-left: 30px;
  border-left: 2px solid var(--wd-primary-color);
  font-size: 110%;
  text-align: left;
  --wd-tags-mb: 10px;
}

blockquote cite {
  display: block;
  margin-top: 10px;
  color: var(--wd-primary-color);
  font-size: 90%;
  font-weight: 600;
}

blockquote cite a {
  color: inherit;
}

address {
  margin-bottom: 20px;
  font-style: italic;
  font-size: 110%;
  line-height: 1.8;
}

dl {
  margin-bottom: 20px;
}

dl dt {
  color: var(--color-gray-800);
  font-weight: 600;
}

dl dd {
  margin-bottom: 20px;
}

iframe,
embed {
  max-width: 100%;
}

/* --- Tables --- */
table {
  width: 100%;
  margin-bottom: 35px;
  line-height: 1.4;
  border-collapse: collapse;
  border-spacing: 0;
}

table th {
  padding: 15px 10px;
  border-bottom: 2px solid var(--brdcolor-gray-200);
  color: var(--wd-title-color);
  font-family: var(--wd-title-font);
  font-size: 16px;
  font-style: var(--wd-title-font-style);
  font-weight: var(--wd-title-font-weight);
  text-align: start;
  text-transform: uppercase;
  vertical-align: middle;
}

table td {
  padding: 15px 12px;
  border-bottom: 1px solid var(--brdcolor-gray-300);
  text-align: start;
  vertical-align: middle;
}

table :is(tbody, tfoot) th {
  border-bottom: 1px solid var(--brdcolor-gray-300);
  font-size: inherit;
  text-transform: none;
}

.responsive-table {
  margin-bottom: 35px;
  overflow-x: auto;
}

.responsive-table table {
  margin-bottom: 0;
}

.responsive-table .responsive-table {
  margin-bottom: 0;
  overflow-x: visible;
}


/* --- Lists --- */
:is(ul, ol) {
  padding-left: var(--li-pl);
  margin-bottom: var(--list-mb);
  --list-mb: 20px;
  --li-mb: 10px;
  --li-pl: 17px;
}

:is(ul, ol) li {
  margin-bottom: var(--li-mb);
}

:is(ul, ol) li:last-child {
  margin-bottom: 0;
}

li > :is(ul, ol) {
  margin-top: var(--li-mb);
  margin-bottom: 0;
}

ul {
  list-style: disc;
}

ol {
  list-style: decimal;
}

.unordered-list {
  list-style: none;
  --li-pl: 0;
}

.unordered-list ul,
.unordered-list ol {
  margin-left: 20px;
  list-style: none;
  --li-pl: 0;
}

.unordered-list li:before {
  margin-right: 10px;
  content: "\f113";
  font-family: "woodmart-font";
  font-size: 8px;
}

/*------------------------------------------------------------------
[4. Layout & Grid System]
-------------------------------------------------------------------*/
.container,
.container-fluid {
  width: 100%;
  max-width: var(--wd-container-w);
  padding-inline: 15px;
  margin-inline: auto;
}

.container-fluid {
  max-width: none;
}

.wd-page-wrapper {
  position: relative;
  background-color: var(--wd-main-bgcolor);
}

.wd-page-content {
  min-height: 50vh;
  background-color: var(--wd-main-bgcolor);
}

.wd-content-layout {
  padding-block: 40px;
}

:where(.wd-content-layout > div) {
  grid-column: auto/span var(--wd-col);
}

.wd-sidebar .wd-heading {
  display: none;
}

/* Grid System */
[class*="wd-grid"] {
  --wd-col: var(--wd-col-lg);
  --wd-gap: var(--wd-gap-lg);
  --wd-col-lg: 1;
  --wd-gap-lg: 20px;
}

.wd-grid-g {
  display: grid;
  grid-template-columns: repeat(var(--wd-col), minmax(0, 1fr));
  gap: var(--wd-gap);
}

.wd-grid-g > .wd-wider {
  grid-column: auto/span 2;
  grid-row: auto/span 2;
}

.wd-grid-col {
  grid-column: auto/span var(--wd-col);
}

[class*="wd-grid-f"] {
  display: flex;
  flex-wrap: wrap;
  gap: var(--wd-gap);
}

.wd-grid-f-col {
  gap: 0;
  margin: 0 calc(var(--wd-gap) / -2) calc(var(--wd-gap) * -1);
}

.wd-grid-f-col > .wd-col {
  width: 100%;
  min-height: 1px;
  flex: 0 0 calc(100% / var(--wd-col) * var(--wd-col-wider, 1));
  max-width: calc(100% / var(--wd-col) * var(--wd-col-wider, 1));
  padding-inline: calc(var(--wd-gap) / 2);
  margin-bottom: var(--wd-gap);
}

.wd-grid-f-col > .wd-wider {
  --wd-col-wider: 2;
}

.wd-grid-f-stretch > .wd-col {
  flex: 1 1 var(--wd-f-basis, 200px);
  width: var(--wd-f-basis, 200px);
}

.wd-grid-f-stretch > .wd-col-auto {
  flex: 0 0 auto;
  width: auto;
}

.wd-grid-f-inline > .wd-col {
  flex: 0 0 var(--wd-f-basis, auto);
}


/*------------------------------------------------------------------
[5. Forms & Buttons]
-------------------------------------------------------------------*/
a, button, input {
  touch-action: manipulation;
}

button,
input,
optgroup,
select,
textarea {
  margin: 0;
  color: inherit;
  font: inherit;
}

button {
  overflow: visible;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  cursor: pointer;
  -webkit-appearance: button;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
  padding: 0;
  border: 0;
}

label {
  display: block;
  margin-bottom: 5px;
  color: var(--wd-title-color);
  font-weight: 400;
  vertical-align: middle;
}

.required {
  border: none;
  color: #E01020;
  font-size: 16px;
  line-height: 1;
}

fieldset {
  margin-bottom: 20px;
  padding: 20px 40px;
  border: 2px solid var(--brdcolor-gray-300);
  border-radius: var(--wd-brd-radius);
}

fieldset legend {
  width: auto;
  margin-bottom: 0;
  padding-right: 15px;
  padding-left: 15px;
}

legend {
  font-size: 22px;
  text-transform: uppercase;
}

/* --- Text Inputs, Selects, Textareas --- */
input[type='email'],
input[type='search'],
input[type='number'],
input[type='url'],
input[type='tel'],
input[type='text'],
input[type='password'],
:root textarea,
:root select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

input[type='email'],
input[type='date'],
input[type='search'],
input[type='number'],
input[type='text'],
input[type='tel'],
input[type='url'],
input[type='password'],
:root textarea,
:root select {
  width: 100%;
  max-width: 100%;
  height: var(--wd-form-height);
  padding: 0 15px;
  border: var(--wd-form-brd-width) solid var(--wd-form-brd-color);
  border-radius: var(--wd-form-brd-radius);
  background-color: var(--wd-form-bg);
  color: var(--wd-form-color);
  box-shadow: none;
  font-size: 14px;
  transition: border-color .5s ease;
  vertical-align: middle;
}

input[type='email']:focus,
input[type='date']:focus,
input[type='search']:focus,
input[type='number']:focus,
input[type='text']:focus,
input[type='tel']:focus,
input[type='url']:focus,
input[type='password']:focus,
:root textarea:focus,
:root select:focus {
  outline: none;
  border-color: var(--wd-form-brd-color-focus);
  transition: border-color .4s ease;
}

::-webkit-input-placeholder { color: var(--wd-form-placeholder-color); }
::-moz-placeholder { color: var(--wd-form-placeholder-color); }

/* --- Specific Input Types --- */
input[type="radio"],
input[type="checkbox"] {
  box-sizing: border-box;
  margin-top: 0;
  padding: 0;
  margin-inline-end: 5px;
  vertical-align: middle;
}

input[type="search"] {
  box-sizing: content-box;
  -webkit-appearance: textfield;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

input[type="number"] {
  padding: 0;
  text-align: center;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

input[type="date"] {
  -webkit-appearance: none;
}
input[type="date"]::-webkit-inner-spin-button { display: none; }
input[type="date"]::-webkit-calendar-picker-indicator { opacity: 0; }
input[type="date"]::-webkit-clear-button {
  position: relative;
  right: 5px;
  width: 30px;
  opacity: .4;
  filter: grayscale(100%);
}
input[type="date"]::-webkit-date-and-time-value { text-align: start; }

[class*="color-scheme-light"] input[type="date"]::-webkit-clear-button {
  opacity: .6;
  filter: grayscale(100%) invert(100%) saturate(800%);
}

@supports not (-moz-appearance: none) {
  input[type="date"] {
    background: no-repeat url("inc/admin/assets/images/calend-d.svg") right 15px top 50%;
    background-size: auto 14px;
  }
  [class*="color-scheme-light"] input[type='date'] {
    background-image: url("inc/admin/assets/images/calend-l.svg");
  }
}

:root textarea {
  overflow: auto;
  padding: 10px 15px;
  min-height: 190px;
  resize: vertical;
}

:root select {
  padding-right: 30px;
  background-image: var(--wd-form-chevron);
  background-position: right 10px top 50%;
  background-size: auto 18px;
  background-repeat: no-repeat;
}

:root select option {
  background-color: var(--bgcolor-white);
}

/* Autofill */
input:-webkit-autofill {
  border-color: var(--wd-form-brd-color);
  -webkit-box-shadow: 0 0 0 1000px var(--wd-form-bg) inset;
  -webkit-text-fill-color: var(--wd-form-color);
}

input:focus:-webkit-autofill {
  border-color: var(--wd-form-brd-color-focus);
}


/* --- Buttons --- */
:is(.btn, .button, button, [type=submit], [type=button]) {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: var(--btn-padding, 5px 20px);
  min-height: var(--btn-height, 42px);
  border: var(--btn-brd-width, 0px) var(--btn-brd-style, solid) var(--btn-brd-color, #E9E9E9);
  border-radius: var(--btn-brd-radius, 0px);
  background-color: var(--btn-bgcolor, #F3F3F3);
  box-shadow: var(--btn-box-shadow, unset);
  color: var(--btn-color, #3E3E3E);
  font-family: var(--btn-font-family, inherit);
  font-size: var(--btn-font-size, 13px);
  font-style: var(--btn-font-style, unset);
  font-weight: var(--btn-font-weight, 600);
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  text-shadow: none;
  text-transform: var(--btn-transform, uppercase);
  transition: all .25s ease;
  vertical-align: middle;
  cursor: pointer;
  outline: none;
}

button[disabled],
input[disabled] {
  opacity: 0.6 !important;
  cursor: default !important;
}

/* Button Styles */
.btn-color-primary {
  --btn-color: #FFF;
  --btn-color-hover: #FFF;
  --btn-bgcolor: var(--wd-primary-color);
  --btn-bgcolor-hover: var(--wd-primary-color);
  --btn-brd-color: var(--wd-primary-color);
  --btn-brd-color-hover: var(--wd-primary-color);
  --btn-box-shadow-hover: inset 0 0 0 1000px rgba(0, 0, 0, 0.1);
}

.btn-color-primary.btn-style-bordered {
  --btn-color: var(--wd-primary-color);
}

.btn-color-primary.btn-style-link {
  --btn-color: var(--color-gray-800);
  --btn-color-hover: var(--color-gray-500);
}

.btn.btn-style-bordered {
  --btn-bgcolor: transparent;
  --btn-brd-width: 2px;
  --btn-box-shadow-hover: none;
}

.btn.btn-style-link {
  --btn-bgcolor: transparent;
  --btn-bgcolor-hover: transparent;
  --btn-brd-width: 2px;
  --btn-box-shadow-hover: none;
  --btn-height: none;
  --btn-padding: 0;
  border-top: 0;
  border-inline: 0;
}

.btn-shape-round {
  --btn-brd-radius: 35px;
}

.btn-icon-pos-right {
  flex-direction: row;
}

.rtl .btn-icon-pos-right {
  flex-direction: row-reverse;
}

.wd-button-wrapper .btn-style-link,
.wd-button-wrapper .btn-style-bordered:not(:hover) {
  background-color: transparent !important;
}

/*------------------------------------------------------------------
[6. Components]
-------------------------------------------------------------------*/

/* --- Loaders & Spinners --- */
.wd-loader:after {
  content: "";
  display: inline-block;
  width: 30px;
  height: 30px;
  border: 1px solid transparent;
  border-left-color: var(--color-gray-900);
  border-radius: 50%;
  vertical-align: middle;
  animation: wd-rotate 450ms infinite linear var(--wd-anim-state, paused);
}

:is(.blockOverlay, .wd-loader-overlay):after {
  position: absolute;
  top: calc(50% - 13px);
  left: calc(50% - 13px);
  content: "";
  display: inline-block;
  width: 26px;
  height: 26px;
  border: 1px solid transparent;
  border-left-color: var(--color-gray-900);
  border-radius: 50%;
  vertical-align: middle;
  animation: wd-rotate 450ms infinite linear var(--wd-anim-state, paused);
  --wd-anim-state: running;
}

.wd-loader-overlay {
  z-index: 340;
  border-radius: inherit;
  animation: wd-fadeIn .6s ease both;
  background-color: rgba(var(--bgcolor-white-rgb), 0.6);
  border-radius: var(--wd-brd-radius);
}

.wd-loader-overlay:not(.wd-loading) {
  display: none;
}

/* --- Dropdowns --- */
.wd-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 380;
  visibility: hidden;
  opacity: 0;
  margin-top: 15px;
  margin-right: 0;
  margin-left: calc(var(--nav-gap, .001px) / 2 * -1);
  background-color: var(--bgcolor-white);
  background-position: bottom right;
  background-clip: border-box;
  background-repeat: no-repeat;
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
  border-radius: var(--wd-brd-radius);
  text-align: var(--wd-align, var(--wd-start));
  pointer-events: none;
  transform: translateY(15px) translateZ(0);
  transition: opacity 0.4s cubic-bezier(0.19, 1, 0.22, 1), visibility 0.4s cubic-bezier(0.19, 1, 0.22, 1), transform 0.4s cubic-bezier(0.19, 1, 0.22, 1);
}

.wd-dropdown:after {
  content: "";
  position: absolute;
  bottom: 100%;
  inset-inline: 0;
  height: 15px;
}

.wd-event-hover:hover > .wd-dropdown,
.wd-event-click.wd-opened > .wd-dropdown,
.wd-dropdown.wd-opened {
  visibility: visible;
  opacity: 1;
  transform: none !important;
  pointer-events: visible;
  pointer-events: unset;
}

.wd-dropdown-menu {
  width: var(--wd-dropdown-width);
  min-height: min(var(--wd-dropdown-height, unset), var(--wd-content-h, var(--wd-dropdown-height, unset)));
  background-image: var(--wd-dropdown-bg-img);
}

.wd-dropdown-menu .wd-dropdown-inner {
  overflow: inherit;
  height: min(var(--wd-dropdown-height, unset), var(--wd-content-h));
}

.wd-dropdown-menu.wd-scroll > .wd-scroll-content {
  max-height: none;
  border-radius: inherit;
}

/* Dropdown Designs */
.wd-dropdown-menu.wd-design-default {
  padding: var(--wd-dropdown-padding, 12px 20px);
  --wd-dropdown-width: 220px;
}
.wd-dropdown-menu.wd-design-default > .container {
  padding: 0;
  width: auto;
}
.wd-dropdown-menu.wd-design-default .wd-dropdown {
  top: 0;
  left: 100%;
  margin: 0 0 0 var(--wd-dropdown-padding, 20px);
  padding: var(--wd-dropdown-padding, 12px 20px);
  width: var(--wd-dropdown-width);
}

.wd-dropdown-menu.wd-design-sized:not(.wd-scroll),
.wd-dropdown-menu.wd-design-sized.wd-scroll .wd-dropdown-inner,
.wd-dropdown-menu.wd-design-full-height .wd-dropdown-inner {
  padding: var(--wd-dropdown-padding, 30px);
}

.wd-dropdown-menu.wd-design-full-width {
  --wd-dropdown-width: 100vw;
}

/* --- Navigation & Menus --- */
.wd-nav {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 1px var(--nav-gap);
  justify-content: var(--text-align, var(--wd-align));
  list-style: none;
  text-align: left;
  --list-mb: 0;
  --li-mb: 0;
  --li-pl: 0;
  --nav-gap: 20px;
}

.wd-nav > li {
  position: relative;
}

.wd-nav > li > a {
  position: relative;
  display: flex;
  align-items: center;
  flex-direction: row;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.2;
  text-transform: uppercase;
}

.wd-nav > li > a .wd-nav-icon {
  margin-right: 7px;
  font-size: 115%;
}

.wd-nav > li:is(.wd-has-children, .menu-item-has-children) > a:after {
  margin-left: 4px;
  order: 3;
  content: "\f129";
  font-family: "woodmart-font";
  font-size: clamp(6px, 50%, 18px);
  font-style: normal;
  font-weight: normal;
}

/* Nav Styles */
.wd-nav.wd-style-default {
  --nav-color-hover: var(--wd-primary-color);
  --nav-color-active: var(--wd-primary-color);
}
.wd-nav[class*="wd-style-underline"] .nav-link-text {
  position: relative;
  display: inline-block;
  padding-block: 1px;
  line-height: 1.2;
}

.wd-nav[class*="wd-style-underline"] .nav-link-text:after {
  content: '';
  position: absolute;
  top: 100%;
  left: 0;
  width: 0;
  height: 2px;
  background-color: var(--wd-primary-color);
  transition: width 0.4s cubic-bezier(0.19, 1, 0.22, 1);
}

/* Sub Menus */
.wd-sub-menu {
  list-style: none;
  --sub-menu-color: #838383;
  --sub-menu-color-hover: var(--wd-primary-color);
  --li-pl: 0;
  --list-mb: 0;
  --li-mb: 0;
}
.wd-sub-menu li {
  position: relative;
}
.wd-sub-menu li > a {
  position: relative;
  display: flex;
  align-items: center;
  padding-top: 8px;
  padding-bottom: 8px;
  color: var(--sub-menu-color);
  font-size: 14px;
  line-height: 1.3;
}
.wd-sub-menu li > a:hover {
  color: var(--sub-menu-color-hover);
}

/* --- Search --- */
.searchform {
  position: relative;
  --wd-search-btn-w: var(--wd-form-height);
  --wd-form-height: 46px;
  --wd-search-clear-sp: .001px;
}

.searchform input[type="text"] {
  padding-inline-end: calc(var(--wd-search-btn-w) + 30px);
}

.searchform .searchsubmit {
  position: absolute;
  inset-block: 0;
  inset-inline-end: 0;
  width: var(--wd-search-btn-w);
  min-height: unset;
  padding: 0;
  border: none;
  box-shadow: none;
  font-size: 0;
  font-style: unset;
  font-weight: 400;
  gap: 0;
  --btn-color: var(--wd-form-color, currentColor);
  --btn-bgcolor: transparent;
}

.searchform .searchsubmit:after {
  content: "\f130";
  font-family: "woodmart-font";
  font-size: calc(var(--wd-form-height) / 2.3);
  transition: opacity .2s ease;
}
.searchform .wd-clear-search {
  position: absolute;
  top: calc(50% - 12px);
  inset-inline-end: calc(var(--wd-search-cat-w, .001px) + var(--wd-search-btn-w) + var(--wd-search-clear-sp));
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 24px;
  color: var(--wd-form-color, currentColor);
  cursor: pointer;
}
.wd-dropdown-results {
  overflow: hidden;
  right: calc((var(--wd-form-brd-radius) / 1.5));
  left: calc((var(--wd-form-brd-radius) / 1.5));
  --wd-search-font-size: .92em;
  --wd-search-sp: 15px;
}

/* --- Tooltips & Notices --- */
.tooltip {
  position: absolute;
  z-index: 1110;
  opacity: 0;
  pointer-events: none;
  --wd-tooltip-bg: rgba(0, 0, 0, 0.9);
  --wd-tooltip-color: #FFF;
}
.tooltip .tooltip-inner {
  padding: 7px 15px;
  width: max-content;
  max-width: 200px;
  background-color: var(--wd-tooltip-bg);
  color: var(--wd-tooltip-color);
  border-radius: calc(var(--wd-brd-radius) / 1.5);
  font-size: 12px;
  font-weight: 400;
  line-height: var(--wd-text-line-height);
  text-align: center;
  text-transform: none;
  word-break: break-word;
}

.wd-notice,
div.wpcf7-response-output,
.mc4wp-alert,
:is(.woocommerce-error, .woocommerce-message, .woocommerce-info) {
  position: relative;
  margin-bottom: 20px;
  padding-block: 18px;
  padding-inline: 65px 30px !important;
  border: none;
  border-radius: var(--wd-brd-radius);
  outline: none !important;
  text-align: start;
}
.wd-notice:before,
div.wpcf7-response-output:before,
.mc4wp-alert:before,
:is(.woocommerce-error, .woocommerce-message, .woocommerce-info):before {
  position: absolute;
  top: calc(50% - 9px);
  left: 24px;
  font-family: "woodmart-font";
  font-size: 18px;
  line-height: 18px;
}

/* --- Pagination & Breadcrumbs --- */
nav[class*="-pagination"] ul {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 3px;
  list-style: none;
  --list-mb: 0;
  --li-mb: 0;
  --li-pl: 0;
}
nav[class*="-pagination"] li .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  height: 34px;
  padding-inline: 5px;
  border-radius: calc(var(--wd-brd-radius) / 1.5);
  color: var(--color-gray-900);
  font-size: 14px;
  font-weight: 600;
  transition: all .2s ease;
}

.wd-breadcrumbs > :is(span, a):last-child {
  color: var(--wd-bcrumb-color-active);
  font-weight: 600;
}

/* --- Action Buttons (Wishlist, Compare, etc.) --- */
.wd-action-btn {
  display: inline-flex;
  vertical-align: middle;
}
.wd-action-btn > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--wd-action-color, var(--color-gray-800));
  cursor: pointer;
}

/* --- Carousels & Sliders --- */
.wd-carousel-container {
  position: relative;
  width: var(--wd-width, 100%);
}
.wd-carousel {
  position: relative;
  overflow: var(--wd-carousel-overflow, hidden);
  padding: 15px 0;
  margin-inline: calc(var(--wd-gap) / -2);
  touch-action: pan-y;
}
.wd-carousel-wrap {
  position: relative;
  z-index: 1;
  display: flex;
  width: 100%;
  height: 100%;
  box-sizing: content-box;
  transform: translate3d(0px, 0, 0);
  transition-property: transform;
  transition-timing-function: initial;
}
.wd-carousel-item {
  position: relative;
  flex: 0 0 calc(100% / var(--wd-col));
  max-width: calc(100% / var(--wd-col));
  height: 100%;
  padding: 0 calc(var(--wd-gap) / 2);
  transform: translate3d(0px, 0, 0);
  transition-property: transform;
}
.wd-slider {
  --wd-width: unset;
}
.wd-slider > .wd-carousel-inner > .wd-carousel {
  padding: 0;
  --wd-gap: 0.001px;
}
.wd-slide {
  display: flex;
  overflow: hidden;
}

/* --- Modals & Lightboxes (PhotoSwipe) --- */
.pswp {
  z-index: 1500;
  display: none;
  overflow: hidden;
  outline: none;
  touch-action: none;
  -webkit-text-size-adjust: 100%;
  -webkit-backface-visibility: hidden;
}
.pswp__bg {
  background: #000;
  opacity: 0;
  transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);
  will-change: opacity;
  -webkit-backface-visibility: hidden;
}
.pswp, .pswp__bg, .pswp__scroll-wrap, .pswp__share-modal {
  position: absolute;
  inset: 0;
}
.mfp-wrap {
  position: fixed;
  z-index: 1103;
  inset: var(--wd-admin-bar-h) 0 0 0;
  outline: none !important;
  -webkit-backface-visibility: hidden;
}

/*------------------------------------------------------------------
[7. Header Styles (WHB)]
-------------------------------------------------------------------*/
.whb-flex-row {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
}
.whb-column {
  display: flex;
  align-items: center;
  flex-direction: row;
  max-height: inherit;
}
.whb-main-header {
  position: relative;
  top: 0;
  right: 0;
  left: 0;
  z-index: 390;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
.whb-clone {
  position: fixed;
  z-index: 391;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  animation: wd-fadeOutUpBig .1s ease;
  transition: opacity .1s ease, visibility .1s ease, transform .3s ease;
}
.whb-clone.whb-sticked {
  visibility: visible;
  opacity: 1;
  pointer-events: visible;
  pointer-events: unset;
  animation: wd-fadeInDownBig .3s ease;
}

/* Header Elements */
.wd-tools-element {
  position: relative;
  --wd-header-el-color: #333;
  --wd-header-el-color-hover: rgba(51,51,51,.6);
  --wd-tools-icon-base-width: 20px;
}
.wd-tools-element > a {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 40px;
  color: var(--wd-header-el-color);
  line-height: 1;
}
.site-logo {
  max-height: inherit;
}
.wd-logo img {
  padding-top: 5px;
  padding-bottom: 5px;
  max-height: inherit;
  transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  perspective: 800px;
}

/* Mobile Navigation */
.wd-side-hidden {
  position: fixed;
  inset-block: var(--wd-admin-bar-h) 0;
  z-index: 500;
  overflow: hidden;
  overflow-y: auto;
  width: min(var(--wd-side-hidden-w), 100vw);
  background-color: var(--bgcolor-white);
  transition: transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  -webkit-overflow-scrolling: touch;
}
.wd-nav-mobile {
  display: none;
  margin-inline: 0;
  animation: wd-fadeIn 1s ease;
}


/*------------------------------------------------------------------
[8. Page & Content Styles]
-------------------------------------------------------------------*/
body:not([class*="wrapper-boxed"]) {
  background-color: var(--wd-main-bgcolor);
}
.wd-page-title {
  position: relative;
  padding-block: var(--wd-title-sp);
  --wd-align: start;
  --wd-title-sp: 15px;
  --wd-title-font-s: 36px;
}
.wd-page-title .container {
  display: flex;
  flex-direction: column;
  align-items: var(--wd-align);
  gap: 10px;
  text-align: var(--wd-align);
}
:is(.wd-entry-content, .entry-content, .is-layout-flow, .is-layout-constrained, .is-layout-constrained > .wp-block-group__inner-container) > * {
  margin-block: 0 var(--wd-block-spacing);
}
:is(.wd-entry-content, .entry-content, .is-layout-flow, .is-layout-constrained, .is-layout-constrained > .wp-block-group__inner-container) > *:last-child {
  margin-bottom: 0;
}


/*------------------------------------------------------------------
[9. Footer Styles]
-------------------------------------------------------------------*/
.footer-sidebar {
  padding-block: 40px;
}

.footer-column > *:not(.widget) {
  margin-block: 0 var(--wd-block-spacing);
}

.footer-column > *:not(.widget):last-child {
  margin-bottom: 0;
}

.wd-copyrights {
  padding-block: 20px;
  border-top: 1px solid var(--brdcolor-gray-300);
  --wd-tags-mb: 10px;
}

.wd-copyrights.wd-layout-centered {
  text-align: center;
}


/*------------------------------------------------------------------
[10. Blog & Posts]
-------------------------------------------------------------------*/
.wd-posts:not([style*="wd-gap"]) {
  --wd-gap-lg: 50px;
  --wd-gap-md: 40px;
}

.wd-post-thumb {
  position: relative;
  overflow: hidden;
  border-radius: var(--wd-brd-radius);
  transform: translate3d(0, 0, 0);
}

.wd-post-img {
  transition: all 0.5s cubic-bezier(0, 0, 0.44, 1.18);
}

.wd-post:hover .wd-post-img {
  transform: scale(1.1);
}

.wd-post-content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: var(--wd-post-align, start);
  text-align: var(--wd-post-align, start);
}

.wd-post .wd-post-meta {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  justify-content: var(--wd-post-align, start);
}


/*------------------------------------------------------------------
[11. Portfolio & Projects]
-------------------------------------------------------------------*/
.wd-projects {
  transition: all .25s ease, height .4s ease;
}

.wd-portfolio-element {
  position: relative;
}

.wd-project .entry-header {
  position: relative;
  overflow: hidden;
  border-radius: var(--wd-brd-radius);
}

.wd-project .entry-thumbnail {
  overflow: hidden;
  border-radius: var(--wd-brd-radius);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transform: translate3d(0, 0, 0);
}

.wd-project .portfolio-info {
  padding: 20px;
}


/*------------------------------------------------------------------
[12. Elementor & WPBakery Elements]
-------------------------------------------------------------------*/

/* --- Title Element --- */
.title-wrapper {
  --wd-mb: 10px;
}
.title-wrapper [class*="title"] {
  display: inline-block;
}

/* --- Social Icons --- */
.wd-social-icons {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--wd-social-gap, calc(var(--wd-social-size, 40px) / 4));
  justify-content: var(--wd-align);
}
.wd-social-icons > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--wd-social-size, 40px);
  height: var(--wd-social-size, 40px);
  border: var(--wd-social-brd) var(--wd-social-brd-color);
  border-radius: var(--wd-social-radius);
  background-color: var(--wd-social-bg, unset);
  box-shadow: var(--wd-social-shadow);
  color: var(--wd-social-color);
  font-size: var(--wd-social-icon-size, calc(var(--wd-social-size, 40px) / 2.5));
  line-height: 1;
}

/* --- Info Box --- */
.wd-info-box {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--ib-icon-sp);
  border-radius: var(--wd-brd-radius);
  --ib-icon-sp: 20px;
}

/* --- List Element --- */
.wd-list {
  display: flex;
  flex-direction: column;
  gap: var(--wd-row-gap);
  justify-content: var(--wd-align);
  list-style: none;
  --list-mb: 0;
  --li-mb: 15px;
  --li-pl: 0;
  --wd-row-gap: var(--li-mb);
}

/*------------------------------------------------------------------
[13. WooCommerce Styles]
-------------------------------------------------------------------*/
/* --- General WC --- */
.amount {
  color: var(--wd-primary-color);
  font-weight: 600;
}
del .amount {
  color: var(--color-gray-300);
  font-weight: 400;
}
.price {
  color: var(--wd-primary-color);
}
div.quantity {
  display: inline-flex;
  vertical-align: top;
  white-space: nowrap;
  --wd-form-height: 42px;
}
form.cart {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: var(--content-align);
}
.single_add_to_cart_button {
  border-radius: var(--btn-accented-brd-radius);
  color: var(--btn-accented-color);
  background-color: var(--btn-accented-bgcolor);
  box-shadow: var(--btn-accented-box-shadow);
  font-family: var(--btn-accented-font-family, var(--btn-font-family, inherit));
  font-style: var(--btn-accented-font-style, var(--btn-font-style, unset));
  font-weight: var(--btn-accented-font-weight, var(--btn-font-weight, 600));
  text-transform: var(--btn-accented-transform, var(--btn-transform, uppercase));
}

/* --- Products Loop --- */
.wd-products-element {
  position: relative;
}
.wd-products {
  position: relative;
  align-items: flex-start;
  transition: all .25s ease;
}
.wd-product {
  position: relative;
  line-height: 1.4;
  text-align: var(--text-align);
  --text-align: center;
  --wd-btn-inset: 10px;
  --wd-prod-gap: 12px;
}
.product-labels {
  position: absolute;
  top: 7px;
  inset-inline-start: 7px;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  max-width: 50%;
  transform: translateZ(0);
  transition: all .3s ease;
}
.product-label {
  padding: 5px 10px;
  min-width: 50px;
  color: #FFF;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
  text-transform: uppercase;
  word-break: break-all;
}

/* --- Single Product --- */
.woocommerce-product-gallery {
  display: flex;
  flex-wrap: wrap;
  gap: var(--wd-gallery-gap, 10px);
}
.woocommerce-product-gallery > * {
  flex: 1 1 100%;
  max-width: 100%;
}
.woocommerce-product-details__short-description {
  margin-bottom: 20px;
}

/* --- Widgets & Cart --- */
.widget_shopping_cart .widget_shopping_cart_content {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  height: 100%;
}
.woocommerce-mini-cart > li {
  position: relative;
  display: flex;
  align-items: flex-start;
}
.woocommerce-mini-cart__total {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 15px;
  padding-block: 15px;
  border-top: 1px solid var(--brdcolor-gray-300);
  font-size: 130%;
}


/*------------------------------------------------------------------
[14. Utility & Helper Classes]
-------------------------------------------------------------------*/
.clear {
  width: 100%;
  clear: both;
}

.wd-fill {
  position: absolute;
  inset: 0;
}

.wd-hide {
  display: none !important;
}

.reset-last-child > *:last-child {
  margin-bottom: 0;
}

.text-left {
  --text-align: left;
  text-align: var(--text-align);
  --content-align: flex-start;
  --wd-align: flex-start;
}

.text-center {
  --text-align: center;
  text-align: var(--text-align);
  --content-align: center;
  --wd-align: center;
}

.text-right {
  --text-align: right;
  text-align: var(--text-align);
  --content-align: flex-end;
  --wd-align: flex-end;
}

.alignleft {
  float: left;
  margin-right: 20px;
  margin-bottom: 20px;
}

.alignright {
  float: right;
  margin-left: 20px;
  margin-bottom: 20px;
}

.aligncenter {
  display: block;
  clear: both;
  margin: 0 auto 20px auto;
}

[class*="screen-reader"] {
  position: absolute !important;
  clip: rect(1px, 1px, 1px, 1px);
  transform: scale(0);
}


/*------------------------------------------------------------------
[15. Animations (Keyframes)]
-------------------------------------------------------------------*/
@keyframes wd-rotate {
  100% {
    transform: rotate(360deg);
  }
}

@keyframes wd-fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes wd-fadeInBottomShort {
  from { transform: translate3d(0, 20px, 0); }
  to { transform: none; }
}

@keyframes wd-fadeInDownBig {
  from { transform: translate3d(0, -100%, 0); }
  to { transform: none; }
}

@keyframes wd-fadeOutUpBig {
  from { transform: none; }
  to { transform: translate3d(0, -100%, 0); }
}

@keyframes wd-SlideFromTop {
  from { transform: translateY(-150px); }
  to { transform: none; }
}

@keyframes wd-SlideFromBottom {
  from { transform: translateY(150px); }
  to { transform: none; }
}

@keyframes wd-SlideFromLeft {
  from { transform: translateX(-150px); }
  to { transform: none; }
}

@keyframes wd-SlideFromRight {
  from { transform: translateX(150px); }
  to { transform: none; }
}


/*------------------------------------------------------------------
[16. Media Queries (Responsive Design)]
-------------------------------------------------------------------*/
/* --- Large Desktops (1200px and up) --- */
@media (min-width: 1200px) {
  .wrapper-full-width-content .container {
    max-width: 100%;
  }
  body[class*="wrapper-boxed"] {
    --wd-boxed-w: 1200px;
    --wd-container-w: calc(var(--wd-boxed-w) - 40px);
  }
  body[class*="wrapper-boxed"] .wd-page-wrapper {
    margin-inline: auto;
    max-width: var(--wd-boxed-w);
    box-shadow: 0 1px 9px rgba(0, 0, 0, 0.08);
  }
}

/* --- Desktops & Laptops (1025px and up) --- */
@media (min-width: 1025px) {
  .wd-hide-lg {
    display: none !important;
  }
  .admin-bar {
    --wd-admin-bar-h: 32px;
  }
  .whb-hidden-lg,
  .whb-hidden-desktop {
    display: none;
  }
  .wd-scroll,
  .wd-dropdown-menu.wd-design-aside {
    --scrollbar-track-bg: rgba(0, 0, 0, 0.05);
    --scrollbar-thumb-bg: rgba(0, 0, 0, 0.12);
  }
  .wd-scroll ::-webkit-scrollbar,
  .wd-dropdown-menu.wd-design-aside ::-webkit-scrollbar {
    width: 5px;
  }
  .wd-nav-arrows[class*="wd-hover"].wd-pos-sep .wd-btn-arrow {
    opacity: 0;
    pointer-events: none;
  }
  :is(.wd-carousel-container, .wd-products-element):hover .wd-nav-arrows[class*="wd-hover"].wd-pos-sep .wd-btn-arrow {
    opacity: 1;
    transform: translateY(0);
    pointer-events: unset;
  }
}

/* --- Tablets & Smaller Desktops (max-width: 1024px) --- */
@media (max-width: 1024px) {
  .wd-hide-md {
    display: none !important;
  }
  [class*="wd-grid"] {
    --wd-col: var(--wd-col-md);
    --wd-gap: var(--wd-gap-md);
    --wd-col-md: var(--wd-col-lg);
    --wd-gap-md: var(--wd-gap-lg);
  }
  .whb-visible-lg,
  .whb-hidden-mobile {
    display: none;
  }
  #wpadminbar {
    position: absolute;
  }
  .sticky-toolbar-on {
    padding-bottom: 55px;
  }
  .wd-toolbar {
    display: none; /* Usually hidden on desktop, shown here for context */
  }
  .wd-product .hover-img {
    display: none;
  }
}

/* --- Landscape Phones & Portrait Tablets (max-width: 768.98px) --- */
@media (max-width: 768.98px) {
  .wd-hide-sm {
    display: none !important;
  }
  [class*="wd-grid"] {
    --wd-col: var(--wd-col-sm);
    --wd-gap: var(--wd-gap-sm);
    --wd-col-sm: var(--wd-col-md);
    --wd-gap-sm: var(--wd-gap-md);
  }
  .sidebar-left {
    order: 10;
  }
  .wd-search-cat {
    display: none;
  }
}

/* --- Portrait Phones (max-width: 576px) --- */
@media (max-width: 576px) {
  [class*="wd-grid"] {
    --wd-col: var(--wd-col-xs);
    --wd-gap: var(--wd-gap-xs);
    --wd-col-xs: var(--wd-col-sm);
    --wd-gap-xs: var(--wd-gap-sm);
  }
  .title-wrapper .title {
    font-size: 20px;
  }
  .product-label {
    padding-inline: 5px;
    min-width: 40px;
    font-size: 10px;
  }
}

/* --- Special case for combined breakpoints --- */
@media (min-width: 769px) and (max-width: 1024px) {
  .wd-hide-md-sm {
    display: none !important;
  }
}

/* --- Print Styles --- */
@media print {
  /* Prevent printers from removing background-images of controls. */
}

/* --- کدهای ضروری اسلایدر که حذف شده بود --- */

/* استایل‌های مربوط به انیمیشن Fade */
.wd-carousel.wd-fade > .wd-carousel-wrap > .wd-carousel-item {
	pointer-events: none;
	transition-property: opacity;
}
.wd-carousel.wd-fade > .wd-carousel-wrap > .wd-carousel-item.wd-active {
	pointer-events: auto;
}

/* مخفی کردن انیمیشن در اسلایدهای غیرفعال */
.wd-slider .wd-slide:is(.wd-slide-prev, .wd-slide-next):not(.wd-active) [class*="wd-animation"] {
	opacity: 0;
	transform: none;
}

/* انیمیشن‌های خاص اسلایدر (distortion) */
.wd-slider.wd-anim-distortion canvas {
	position: absolute;
	inset: 0;
	width: 100%;
}
.wd-slider.wd-anim-distortion .wd-slide:not(.wd-active) {
	opacity: 0 !important;
}
.wd-slider.wd-anim-distortion.wd-canvas-loaded .wd-slide-bg {
	display: none;
}

/* استایل‌های اسلایدر محصولات شبکه‌ای (Grid) */
.wd-product-grid-slider {
	display: flex;
	z-index: 1;
}
.wd-product-grid-slide {
	flex-grow: 1;
}
.wd-product-grid-slider-nav {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	height: 100%;
	z-index: 4;
	--arrow-color: var(--color-gray-800);
	--arrow-color-hover: var(--color-gray-500);
	pointer-events: none;
}
.wd-product-grid-slider-nav > div {
	display: flex;
	align-items: center;
	transition: inherit;
	width: 30px;
	height: 30px;
	opacity: 0;
	visibility: hidden;
	transition: all .3s ease;
	color: var(--arrow-color);
	pointer-events: auto;
}
.wd-product-grid-slider-nav > div:hover {
	color: var(--arrow-color-hover);
}
.wd-product-grid-slider-nav .wd-prev {
	transform: translateX(-25px);
	text-align: start;
	padding-inline-start: 8px;
	justify-content: flex-start;
}
.wd-product-grid-slider-nav .wd-prev:before {
	content: "\f114";
    font-family: "woodmart-font";
}
.wd-product-grid-slider-nav .wd-next {
	transform: translateX(25px);
	text-align: end;
	padding-inline-end: 8px;
	justify-content: flex-end;
}
.wd-product-grid-slider-nav .wd-next:before {
	content: "\f113";
    font-family: "woodmart-font";
}
.wd-product-grid-slider-pagin {
	position: absolute;
	bottom: 0;
	inset-inline: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 4px;
	transition: all .3s ease;
	filter: invert(90%);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	z-index: 2;
}
.wd-product-grid-slider-dot {
	flex-grow: 1;
	height: 4px;
	background-color: #242424;
	transition: all .25s ease;
	opacity: .2;
}
.wd-product-grid-slider-dot.wd-active {
	opacity: .6;
}
.wd-product:not(:is(.product-swatched, .quick-shop-shown, .wd-variation-active, [class*="wd-loading"])):hover :is(.wd-product-grid-slider-nav > div, .wd-product-grid-slider-pagin) {
	opacity: 1;
	visibility: visible;
	transform: none;
}

@media (min-width: 1025px) {
    .wd-nav-arrows[class*="wd-hover"].wd-pos-sep .wd-btn-arrow {
        opacity: 0;
        pointer-events: none;
    }
    :is(.wd-carousel-container, .wd-products-element):hover .wd-nav-arrows[class*="wd-hover"].wd-pos-sep .wd-btn-arrow {
        opacity: 1;
        transform: translateY(0);
        pointer-events: unset;
    }
    .wd-nav-arrows.wd-hover-1.wd-pos-sep .wd-prev {
        transform: translateX(-30px);
    }
    .wd-nav-arrows.wd-hover-1.wd-pos-sep .wd-next {
        transform: translateX(30px);
    }
}