/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/.pnpm/css-loader@7.1.5_webpack@5.112.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/.pnpm/postcss-loader@8.2.1_postcss@8.5.31_webpack@5.112.0/node_modules/postcss-loader/dist/cjs.js!./node_modules/.pnpm/sass-loader@17.0.1_sass@1.106.1_webpack@5.112.0/node_modules/sass-loader/dist/cjs/index.js!./src/assets/styles/app.scss ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
/*
 * IMPORTANT NOTE: Theme based on Tailwindcss but for the purpose of simplifing the DOM we use
 * tailwind classes with @apply directive in the SCSS files
*/
/**
 * SETTINGS
 * Tailwind.............Import tailwind.
 * Fonts................Any font files.
 * Global...............Project-specific, globally available variables.
 * Breakpoints..........Mixins and variables for responsive styles.
 *
 * GENERIC
 * Common...............All commn styles and assistan classes and common style fixes
 * Reset................Reset specific elements to make them easier to style in other contexts.
 * Animations...........Some of animations from anime.css
 * Lazyload.............Lazyload placeholder styles
 * RTL..................Specific styles for RTL.
 * LTR..................Specific styles for LTR.
 *
 * ELEMENTS
 * Forms................Element-level form styling.
 * Buttons..............Specific styles for buttons.
 * Radio................Specific styles for custom radio button.
 * Radio Images.........Specific styles for radio images, used in product options.
 *
 * COMPONENTS
 * Header...............Specific styles for header styles.
 * Footer...............Specific styles for footer styles.
 * Menu.................Specific styles for main menu and mobile menu styles.
 * User Menu............Specific styles for user menu dropdown.
 * User Pages...........Specific styles for user pages like profile, notifications, orders...
 * Home Blocks..........Specific styles for home blocks.
 * Slider...............Specific styles for sliders.
 * Product..............Specific styles for single product page and it's elements.
 * Product Tabs.........Specific styles for the home product-tabs block.
 * Quick View...........Specific styles for the product quick-view modal.
 * Comments.............Specific styles for the <salla-comments> reviews block.
 * Brands...............Specific styles for brands page.
 * Placeholder..........Specific styles for no content placeholders.
 * Gifting..............Specific styles for gifting system.
 * Loyalty..............Specific styles for loyalty system.
 *
 * UTILITIES
 * Chat Bots............Specific styles for chats bots widget.
 * Swal.................Specific styles for Sweet Alert addon.
 * Safari Fixes.........Specific styles for Safari Browser.
 *
 * EMBEDED ADDONS
 * Lite Youtube Embed...Specific styles for lite-youtube-embed addon.
 * Swiper...............Specific styles for swiper slider addon.
 * MMenu................Specific styles for mmenu addon.
 *
*/
lite-youtube {
    background-color: #000;
    position: relative;
    display: block;
    contain: content;
    background-position: center center;
    background-size: cover;
    cursor: pointer;
    max-width: 720px;
}

/* gradient */
lite-youtube::before {
    content: attr(data-title);
    display: block;
    position: absolute;
    top: 0;
    /* Pixel-perfect port of YT's gradient PNG, using https://github.com/bluesmoon/pngtocss plus optimizations */
    background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.67) 0%, rgba(0, 0, 0, 0.54) 14%, rgba(0, 0, 0, 0.15) 54%, rgba(0, 0, 0, 0.05) 72%, rgba(0, 0, 0, 0) 94%);
    height: 99px;
    width: 100%;
    font-family: "YouTube Noto",Roboto,Arial,Helvetica,sans-serif;
    color: hsl(0, 0%, 93%);
    text-shadow: 0 0 2px rgba(0,0,0,.5);
    font-size: 18px;
    padding: 25px 20px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    box-sizing: border-box;
}

lite-youtube:hover::before {
    color: white;
}

/* responsive iframe with a 16:9 aspect ratio
    thanks https://css-tricks.com/responsive-iframes/
*/
lite-youtube::after {
    content: "";
    display: block;
    padding-bottom: calc(100% / (16 / 9));
}
lite-youtube > iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    border: 0;
}

/* play button */
lite-youtube > .lyt-playbtn {
    display: block;
    /* Make the button element cover the whole area for a large hover/click target… */
    width: 100%;
    height: 100%;
    /* …but visually it's still the same size */
    background: no-repeat center/68px 48px;
    /* YT's actual play button svg */
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 68 48"><path d="M66.52 7.74c-.78-2.93-2.49-5.41-5.42-6.19C55.79.13 34 0 34 0S12.21.13 6.9 1.55c-2.93.78-4.63 3.26-5.42 6.19C.06 13.05 0 24 0 24s.06 10.95 1.48 16.26c.78 2.93 2.49 5.41 5.42 6.19C12.21 47.87 34 48 34 48s21.79-.13 27.1-1.55c2.93-.78 4.64-3.26 5.42-6.19C67.94 34.95 68 24 68 24s-.06-10.95-1.48-16.26z" fill="red"/><path d="M45 24 27 14v20" fill="white"/></svg>');
    position: absolute;
    cursor: pointer;
    z-index: 1;
    filter: grayscale(100%);
    transition: filter .1s cubic-bezier(0, 0, 0.2, 1);
    border: 0;
}

lite-youtube:hover > .lyt-playbtn,
lite-youtube .lyt-playbtn:focus {
    filter: none;
}

/* Post-click styles */
lite-youtube.lyt-activated {
    cursor: inherit;
}
lite-youtube.lyt-activated::before,
lite-youtube.lyt-activated > .lyt-playbtn {
    opacity: 0;
    pointer-events: none;
}

.lyt-visually-hidden {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
  }

/*!
 * Mmenu Light
 * mmenujs.com/mmenu-light
 *
 * Copyright (c) Fred Heusschen
 * www.frebsite.nl
 *
 * License: CC-BY-4.0
 * http://creativecommons.org/licenses/by/4.0/
 */:root{--mm-ocd-width:80%;--mm-ocd-min-width:200px;--mm-ocd-max-width:440px}body.mm-ocd-opened{overflow-y:hidden;overscroll-behavior:none}.mm-ocd{position:fixed;top:0;right:0;bottom:100%;left:0;z-index:9999;overflow:hidden;overscroll-behavior:contain;background:rgba(0,0,0,0);transition-property:bottom,background-color;transition-duration:0s,.3s;transition-timing-function:ease;transition-delay:.45s,.15s}.mm-ocd--open{bottom:0;background:rgba(0,0,0,.25);transition-delay:0s}.mm-ocd__content{position:absolute;top:0;bottom:0;z-index:2;width:calc(100% - 51px);width:var(--mm-ocd-width);min-width:200px;min-width:var(--mm-ocd-min-width);max-width:440px;max-width:var(--mm-ocd-max-width);background:#fff;transition-property:transform;transition-duration:.3s;transition-timing-function:ease}.mm-ocd--left .mm-ocd__content{left:0;transform:translate3d(-100%,0,0)}.mm-ocd--right .mm-ocd__content{right:0;transform:translate3d(100%,0,0)}.mm-ocd--open .mm-ocd__content{transform:translate3d(0,0,0)}.mm-ocd__backdrop{position:absolute;top:0;bottom:0;z-index:3;width:max(calc(100% - 440px), min(calc(100% - (100% - 51px)), calc(100% - 200px)));width:max(calc(100% - 440px), min(calc(100% - calc(100% - 51px)), calc(100% - 200px)));width:max(calc(100% - var(--mm-ocd-max-width)), min(calc(100% - var(--mm-ocd-width)), calc(100% - var(--mm-ocd-min-width))));background:rgba(3,2,1,0)}.mm-ocd--left .mm-ocd__backdrop{right:0}.mm-ocd--right .mm-ocd__backdrop{left:0}.mm-spn,.mm-spn a,.mm-spn li,.mm-spn span,.mm-spn ul{display:block;padding:0;margin:0;box-sizing:border-box}:root{--mm-spn-item-height:50px;--mm-spn-item-indent:20px;--mm-spn-line-height:24px;--mm-spn-panel-offset:30%}.mm-spn{width:100%;height:100%;-webkit-tap-highlight-color:transparent;-webkit-overflow-scrolling:touch;overflow:hidden;clip-path:inset(0 0 0 0);transform:translateX(0)}.mm-spn ul{-webkit-overflow-scrolling:touch;position:fixed;top:0;left:100%;bottom:0;z-index:2;width:calc(100% + 30%);width:calc(100% + var(--mm-spn-panel-offset));padding-right:30%;padding-right:var(--mm-spn-panel-offset);line-height:24px;line-height:var(--mm-spn-line-height);overflow:visible;overflow-y:auto;background:inherit;transition:left .3s ease 0s;cursor:default}.mm-spn ul:after{content:"";display:block;height:50px;height:var(--mm-spn-item-height)}.mm-spn>ul{left:0}.mm-spn ul.mm-spn--open{left:0}.mm-spn ul.mm-spn--parent{left:calc(-1 * 30%);left:calc(-1 * var(--mm-spn-panel-offset));overflow:visible}.mm-spn li{position:relative;background:inherit;cursor:pointer}.mm-spn li:before{content:"";display:block;position:absolute;top:calc(50px/ 2);top:calc(var(--mm-spn-item-height)/ 2);right:calc(50px/ 2);right:calc(var(--mm-spn-item-height)/ 2);z-index:0;width:10px;height:10px;border-top:2px solid;border-right:2px solid;transform:rotate(45deg) translate(0,-50%);opacity:.4}.mm-spn li:after{content:"";display:block;margin-left:20px;margin-left:var(--mm-spn-item-indent);border-top:1px solid;opacity:.15}.mm-spn a,.mm-spn span{position:relative;z-index:1;padding:calc((50px - 24px)/ 2) 20px;padding:calc((var(--mm-spn-item-height) - var(--mm-spn-line-height))/ 2) var(--mm-spn-item-indent)}.mm-spn a{background:inherit;color:inherit;-webkit-text-decoration:none;text-decoration:none}.mm-spn a:not(:last-child){width:calc(100% - 50px);width:calc(100% - var(--mm-spn-item-height))}.mm-spn a:not(:last-child):after{content:"";display:block;position:absolute;top:0;right:0;bottom:0;border-right:1px solid;opacity:.15}.mm-spn span{background:0 0}.mm-spn.mm-spn--navbar{cursor:pointer}.mm-spn.mm-spn--navbar:before{content:"";display:block;position:absolute;top:calc(50px/ 2);top:calc(var(--mm-spn-item-height)/ 2);left:20px;left:var(--mm-spn-item-indent);width:10px;height:10px;margin-top:2px;border-top:2px solid;border-left:2px solid;transform:rotate(-45deg) translate(50%,-50%);opacity:.4}.mm-spn.mm-spn--navbar.mm-spn--main{cursor:default}.mm-spn.mm-spn--navbar.mm-spn--main:before{content:none;display:none}.mm-spn.mm-spn--navbar:after{content:attr(data-mm-spn-title);display:block;position:absolute;top:0;left:0;right:0;height:50px;height:var(--mm-spn-item-height);padding:0 calc(20px * 2);padding:0 calc(var(--mm-spn-item-indent) * 2);line-height:50px;line-height:var(--mm-spn-item-height);opacity:.4;text-align:center;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.mm-spn.mm-spn--navbar.mm-spn--main:after{padding-left:20px;padding-left:var(--mm-spn-item-indent)}.mm-spn.mm-spn--navbar ul{top:calc(50px + 1px);top:calc(var(--mm-spn-item-height) + 1px)}.mm-spn.mm-spn--navbar ul:before{content:"";display:block;position:fixed;top:inherit;z-index:2;width:100%;border-top:1px solid currentColor;opacity:.15}.mm-spn.mm-spn--light{color:#444;background:#f3f3f3}.mm-spn.mm-spn--dark{color:#ddd;background:#333}.mm-spn.mm-spn--vertical{overflow-y:auto}.mm-spn.mm-spn--vertical ul{width:100%;padding-right:0;position:static}.mm-spn.mm-spn--vertical ul ul{display:none;padding-left:20px;padding-left:var(--mm-spn-item-indent)}.mm-spn.mm-spn--vertical ul ul:after{height:calc(50px/ 2);height:calc(var(--mm-spn-item-height)/ 2)}.mm-spn.mm-spn--vertical ul.mm-spn--open{display:block}.mm-spn.mm-spn--vertical li.mm-spn--open:before{transform:rotate(135deg) translate(-50%,0)}.mm-spn.mm-spn--vertical ul ul li:last-child:after{content:none;display:none}*, ::before, ::after{
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x:  ;
    --tw-pan-y:  ;
    --tw-pinch-zoom:  ;
    --tw-scroll-snap-strictness: proximity;
    --tw-gradient-from-position:  ;
    --tw-gradient-via-position:  ;
    --tw-gradient-to-position:  ;
    --tw-ordinal:  ;
    --tw-slashed-zero:  ;
    --tw-numeric-figure:  ;
    --tw-numeric-spacing:  ;
    --tw-numeric-fraction:  ;
    --tw-ring-inset:  ;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgba(59, 130, 246, 0.5);
    --tw-ring-offset-shadow: 0 0 rgba(0,0,0,0);
    --tw-ring-shadow: 0 0 rgba(0,0,0,0);
    --tw-shadow: 0 0 rgba(0,0,0,0);
    --tw-shadow-colored: 0 0 rgba(0,0,0,0);
    --tw-blur:  ;
    --tw-brightness:  ;
    --tw-contrast:  ;
    --tw-grayscale:  ;
    --tw-hue-rotate:  ;
    --tw-invert:  ;
    --tw-saturate:  ;
    --tw-sepia:  ;
    --tw-drop-shadow:  ;
    --tw-backdrop-blur:  ;
    --tw-backdrop-brightness:  ;
    --tw-backdrop-contrast:  ;
    --tw-backdrop-grayscale:  ;
    --tw-backdrop-hue-rotate:  ;
    --tw-backdrop-invert:  ;
    --tw-backdrop-opacity:  ;
    --tw-backdrop-saturate:  ;
    --tw-backdrop-sepia:  ;
    --tw-contain-size:  ;
    --tw-contain-layout:  ;
    --tw-contain-paint:  ;
    --tw-contain-style:  ;
}::backdrop{
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x:  ;
    --tw-pan-y:  ;
    --tw-pinch-zoom:  ;
    --tw-scroll-snap-strictness: proximity;
    --tw-gradient-from-position:  ;
    --tw-gradient-via-position:  ;
    --tw-gradient-to-position:  ;
    --tw-ordinal:  ;
    --tw-slashed-zero:  ;
    --tw-numeric-figure:  ;
    --tw-numeric-spacing:  ;
    --tw-numeric-fraction:  ;
    --tw-ring-inset:  ;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgba(59, 130, 246, 0.5);
    --tw-ring-offset-shadow: 0 0 rgba(0,0,0,0);
    --tw-ring-shadow: 0 0 rgba(0,0,0,0);
    --tw-shadow: 0 0 rgba(0,0,0,0);
    --tw-shadow-colored: 0 0 rgba(0,0,0,0);
    --tw-blur:  ;
    --tw-brightness:  ;
    --tw-contrast:  ;
    --tw-grayscale:  ;
    --tw-hue-rotate:  ;
    --tw-invert:  ;
    --tw-saturate:  ;
    --tw-sepia:  ;
    --tw-drop-shadow:  ;
    --tw-backdrop-blur:  ;
    --tw-backdrop-brightness:  ;
    --tw-backdrop-contrast:  ;
    --tw-backdrop-grayscale:  ;
    --tw-backdrop-hue-rotate:  ;
    --tw-backdrop-invert:  ;
    --tw-backdrop-opacity:  ;
    --tw-backdrop-saturate:  ;
    --tw-backdrop-sepia:  ;
    --tw-contain-size:  ;
    --tw-contain-layout:  ;
    --tw-contain-paint:  ;
    --tw-contain-style:  ;
}/*
 ! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*//*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/

*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  border-width: 0; /* 2 */
  border-style: solid; /* 2 */
  border-color: #e5e7eb; /* 2 */
}

::before,
::after {
  --tw-content: '';
}

/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/

html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  font-family: "DINNextLTArabic", -apple-system, BlinkMacSystemFont;
  font-family: var(--font-main), -apple-system, BlinkMacSystemFont; /* 4 */
  font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}

/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/

body {
  margin: 0; /* 1 */
  line-height: inherit; /* 2 */
}

/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/

hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}

/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/

abbr:where([title]) {
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

/*
Remove the default font size and weight for headings.
*/

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

/*
Reset links to optimize for opt-in styling instead of opt-out.
*/

a {
  color: inherit;
  text-decoration: inherit;
}

/*
Add the correct font weight in Edge and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; /* 1 */
  font-feature-settings: normal; /* 2 */
  font-variation-settings: normal; /* 3 */
  font-size: 1em; /* 4 */
}

/*
Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/

table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}

/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  font-size: 100%; /* 1 */
  font-weight: inherit; /* 1 */
  line-height: inherit; /* 1 */
  letter-spacing: inherit; /* 1 */
  color: inherit; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 3 */
}

/*
Remove the inheritance of text transform in Edge and Firefox.
*/

button,
select {
  text-transform: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/

button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
  -webkit-appearance: button; /* 1 */
  background-color: transparent; /* 2 */
  background-image: none; /* 2 */
}

/*
Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
  outline: auto;
}

/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

:-moz-ui-invalid {
  box-shadow: none;
}

/*
Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/*
Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/

[type='search'] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/*
Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/*
Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/*
Removes the default spacing and border for appropriate elements.
*/

blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

/*
Reset default styling for dialogs.
*/
dialog {
  padding: 0;
}

/*
Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/

input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

input::placeholder,
textarea::placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

/*
Set the default cursor for buttons.
*/

button,
[role="button"] {
  cursor: pointer;
}

/*
Make sure disabled buttons don't get the pointer cursor.
*/
:disabled {
  cursor: default;
}

/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}

/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

img,
video {
  max-width: 100%;
  height: auto;
}

/* Make elements with the HTML hidden attribute stay hidden by default */
[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}input:where([type='text']),input:where(:not([type])),input:where([type='email']),input:where([type='url']),input:where([type='password']),input:where([type='number']),input:where([type='date']),input:where([type='datetime-local']),input:where([type='month']),input:where([type='search']),input:where([type='tel']),input:where([type='time']),input:where([type='week']),select:where([multiple]),textarea,select{
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    background-color: #fff;
    border-color: #6b7280;
    border-width: 1px;
    border-radius: 0px;
    padding-top: 0.5rem;
    padding-right: 0.75rem;
    padding-bottom: 0.5rem;
    padding-left: 0.75rem;
    font-size: 1rem;
    line-height: 1.5rem;
    --tw-shadow: 0 0 rgba(0,0,0,0);
}input:where([type='text']):focus, input:where(:not([type])):focus, input:where([type='email']):focus, input:where([type='url']):focus, input:where([type='password']):focus, input:where([type='number']):focus, input:where([type='date']):focus, input:where([type='datetime-local']):focus, input:where([type='month']):focus, input:where([type='search']):focus, input:where([type='tel']):focus, input:where([type='time']):focus, input:where([type='week']):focus, select:where([multiple]):focus, textarea:focus, select:focus{
    outline: 2px solid transparent;
    outline-offset: 2px;
    --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: #2563eb;
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: /*!*/ /*!*/ 0 0 0 0px #fff, /*!*/ /*!*/ 0 0 0 calc(1px + 0px) #2563eb, var(--tw-shadow);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    border-color: #2563eb;
}input::-moz-placeholder, textarea::-moz-placeholder{
    color: #6b7280;
    opacity: 1;
}input::placeholder,textarea::placeholder{
    color: #6b7280;
    opacity: 1;
}::-webkit-datetime-edit-fields-wrapper{
    padding: 0;
}::-webkit-date-and-time-value{
    min-height: 1.5em;
    text-align: inherit;
}::-webkit-datetime-edit{
    display: inline-flex;
}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{
    padding-top: 0;
    padding-bottom: 0;
}select{
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
    background-position: right 0.5rem center;
    background-repeat: no-repeat;
    background-size: 1.5em 1.5em;
    padding-right: 2.5rem;
    -webkit-print-color-adjust: exact;
            print-color-adjust: exact;
}select:where([multiple]),select:where([size]:not([size="1"])){
    background-image: none;
    background-image: initial;
    background-position: 0 0;
    background-position: initial;
    background-repeat: repeat;
    background-repeat: initial;
    background-size: auto auto;
    background-size: initial;
    padding-right: 0.75rem;
    -webkit-print-color-adjust: inherit;
            print-color-adjust: inherit;
}input:where([type='checkbox']),input:where([type='radio']){
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    padding: 0;
    -webkit-print-color-adjust: exact;
            print-color-adjust: exact;
    display: inline-block;
    vertical-align: middle;
    background-origin: border-box;
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
    flex-shrink: 0;
    height: 1rem;
    width: 1rem;
    color: #2563eb;
    background-color: #fff;
    border-color: #6b7280;
    border-width: 1px;
    --tw-shadow: 0 0 rgba(0,0,0,0);
}input:where([type='checkbox']){
    border-radius: 0px;
}input:where([type='radio']){
    border-radius: 100%;
}input:where([type='checkbox']):focus,input:where([type='radio']):focus{
    outline: 2px solid transparent;
    outline-offset: 2px;
    --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);
    --tw-ring-offset-width: 2px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: #2563eb;
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: /*!*/ /*!*/ 0 0 0 0px #fff, /*!*/ /*!*/ 0 0 0 calc(2px + 2px) #2563eb, var(--tw-shadow);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}input:where([type='checkbox']):checked,input:where([type='radio']):checked{
    border-color: transparent;
    background-color: currentColor;
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat;
}input:where([type='checkbox']):checked{
    background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e");
}@media (forced-colors: active) {
    input:where([type='checkbox']):checked{
        -webkit-appearance: auto;
           -moz-appearance: auto;
                appearance: auto;
    }
}input:where([type='radio']):checked{
    background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e");
}@media (forced-colors: active) {
    input:where([type='radio']):checked{
        -webkit-appearance: auto;
           -moz-appearance: auto;
                appearance: auto;
    }
}input:where([type='checkbox']):checked:hover,input:where([type='checkbox']):checked:focus,input:where([type='radio']):checked:hover,input:where([type='radio']):checked:focus{
    border-color: transparent;
    background-color: currentColor;
}input:where([type='checkbox']):indeterminate{
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e");
    border-color: transparent;
    background-color: currentColor;
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat;
}@media (forced-colors: active) {
    input:where([type='checkbox']):indeterminate{
        -webkit-appearance: auto;
           -moz-appearance: auto;
                appearance: auto;
    }
}input:where([type='checkbox']):indeterminate:hover,input:where([type='checkbox']):indeterminate:focus{
    border-color: transparent;
    background-color: currentColor;
}input:where([type='file']){
    background: transparent none repeat 0 0 / auto auto padding-box border-box scroll;
    background: initial;
    border-color: inherit;
    border-width: 0;
    border-radius: 0;
    padding: 0;
    font-size: inherit;
    line-height: inherit;
}input:where([type='file']):focus{
    outline: 1px solid ButtonText;
    outline: 1px auto -webkit-focus-ring-color;
}
.\!container{
    width: 100% !important;
    margin-right: auto !important;
    margin-left: auto !important;
    padding-right: 10px !important;
    padding-left: 10px !important;
}
.container{
    width: 100%;
    margin-right: auto;
    margin-left: auto;
    padding-right: 10px;
    padding-left: 10px;
}
@media (min-width: 1280px){
    .\!container{
        max-width: 1280px !important;
    }
    .container{
        max-width: 1280px;
    }
}
.form-input,.form-textarea,.form-select,.form-multiselect{
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    background-color: #fff;
    border-color: #6b7280;
    border-width: 1px;
    border-radius: 0px;
    padding-top: 0.5rem;
    padding-right: 0.75rem;
    padding-bottom: 0.5rem;
    padding-left: 0.75rem;
    font-size: 1rem;
    line-height: 1.5rem;
    --tw-shadow: 0 0 rgba(0,0,0,0);
}
.form-input:focus, .form-textarea:focus, .form-select:focus, .form-multiselect:focus{
    outline: 2px solid transparent;
    outline-offset: 2px;
    --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: #2563eb;
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: /*!*/ /*!*/ 0 0 0 0px #fff, /*!*/ /*!*/ 0 0 0 calc(1px + 0px) #2563eb, var(--tw-shadow);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    border-color: #2563eb;
}
.form-input::-moz-placeholder, .form-textarea::-moz-placeholder{
    color: #6b7280;
    opacity: 1;
}
.form-input::placeholder,.form-textarea::placeholder{
    color: #6b7280;
    opacity: 1;
}
.form-input::-webkit-datetime-edit-fields-wrapper{
    padding: 0;
}
.form-input::-webkit-date-and-time-value{
    min-height: 1.5em;
    text-align: inherit;
}
.form-input::-webkit-datetime-edit{
    display: inline-flex;
}
.form-input::-webkit-datetime-edit,.form-input::-webkit-datetime-edit-year-field,.form-input::-webkit-datetime-edit-month-field,.form-input::-webkit-datetime-edit-day-field,.form-input::-webkit-datetime-edit-hour-field,.form-input::-webkit-datetime-edit-minute-field,.form-input::-webkit-datetime-edit-second-field,.form-input::-webkit-datetime-edit-millisecond-field,.form-input::-webkit-datetime-edit-meridiem-field{
    padding-top: 0;
    padding-bottom: 0;
}
.\!container{
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
    max-width: 1200px !important;
    max-width: var(--container-max-width, 1200px) !important;
}
.container{
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-left: 1rem;
    padding-right: 1rem;
    max-width: 1200px;
    max-width: var(--container-max-width, 1200px);
}
.container-base{
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-left: 1rem;
    padding-right: 1rem;
    --container-max-width: 1280px;
    max-width: 1280px;
}
.container-wide{
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-left: 1rem;
    padding-right: 1rem;
    --container-max-width: 1600px;
    max-width: 1600px;
}
.container-narrow{
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-left: 1rem;
    padding-right: 1rem;
    --container-max-width: 1200px;
    max-width: 1200px;
}
.container-full{
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-left: 1rem;
    padding-right: 1rem;
    --container-max-width: 100%;
    max-width: 100%;
}
.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;
}
.pointer-events-none{
    pointer-events: none;
}
.pointer-events-auto{
    pointer-events: auto;
}
.visible{
    visibility: visible;
}
.invisible{
    visibility: hidden;
}
.\!collapse{
    visibility: collapse !important;
}
.collapse{
    visibility: collapse;
}
.static{
    position: static;
}
.fixed{
    position: fixed;
}
.absolute{
    position: absolute;
}
.relative{
    position: relative;
}
.sticky{
    position: sticky;
}
.-inset-4{
    top: -1rem;
    right: -1rem;
    bottom: -1rem;
    left: -1rem;
}
.inset-0{
    top: 0px;
    right: 0px;
    bottom: 0px;
    left: 0px;
}
.inset-x-0{
    left: 0px;
    right: 0px;
}
.inset-y-2{
    top: 0.5rem;
    bottom: 0.5rem;
}
.-bottom-40{
    bottom: -10rem;
}
.-bottom-\[4\%\]{
    bottom: -4%;
}
.-bottom-\[6\%\]{
    bottom: -6%;
}
.-left-16{
    left: -4rem;
}
.-right-24{
    right: -6rem;
}
.-start-\[3\%\]{
    left: -3%;
}
.-top-48{
    top: -12rem;
}
.-top-5{
    top: -1.25rem;
}
.-top-8{
    top: -2rem;
}
.bottom-0{
    bottom: 0px;
}
.bottom-1{
    bottom: 0.25rem;
}
.bottom-10{
    bottom: 2.5rem;
}
.bottom-2{
    bottom: 0.5rem;
}
.bottom-2\.5{
    bottom: 0.625rem;
}
.bottom-3{
    bottom: 0.75rem;
}
.bottom-4{
    bottom: 1rem;
}
.end-0{
    right: 0px;
}
.left-0{
    left: 0px;
}
.left-1\/2{
    left: 50%;
}
.left-\[17\%\]{
    left: 17%;
}
.right-0{
    right: 0px;
}
.right-2{
    right: 0.5rem;
}
.right-5{
    right: 1.25rem;
}
.right-\[17\%\]{
    right: 17%;
}
.start-0{
    left: 0px;
}
.top-0{
    top: 0px;
}
.top-1{
    top: 0.25rem;
}
.top-1\/2{
    top: 50%;
}
.top-12{
    top: 3rem;
}
.top-2{
    top: 0.5rem;
}
.top-2\.5{
    top: 0.625rem;
}
.top-24{
    top: 6rem;
}
.top-4{
    top: 1rem;
}
.top-5{
    top: 1.25rem;
}
.top-9{
    top: 2.25rem;
}
.top-\[35\%\]{
    top: 35%;
}
.top-\[43\%\]{
    top: 43%;
}
.top-\[65\%\]{
    top: 65%;
}
.top-\[calc\(100\%_\+_0\.65rem\)\]{
    top: calc(100% + 0.65rem);
}
.top-auto{
    top: auto;
}
.top-full{
    top: 100%;
}
.isolate{
    isolation: isolate;
}
.-z-1{
    z-index: -1;
}
.-z-10{
    z-index: -10;
}
.z-0{
    z-index: 0;
}
.z-1{
    z-index: 1;
}
.z-10{
    z-index: 10;
}
.z-2{
    z-index: 2;
}
.z-20{
    z-index: 20;
}
.z-30{
    z-index: 30;
}
.z-50{
    z-index: 50;
}
.z-\[1000\]{
    z-index: 1000;
}
.z-\[1\]{
    z-index: 1;
}
.z-\[2\]{
    z-index: 2;
}
.z-\[3\]{
    z-index: 3;
}
.z-\[9999\]{
    z-index: 9999;
}
.z-\[999\]{
    z-index: 999;
}
.order-1{
    order: 1;
}
.order-2{
    order: 2;
}
.order-3{
    order: 3;
}
.order-4{
    order: 4;
}
.order-5{
    order: 5;
}
.col-span-2{
    grid-column: span 2 / span 2;
}
.col-span-full{
    grid-column: 1 / -1;
}
.row-span-2{
    grid-row: span 2 / span 2;
}
.float-left{
    float: left;
}
.m-0{
    margin: 0px;
}
.m-8{
    margin: 2rem;
}
.m-auto{
    margin: auto;
}
.\!mx-0{
    margin-left: 0px !important;
    margin-right: 0px !important;
}
.-mx-2\.5{
    margin-left: -0.625rem;
    margin-right: -0.625rem;
}
.-mx-\[5px\]{
    margin-left: -5px;
    margin-right: -5px;
}
.mx-0{
    margin-left: 0px;
    margin-right: 0px;
}
.mx-1{
    margin-left: 0.25rem;
    margin-right: 0.25rem;
}
.mx-1\.5{
    margin-left: 0.375rem;
    margin-right: 0.375rem;
}
.mx-2{
    margin-left: 0.5rem;
    margin-right: 0.5rem;
}
.mx-3{
    margin-left: 0.75rem;
    margin-right: 0.75rem;
}
.mx-6{
    margin-left: 1.5rem;
    margin-right: 1.5rem;
}
.mx-\[5px\]{
    margin-left: 5px;
    margin-right: 5px;
}
.mx-auto{
    margin-left: auto;
    margin-right: auto;
}
.my-2\.5{
    margin-top: 0.625rem;
    margin-bottom: 0.625rem;
}
.my-4{
    margin-top: 1rem;
    margin-bottom: 1rem;
}
.my-6{
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
}
.my-\[1\.15rem\]{
    margin-top: 1.15rem;
    margin-bottom: 1.15rem;
}
.my-auto{
    margin-top: auto;
    margin-bottom: auto;
}
.\!mb-2\.5{
    margin-bottom: 0.625rem !important;
}
.\!mt-0{
    margin-top: 0px !important;
}
.-mb-52{
    margin-bottom: -13rem;
}
.-mt-16{
    margin-top: -4rem;
}
.-mt-28{
    margin-top: -7rem;
}
.-mt-62{
    margin-top: -248px;
}
.mb-0{
    margin-bottom: 0px;
}
.mb-0\.5{
    margin-bottom: 0.125rem;
}
.mb-1{
    margin-bottom: 0.25rem;
}
.mb-1\.5{
    margin-bottom: 0.375rem;
}
.mb-10{
    margin-bottom: 2.5rem;
}
.mb-12{
    margin-bottom: 3rem;
}
.mb-14{
    margin-bottom: 3.5rem;
}
.mb-16{
    margin-bottom: 4rem;
}
.mb-2{
    margin-bottom: 0.5rem;
}
.mb-2\.5{
    margin-bottom: 0.625rem;
}
.mb-20{
    margin-bottom: 5rem;
}
.mb-28{
    margin-bottom: 7rem;
}
.mb-3{
    margin-bottom: 0.75rem;
}
.mb-3\.5{
    margin-bottom: 0.875rem;
}
.mb-4{
    margin-bottom: 1rem;
}
.mb-5{
    margin-bottom: 1.25rem;
}
.mb-6{
    margin-bottom: 1.5rem;
}
.mb-8{
    margin-bottom: 2rem;
}
.mb-\[0\.6rem\]{
    margin-bottom: 0.6rem;
}
.mb-\[1\.15rem\]{
    margin-bottom: 1.15rem;
}
.mb-\[3px\]{
    margin-bottom: 3px;
}
.me-2\.5{
    margin-right: 0.625rem;
}
.ml-10{
    margin-left: 2.5rem;
}
.ml-4{
    margin-left: 1rem;
}
.mr-1{
    margin-right: 0.25rem;
}
.mr-2{
    margin-right: 0.5rem;
}
.mr-\[9px\]{
    margin-right: 9px;
}
.ms-auto{
    margin-left: auto;
}
.mt-0{
    margin-top: 0px;
}
.mt-1{
    margin-top: 0.25rem;
}
.mt-10{
    margin-top: 2.5rem;
}
.mt-12{
    margin-top: 3rem;
}
.mt-16{
    margin-top: 4rem;
}
.mt-2{
    margin-top: 0.5rem;
}
.mt-2\.5{
    margin-top: 0.625rem;
}
.mt-20{
    margin-top: 5rem;
}
.mt-3{
    margin-top: 0.75rem;
}
.mt-3\.5{
    margin-top: 0.875rem;
}
.mt-4{
    margin-top: 1rem;
}
.mt-5{
    margin-top: 1.25rem;
}
.mt-6{
    margin-top: 1.5rem;
}
.mt-8{
    margin-top: 2rem;
}
.mt-9{
    margin-top: 2.25rem;
}
.mt-\[0\.35rem\]{
    margin-top: 0.35rem;
}
.mt-\[1\.15rem\]{
    margin-top: 1.15rem;
}
.mt-auto{
    margin-top: auto;
}
.line-clamp-1{
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
}
.line-clamp-2{
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.block{
    display: block;
}
.inline-block{
    display: inline-block;
}
.inline{
    display: inline;
}
.flex{
    display: flex;
}
.inline-flex{
    display: inline-flex;
}
.table{
    display: table;
}
.flow-root{
    display: flow-root;
}
.grid{
    display: grid;
}
.contents{
    display: contents;
}
.\!hidden{
    display: none !important;
}
.hidden{
    display: none;
}
.aspect-\[3\/2\]{
    aspect-ratio: 3/2;
}
.aspect-\[4\/3\]{
    aspect-ratio: 4/3;
}
.aspect-\[4\/5\]{
    aspect-ratio: 4/5;
}
.aspect-square{
    aspect-ratio: 1 / 1;
}
.size-2{
    width: 0.5rem;
    height: 0.5rem;
}
.\!h-36{
    height: 9rem !important;
}
.h-0{
    height: 0px;
}
.h-0\.5{
    height: 0.125rem;
}
.h-1{
    height: 0.25rem;
}
.h-1\.5{
    height: 0.375rem;
}
.h-10{
    height: 2.5rem;
}
.h-11{
    height: 2.75rem;
}
.h-12{
    height: 3rem;
}
.h-14{
    height: 3.5rem;
}
.h-16{
    height: 4rem;
}
.h-2{
    height: 0.5rem;
}
.h-2\.5{
    height: 0.625rem;
}
.h-20{
    height: 5rem;
}
.h-24{
    height: 6rem;
}
.h-3{
    height: 0.75rem;
}
.h-3\.5{
    height: 0.875rem;
}
.h-32{
    height: 8rem;
}
.h-36{
    height: 9rem;
}
.h-4{
    height: 1rem;
}
.h-40{
    height: 10rem;
}
.h-44{
    height: 11rem;
}
.h-5{
    height: 1.25rem;
}
.h-52{
    height: 13rem;
}
.h-58{
    height: 232px;
}
.h-6{
    height: 1.5rem;
}
.h-62{
    height: 248px;
}
.h-7{
    height: 1.75rem;
}
.h-8{
    height: 2rem;
}
.h-80{
    height: 20rem;
}
.h-9{
    height: 2.25rem;
}
.h-96{
    height: 24rem;
}
.h-\[0\.8rem\]{
    height: 0.8rem;
}
.h-\[1\.125rem\]{
    height: 1.125rem;
}
.h-\[1\.1rem\]{
    height: 1.1rem;
}
.h-\[18px\]{
    height: 18px;
}
.h-\[1px\]{
    height: 1px;
}
.h-\[2\.6rem\]{
    height: 2.6rem;
}
.h-\[200px\]{
    height: 200px;
}
.h-\[300px\]{
    height: 300px;
}
.h-\[34\%\]{
    height: 34%;
}
.h-\[34px\]{
    height: 34px;
}
.h-\[40px\]{
    height: 40px;
}
.h-\[42\%\]{
    height: 42%;
}
.h-\[51px\]{
    height: 51px;
}
.h-\[52\%\]{
    height: 52%;
}
.h-\[7\.5rem\]{
    height: 7.5rem;
}
.h-\[72px\]{
    height: 72px;
}
.h-\[88px\]{
    height: 88px;
}
.h-\[calc\(var\(--universe-radius-y-mobile\)\*var\(--universe-ring-scale\)\*2\%\)\]{
    height: calc(var(--universe-radius-y-mobile) * var(--universe-ring-scale) * 2%);
}
.h-\[var\(--universe-stage-height-mobile\)\]{
    height: var(--universe-stage-height-mobile);
}
.h-auto{
    height: auto;
}
.h-banner{
    height: 200px;
}
.h-full{
    height: 100%;
}
.h-lg-banner{
    height: 428px;
}
.h-px{
    height: 1px;
}
.h-screen{
    height: 100vh;
}
.max-h-0{
    max-height: 0px;
}
.max-h-8{
    max-height: 2rem;
}
.max-h-\[1000px\]{
    max-height: 1000px;
}
.max-h-\[300px\]{
    max-height: 300px;
}
.max-h-\[46vh\]{
    max-height: 46vh;
}
.max-h-\[480px\]{
    max-height: 480px;
}
.max-h-full{
    max-height: 100%;
}
.min-h-7{
    min-height: 1.75rem;
}
.min-h-\[11\.875rem\]{
    min-height: 11.875rem;
}
.min-h-\[2\.5rem\]{
    min-height: 2.5rem;
}
.min-h-\[28px\]{
    min-height: 28px;
}
.min-h-\[300px\]{
    min-height: 300px;
}
.min-h-\[320px\]{
    min-height: 320px;
}
.min-h-\[34px\]{
    min-height: 34px;
}
.min-h-\[380px\]{
    min-height: 380px;
}
.min-h-\[68px\]{
    min-height: 68px;
}
.min-h-full{
    min-height: 100%;
}
.\!w-36{
    width: 9rem !important;
}
.\!w-\[160px\]{
    width: 160px !important;
}
.w-0{
    width: 0px;
}
.w-1{
    width: 0.25rem;
}
.w-1\.5{
    width: 0.375rem;
}
.w-1\/2{
    width: 50%;
}
.w-1\/4{
    width: 25%;
}
.w-10{
    width: 2.5rem;
}
.w-11{
    width: 2.75rem;
}
.w-12{
    width: 3rem;
}
.w-14{
    width: 3.5rem;
}
.w-16{
    width: 4rem;
}
.w-18{
    width: 4.5rem;
}
.w-2{
    width: 0.5rem;
}
.w-2\.5{
    width: 0.625rem;
}
.w-20{
    width: 5rem;
}
.w-3{
    width: 0.75rem;
}
.w-3\.5{
    width: 0.875rem;
}
.w-3\/5{
    width: 60%;
}
.w-32{
    width: 8rem;
}
.w-4{
    width: 1rem;
}
.w-4\/6{
    width: 66.666667%;
}
.w-40{
    width: 10rem;
}
.w-5{
    width: 1.25rem;
}
.w-56{
    width: 14rem;
}
.w-6{
    width: 1.5rem;
}
.w-7{
    width: 1.75rem;
}
.w-8{
    width: 2rem;
}
.w-80{
    width: 20rem;
}
.w-9{
    width: 2.25rem;
}
.w-\[1\.125rem\]{
    width: 1.125rem;
}
.w-\[172\%\]{
    width: 172%;
}
.w-\[18px\]{
    width: 18px;
}
.w-\[20\%\]{
    width: 20%;
}
.w-\[34\%\]{
    width: 34%;
}
.w-\[3px\]{
    width: 3px;
}
.w-\[400px\]{
    width: 400px;
}
.w-\[42\%\]{
    width: 42%;
}
.w-\[46\%\]{
    width: 46%;
}
.w-\[51px\]{
    width: 51px;
}
.w-\[60\%\]{
    width: 60%;
}
.w-\[62\%\]{
    width: 62%;
}
.w-\[7\.5rem\]{
    width: 7.5rem;
}
.w-\[72px\]{
    width: 72px;
}
.w-\[80\%\]{
    width: 80%;
}
.w-\[85\%\]{
    width: 85%;
}
.w-\[88px\]{
    width: 88px;
}
.w-\[90\%\]{
    width: 90%;
}
.w-\[95\%\]{
    width: 95%;
}
.w-\[calc\(var\(--universe-radius-x-mobile\)\*var\(--universe-ring-scale\)\*2\%\)\]{
    width: calc(var(--universe-radius-x-mobile) * var(--universe-ring-scale) * 2%);
}
.w-\[clamp\(44px\2c 30\%\2c 72px\)\]{
    width: max(44px, min(30%, 72px));
}
.w-auto{
    width: auto;
}
.w-full{
    width: 100%;
}
.w-max{
    width: -moz-max-content;
    width: max-content;
}
.w-px{
    width: 1px;
}
.w-screen{
    width: 100vw;
}
.min-w-0{
    min-width: 0px;
}
.min-w-6{
    min-width: 1.5rem;
}
.min-w-\[20px\]{
    min-width: 20px;
}
.min-w-full{
    min-width: 100%;
}
.max-w-16{
    max-width: 4rem;
}
.max-w-2xl{
    max-width: 42rem;
}
.max-w-3xl{
    max-width: 48rem;
}
.max-w-5xl{
    max-width: 64rem;
}
.max-w-\[16ch\]{
    max-width: 16ch;
}
.max-w-\[250px\]{
    max-width: 250px;
}
.max-w-\[34ch\]{
    max-width: 34ch;
}
.max-w-\[38ch\]{
    max-width: 38ch;
}
.max-w-\[4\.5rem\]{
    max-width: 4.5rem;
}
.max-w-\[46ch\]{
    max-width: 46ch;
}
.max-w-\[52ch\]{
    max-width: 52ch;
}
.max-w-\[820px\]{
    max-width: 820px;
}
.max-w-\[88\%\]{
    max-width: 88%;
}
.max-w-\[95\%\]{
    max-width: 95%;
}
.max-w-\[calc\(100\%-60px\)\]{
    max-width: calc(100% - 60px);
}
.max-w-\[min\(96px\2c 22vw\)\]{
    max-width: min(96px, 22vw);
}
.max-w-\[unset\]{
    max-width: none;
    max-width: initial;
}
.max-w-full{
    max-width: 100%;
}
.max-w-lg{
    max-width: 32rem;
}
.max-w-none{
    max-width: none;
}
.max-w-sm{
    max-width: 24rem;
}
.max-w-xl{
    max-width: 36rem;
}
.max-w-xs{
    max-width: 20rem;
}
.flex-1{
    flex: 1 1 0%;
}
.flex-none{
    flex: none;
}
.flex-shrink{
    flex-shrink: 1;
}
.flex-shrink-0{
    flex-shrink: 0;
}
.shrink{
    flex-shrink: 1;
}
.shrink-0{
    flex-shrink: 0;
}
.flex-grow{
    flex-grow: 1;
}
.grow{
    flex-grow: 1;
}
.grow-0{
    flex-grow: 0;
}
.basis-0{
    flex-basis: 0px;
}
.basis-40{
    flex-basis: 10rem;
}
.table-fixed{
    table-layout: fixed;
}
.border-collapse{
    border-collapse: collapse;
}
.origin-center{
    transform-origin: center;
}
.origin-top-right{
    transform-origin: top right;
}
.-translate-x-1\/2{
    --tw-translate-x: -50%;
    transform: translate(-50%, var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-y-0{
    --tw-translate-y: -0px;
    transform: translate(var(--tw-translate-x), -0px) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-y-1\/2{
    --tw-translate-y: -50%;
    transform: translate(var(--tw-translate-x), -50%) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-y-3{
    --tw-translate-y: -0.75rem;
    transform: translate(var(--tw-translate-x), -0.75rem) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-y-4{
    --tw-translate-y: -1rem;
    transform: translate(var(--tw-translate-x), -1rem) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-y-full{
    --tw-translate-y: -100%;
    transform: translate(var(--tw-translate-x), -100%) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-x-0{
    --tw-translate-x: 0px;
    transform: translate(0px, var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-x-10{
    --tw-translate-x: 2.5rem;
    transform: translate(2.5rem, var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-0{
    --tw-translate-y: 0px;
    transform: translate(var(--tw-translate-x), 0px) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-1{
    --tw-translate-y: 0.25rem;
    transform: translate(var(--tw-translate-x), 0.25rem) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-1\/2{
    --tw-translate-y: 50%;
    transform: translate(var(--tw-translate-x), 50%) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-10{
    --tw-translate-y: 2.5rem;
    transform: translate(var(--tw-translate-x), 2.5rem) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-100{
    --tw-translate-y: 28rem;
    transform: translate(var(--tw-translate-x), 28rem) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-3{
    --tw-translate-y: 0.75rem;
    transform: translate(var(--tw-translate-x), 0.75rem) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-4{
    --tw-translate-y: 1rem;
    transform: translate(var(--tw-translate-x), 1rem) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-5{
    --tw-translate-y: 1.25rem;
    transform: translate(var(--tw-translate-x), 1.25rem) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-\[10px\]{
    --tw-translate-y: 10px;
    transform: translate(var(--tw-translate-x), 10px) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.rotate-\[-22deg\]{
    --tw-rotate: -22deg;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(-22deg) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.rotate-\[var\(--universe-ring-rotation\)\]{
    --tw-rotate: var(--universe-ring-rotation);
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.scale-50{
    --tw-scale-x: .5;
    --tw-scale-y: .5;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(.5) scaleY(.5);
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.scale-75{
    --tw-scale-x: .75;
    --tw-scale-y: .75;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(.75) scaleY(.75);
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.scale-\[\.6\]{
    --tw-scale-x: .6;
    --tw-scale-y: .6;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(.6) scaleY(.6);
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.scale-x-0{
    --tw-scale-x: 0;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(0) scaleY(var(--tw-scale-y));
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.scale-y-90{
    --tw-scale-y: .9;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(.9);
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.transform{
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.transform-none{
    transform: none;
}
@keyframes float{
    0%, 100%{
        transform: translateY(0) rotate(-1.5deg);
    }
    50%{
        transform: translateY(-18px) rotate(1.5deg);
    }
}
.animate-float{
    animation: float 3.2s ease-in-out infinite;
}
.cursor-not-allowed{
    cursor: not-allowed;
}
.cursor-pointer{
    cursor: pointer;
}
.select-none{
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
}
.resize{
    resize: both;
}
.list-none{
    list-style-type: none;
}
.appearance-none{
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
}
.grid-flow-row{
    grid-auto-flow: row;
}
.grid-cols-1{
    grid-template-columns: repeat(1, minmax(0, 1fr));
}
.grid-cols-2{
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.grid-cols-3{
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.grid-cols-\[42\%_58\%\]{
    grid-template-columns: 42% 58%;
}
.grid-cols-\[repeat\(2\2c minmax\(0\2c 1fr\)\)\]{
    grid-template-columns: repeat(2,minmax(0,1fr));
}
.flex-row{
    flex-direction: row;
}
.flex-col{
    flex-direction: column;
}
.flex-col-reverse{
    flex-direction: column-reverse;
}
.flex-wrap{
    flex-wrap: wrap;
}
.flex-nowrap{
    flex-wrap: nowrap;
}
.place-items-center{
    align-items: center;
    justify-items: center;
    place-items: center;
}
.items-start{
    align-items: flex-start;
}
.items-end{
    align-items: flex-end;
}
.items-center{
    align-items: center;
}
.items-baseline{
    align-items: baseline;
}
.items-stretch{
    align-items: stretch;
}
.justify-start{
    justify-content: flex-start;
}
.justify-end{
    justify-content: flex-end;
}
.justify-center{
    justify-content: center;
}
.justify-between{
    justify-content: space-between;
}
.justify-around{
    justify-content: space-around;
}
.gap-0\.5{
    gap: 0.125rem;
}
.gap-1{
    gap: 0.25rem;
}
.gap-1\.5{
    gap: 0.375rem;
}
.gap-2{
    gap: 0.5rem;
}
.gap-2\.5{
    gap: 0.625rem;
}
.gap-3{
    gap: 0.75rem;
}
.gap-3\.5{
    gap: 0.875rem;
}
.gap-4{
    gap: 1rem;
}
.gap-5{
    gap: 1.25rem;
}
.gap-6{
    gap: 1.5rem;
}
.gap-8{
    gap: 2rem;
}
.gap-\[0\.4rem\]{
    gap: 0.4rem;
}
.gap-\[0\.6rem\]{
    gap: 0.6rem;
}
.gap-\[0\.85rem\]{
    gap: 0.85rem;
}
.gap-px{
    gap: 1px;
}
.gap-x-1{
    -moz-column-gap: 0.25rem;
         column-gap: 0.25rem;
}
.gap-x-2{
    -moz-column-gap: 0.5rem;
         column-gap: 0.5rem;
}
.gap-x-3{
    -moz-column-gap: 0.75rem;
         column-gap: 0.75rem;
}
.gap-x-\[2px\]{
    -moz-column-gap: 2px;
         column-gap: 2px;
}
.gap-y-1{
    row-gap: 0.25rem;
}
.gap-y-2{
    row-gap: 0.5rem;
}
.gap-y-3{
    row-gap: 0.75rem;
}
.gap-y-5{
    row-gap: 1.25rem;
}
.space-x-1 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(0.25rem * 0);
    margin-right: calc(0.25rem * var(--tw-space-x-reverse));
    margin-left: calc(0.25rem * (1 - 0));
    margin-left: calc(0.25rem * (1 - var(--tw-space-x-reverse)));
    margin-left: calc(0.25rem * calc(1 - 0));
    margin-left: calc(0.25rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-x-1\.5 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(0.375rem * 0);
    margin-right: calc(0.375rem * var(--tw-space-x-reverse));
    margin-left: calc(0.375rem * (1 - 0));
    margin-left: calc(0.375rem * (1 - var(--tw-space-x-reverse)));
    margin-left: calc(0.375rem * calc(1 - 0));
    margin-left: calc(0.375rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-x-2 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(0.5rem * 0);
    margin-right: calc(0.5rem * var(--tw-space-x-reverse));
    margin-left: calc(0.5rem * (1 - 0));
    margin-left: calc(0.5rem * (1 - var(--tw-space-x-reverse)));
    margin-left: calc(0.5rem * calc(1 - 0));
    margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-x-2\.5 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(0.625rem * 0);
    margin-right: calc(0.625rem * var(--tw-space-x-reverse));
    margin-left: calc(0.625rem * (1 - 0));
    margin-left: calc(0.625rem * (1 - var(--tw-space-x-reverse)));
    margin-left: calc(0.625rem * calc(1 - 0));
    margin-left: calc(0.625rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-x-3 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(0.75rem * 0);
    margin-right: calc(0.75rem * var(--tw-space-x-reverse));
    margin-left: calc(0.75rem * (1 - 0));
    margin-left: calc(0.75rem * (1 - var(--tw-space-x-reverse)));
    margin-left: calc(0.75rem * calc(1 - 0));
    margin-left: calc(0.75rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-x-4 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(1rem * 0);
    margin-right: calc(1rem * var(--tw-space-x-reverse));
    margin-left: calc(1rem * (1 - 0));
    margin-left: calc(1rem * (1 - var(--tw-space-x-reverse)));
    margin-left: calc(1rem * calc(1 - 0));
    margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-x-5 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(1.25rem * 0);
    margin-right: calc(1.25rem * var(--tw-space-x-reverse));
    margin-left: calc(1.25rem * (1 - 0));
    margin-left: calc(1.25rem * (1 - var(--tw-space-x-reverse)));
    margin-left: calc(1.25rem * calc(1 - 0));
    margin-left: calc(1.25rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-x-6 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(1.5rem * 0);
    margin-right: calc(1.5rem * var(--tw-space-x-reverse));
    margin-left: calc(1.5rem * (1 - 0));
    margin-left: calc(1.5rem * (1 - var(--tw-space-x-reverse)));
    margin-left: calc(1.5rem * calc(1 - 0));
    margin-left: calc(1.5rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-y-0\.5 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(0.125rem * (1 - 0));
    margin-top: calc(0.125rem * (1 - var(--tw-space-y-reverse)));
    margin-top: calc(0.125rem * calc(1 - 0));
    margin-top: calc(0.125rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.125rem * 0);
    margin-bottom: calc(0.125rem * var(--tw-space-y-reverse));
}
.space-y-4 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(1rem * (1 - 0));
    margin-top: calc(1rem * (1 - var(--tw-space-y-reverse)));
    margin-top: calc(1rem * calc(1 - 0));
    margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1rem * 0);
    margin-bottom: calc(1rem * var(--tw-space-y-reverse));
}
.space-y-5 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(1.25rem * (1 - 0));
    margin-top: calc(1.25rem * (1 - var(--tw-space-y-reverse)));
    margin-top: calc(1.25rem * calc(1 - 0));
    margin-top: calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1.25rem * 0);
    margin-bottom: calc(1.25rem * var(--tw-space-y-reverse));
}
.space-y-8 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(2rem * (1 - 0));
    margin-top: calc(2rem * (1 - var(--tw-space-y-reverse)));
    margin-top: calc(2rem * calc(1 - 0));
    margin-top: calc(2rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(2rem * 0);
    margin-bottom: calc(2rem * var(--tw-space-y-reverse));
}
.space-y-px > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(1px * (1 - 0));
    margin-top: calc(1px * (1 - var(--tw-space-y-reverse)));
    margin-top: calc(1px * calc(1 - 0));
    margin-top: calc(1px * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1px * 0);
    margin-bottom: calc(1px * var(--tw-space-y-reverse));
}
.divide-x > :not([hidden]) ~ :not([hidden]){
    --tw-divide-x-reverse: 0;
    border-right-width: calc(1px * 0);
    border-right-width: calc(1px * var(--tw-divide-x-reverse));
    border-left-width: calc(1px * (1 - 0));
    border-left-width: calc(1px * (1 - var(--tw-divide-x-reverse)));
    border-left-width: calc(1px * calc(1 - 0));
    border-left-width: calc(1px * calc(1 - var(--tw-divide-x-reverse)));
}
.divide-y > :not([hidden]) ~ :not([hidden]){
    --tw-divide-y-reverse: 0;
    border-top-width: calc(1px * (1 - 0));
    border-top-width: calc(1px * (1 - var(--tw-divide-y-reverse)));
    border-top-width: calc(1px * calc(1 - 0));
    border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
    border-bottom-width: calc(1px * 0);
    border-bottom-width: calc(1px * var(--tw-divide-y-reverse));
}
.divide-gray-200 > :not([hidden]) ~ :not([hidden]){
    --tw-divide-opacity: 1;
    border-color: rgba(229, 231, 235, 1);
    border-color: rgba(229, 231, 235, var(--tw-divide-opacity, 1));
}
.self-start{
    align-self: flex-start;
}
.self-end{
    align-self: flex-end;
}
.self-center{
    align-self: center;
}
.overflow-hidden{
    overflow: hidden;
}
.overflow-x-auto{
    overflow-x: auto;
}
.overflow-y-auto{
    overflow-y: auto;
}
.overflow-x-hidden{
    overflow-x: hidden;
}
.overflow-y-hidden{
    overflow-y: hidden;
}
.truncate{
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.text-ellipsis{
    text-overflow: ellipsis;
}
.whitespace-normal{
    white-space: normal;
}
.whitespace-nowrap{
    white-space: nowrap;
}
.text-wrap{
    text-wrap: wrap;
}
.break-words{
    word-wrap: break-word;
}
.break-all{
    word-break: break-all;
}
.\!rounded-3xl{
    border-radius: 1.5rem !important;
}
.rounded{
    border-radius: .75rem;
}
.rounded-2xl{
    border-radius: 1rem;
}
.rounded-3xl{
    border-radius: 1.5rem;
}
.rounded-\[10px\]{
    border-radius: 10px;
}
.rounded-\[50\%\]{
    border-radius: 50%;
}
.rounded-\[calc\(var\(--border-radius-card\)\*0\.55\)\]{
    border-radius: calc(var(--border-radius-card) * 0.55);
}
.rounded-\[calc\(var\(--border-radius-card\)\*0\.75\)\]{
    border-radius: calc(var(--border-radius-card) * 0.75);
}
.rounded-\[calc\(var\(--border-radius-card\2c 1rem\)\*0\.75\)\]{
    border-radius: calc(1rem * 0.75);
    border-radius: calc(var(--border-radius-card,1rem) * 0.75);
}
.rounded-\[var\(--border-radius-card\2c 1rem\)\]{
    border-radius: 1rem;
    border-radius: var(--border-radius-card,1rem);
}
.rounded-\[var\(--f-row-radius\)\]{
    border-radius: var(--f-row-radius);
}
.rounded-\[var\(--product-card-radius\)\]{
    border-radius: var(--product-card-radius);
}
.rounded-button{
    border-radius: var(--border-radius-button);
}
.rounded-card{
    border-radius: var(--border-radius-card);
}
.rounded-full{
    border-radius: 9999px;
}
.rounded-large{
    border-radius: 22px;
}
.rounded-lg{
    border-radius: 0.5rem;
}
.rounded-md{
    border-radius: 0.375rem;
}
.rounded-none{
    border-radius: 0px;
}
.rounded-sm{
    border-radius: 0.125rem;
}
.rounded-xl{
    border-radius: 0.75rem;
}
.rounded-b-md{
    border-bottom-right-radius: 0.375rem;
    border-bottom-left-radius: 0.375rem;
}
.rounded-b-none{
    border-bottom-right-radius: 0px;
    border-bottom-left-radius: 0px;
}
.rounded-l-md{
    border-top-left-radius: 0.375rem;
    border-bottom-left-radius: 0.375rem;
}
.rounded-r{
    border-top-right-radius: .75rem;
    border-bottom-right-radius: .75rem;
}
.rounded-t-lg{
    border-top-left-radius: 0.5rem;
    border-top-right-radius: 0.5rem;
}
.rounded-t-md{
    border-top-left-radius: 0.375rem;
    border-top-right-radius: 0.375rem;
}
.rounded-t-none{
    border-top-left-radius: 0px;
    border-top-right-radius: 0px;
}
.border{
    border-width: 1px;
}
.border-0{
    border-width: 0px;
}
.border-2{
    border-width: 2px;
}
.border-\[1\.5px\]{
    border-width: 1.5px;
}
.border-\[1px\]{
    border-width: 1px;
}
.border-b{
    border-bottom-width: 1px;
}
.border-b-2{
    border-bottom-width: 2px;
}
.border-l{
    border-left-width: 1px;
}
.border-t{
    border-top-width: 1px;
}
.border-dashed{
    border-style: dashed;
}
.border-none{
    border-style: none;
}
.border-\[\#00AF6C\]{
    --tw-border-opacity: 1;
    border-color: rgba(0, 175, 108, 1);
    border-color: rgba(0, 175, 108, var(--tw-border-opacity, 1));
}
.border-\[color\:var\(--loc-icon\)\]{
    border-color: var(--loc-icon);
}
.border-\[color\:var\(--loc-line\)\]{
    border-color: var(--loc-line);
}
.border-\[var\(--store-border-color\)\]{
    border-color: var(--store-border-color);
}
.border-\[var\(--universe-accent\)\]{
    border-color: var(--universe-accent);
}
.border-\[var\(--universe-ring-color\)\]{
    border-color: var(--universe-ring-color);
}
.border-blue-200{
    --tw-border-opacity: 1;
    border-color: rgba(191, 219, 254, 1);
    border-color: rgba(191, 219, 254, var(--tw-border-opacity, 1));
}
.border-current{
    border-color: currentColor;
}
.border-gray-100{
    --tw-border-opacity: 1;
    border-color: rgba(243, 244, 246, 1);
    border-color: rgba(243, 244, 246, var(--tw-border-opacity, 1));
}
.border-gray-200{
    --tw-border-opacity: 1;
    border-color: rgba(229, 231, 235, 1);
    border-color: rgba(229, 231, 235, var(--tw-border-opacity, 1));
}
.border-gray-300{
    --tw-border-opacity: 1;
    border-color: rgba(209, 213, 219, 1);
    border-color: rgba(209, 213, 219, var(--tw-border-opacity, 1));
}
.border-gray-400{
    --tw-border-opacity: 1;
    border-color: rgba(156, 163, 175, 1);
    border-color: rgba(156, 163, 175, var(--tw-border-opacity, 1));
}
.border-green-300{
    --tw-border-opacity: 1;
    border-color: rgba(134, 239, 172, 1);
    border-color: rgba(134, 239, 172, var(--tw-border-opacity, 1));
}
.border-green-500{
    --tw-border-opacity: 1;
    border-color: rgba(34, 197, 94, 1);
    border-color: rgba(34, 197, 94, var(--tw-border-opacity, 1));
}
.border-primary{
    border-color: #414042;
    border-color: var(--color-primary);
}
.border-red-400{
    --tw-border-opacity: 1;
    border-color: rgba(248, 113, 113, 1);
    border-color: rgba(248, 113, 113, var(--tw-border-opacity, 1));
}
.border-store-border{
    border-color: var(--store-border-color);
}
.border-transparent{
    border-color: transparent;
}
.border-white{
    --tw-border-opacity: 1;
    border-color: rgba(255, 255, 255, 1);
    border-color: rgba(255, 255, 255, var(--tw-border-opacity, 1));
}
.\!bg-white{
    --tw-bg-opacity: 1 !important;
    background-color: rgba(255, 255, 255, 1) !important;
    background-color: rgba(255, 255, 255, var(--tw-bg-opacity, 1)) !important;
}
.bg-\[\#f5f7f9\]{
    --tw-bg-opacity: 1;
    background-color: rgba(245, 247, 249, 1);
    background-color: rgba(245, 247, 249, var(--tw-bg-opacity, 1));
}
.bg-\[color-mix\(in_srgb\2c var\(--color-primary\2c \#8B5CF6\)_55\%\2c rgba\(0\2c 0\2c 0\2c 0\.72\)\)\]{
    background-color: rgba(41, 40, 42, 0.874);
}

@supports (color: color-mix(in lch, red, blue)){
.bg-\[color-mix\(in_srgb\2c var\(--color-primary\2c \#8B5CF6\)_55\%\2c rgba\(0\2c 0\2c 0\2c 0\.72\)\)\]{
        background-color: color-mix(in srgb,var(--color-primary,#8B5CF6) 55%,rgba(0,0,0,0.72));
    }
}
.bg-\[color-mix\(in_srgb\2c var\(--store-text-primary\2c \#fff\)_6\%\2c transparent\)\]{
    background-color: rgba(255, 255, 255, 0.06);
}

@supports (color: color-mix(in lch, red, blue)){
.bg-\[color-mix\(in_srgb\2c var\(--store-text-primary\2c \#fff\)_6\%\2c transparent\)\]{
        background-color: color-mix(in srgb,var(--store-text-primary,#fff) 6%,transparent);
    }
}
.bg-\[color\:var\(--dpopup-bg\)\]{
    background-color: var(--dpopup-bg);
}
.bg-\[color\:var\(--dpopup-btn-bg\)\]{
    background-color: var(--dpopup-btn-bg);
}
.bg-\[color\:var\(--loc-card-bg\)\]{
    background-color: var(--loc-card-bg);
}
.bg-\[color\:var\(--loc-icon\)\]{
    background-color: var(--loc-icon);
}
.bg-\[color\:var\(--loc-soft\)\]{
    background-color: var(--loc-soft);
}
.bg-\[color\:var\(--mainnav-bg\)\]{
    background-color: var(--mainnav-bg);
}
.bg-\[var\(--bp-card-bg\)\]{
    background-color: var(--bp-card-bg);
}
.bg-\[var\(--bt-card-bg\)\]{
    background-color: var(--bt-card-bg);
}
.bg-\[var\(--bt-qa-bg\)\]{
    background-color: var(--bt-qa-bg);
}
.bg-\[var\(--cc-card-bg\)\]{
    background-color: var(--cc-card-bg);
}
.bg-\[var\(--subs-btn-bg\)\]{
    background-color: var(--subs-btn-bg);
}
.bg-black{
    --tw-bg-opacity: 1;
    background-color: rgba(0, 0, 0, 1);
    background-color: rgba(0, 0, 0, var(--tw-bg-opacity, 1));
}
.bg-black\/40{
    background-color: rgba(0, 0, 0, 0.4);
}
.bg-black\/60{
    background-color: rgba(0, 0, 0, 0.6);
}
.bg-black\/70{
    background-color: rgba(0, 0, 0, 0.7);
}
.bg-blue-50{
    --tw-bg-opacity: 1;
    background-color: rgba(239, 246, 255, 1);
    background-color: rgba(239, 246, 255, var(--tw-bg-opacity, 1));
}
.bg-current{
    background-color: currentColor;
}
.bg-danger{
    --tw-bg-opacity: 1;
    background-color: rgba(174, 10, 10, 1);
    background-color: rgba(174, 10, 10, var(--tw-bg-opacity, 1));
}
.bg-dark{
    --tw-bg-opacity: 1;
    background-color: rgba(29, 31, 31, 1);
    background-color: rgba(29, 31, 31, var(--tw-bg-opacity, 1));
}
.bg-emerald-500\/10{
    background-color: rgba(16, 185, 129, 0.1);
}
.bg-gray-100{
    --tw-bg-opacity: 1;
    background-color: rgba(243, 244, 246, 1);
    background-color: rgba(243, 244, 246, var(--tw-bg-opacity, 1));
}
.bg-gray-200{
    --tw-bg-opacity: 1;
    background-color: rgba(229, 231, 235, 1);
    background-color: rgba(229, 231, 235, var(--tw-bg-opacity, 1));
}
.bg-gray-200\/30{
    background-color: rgba(229, 231, 235, 0.3);
}
.bg-gray-200\/50{
    background-color: rgba(229, 231, 235, 0.5);
}
.bg-gray-50{
    --tw-bg-opacity: 1;
    background-color: rgba(249, 250, 251, 1);
    background-color: rgba(249, 250, 251, var(--tw-bg-opacity, 1));
}
.bg-gray-800{
    --tw-bg-opacity: 1;
    background-color: rgba(31, 41, 55, 1);
    background-color: rgba(31, 41, 55, var(--tw-bg-opacity, 1));
}
.bg-green-100{
    --tw-bg-opacity: 1;
    background-color: rgba(220, 252, 231, 1);
    background-color: rgba(220, 252, 231, var(--tw-bg-opacity, 1));
}
.bg-green-50{
    --tw-bg-opacity: 1;
    background-color: rgba(240, 253, 244, 1);
    background-color: rgba(240, 253, 244, var(--tw-bg-opacity, 1));
}
.bg-primary{
    background-color: #414042;
    background-color: var(--color-primary);
}
.bg-primary-dark{
    background-color: var(--color-primary-dark);
}
.bg-red-400{
    --tw-bg-opacity: 1;
    background-color: rgba(248, 113, 113, 1);
    background-color: rgba(248, 113, 113, var(--tw-bg-opacity, 1));
}
.bg-red-500{
    --tw-bg-opacity: 1;
    background-color: rgba(239, 68, 68, 1);
    background-color: rgba(239, 68, 68, var(--tw-bg-opacity, 1));
}
.bg-red-600{
    --tw-bg-opacity: 1;
    background-color: rgba(220, 38, 38, 1);
    background-color: rgba(220, 38, 38, var(--tw-bg-opacity, 1));
}
.bg-red-800{
    --tw-bg-opacity: 1;
    background-color: rgba(153, 27, 27, 1);
    background-color: rgba(153, 27, 27, var(--tw-bg-opacity, 1));
}
.bg-rose-500\/10{
    background-color: rgba(244, 63, 94, 0.1);
}
.bg-stone-200{
    --tw-bg-opacity: 1;
    background-color: rgba(231, 229, 228, 1);
    background-color: rgba(231, 229, 228, var(--tw-bg-opacity, 1));
}
.bg-store-bg{
    background-color: var(--store-bg);
}
.bg-transparent{
    background-color: transparent;
}
.bg-white{
    --tw-bg-opacity: 1;
    background-color: rgba(255, 255, 255, 1);
    background-color: rgba(255, 255, 255, var(--tw-bg-opacity, 1));
}
.bg-gradient-to-br{
    background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));
}
.from-gray-900{
    --tw-gradient-from: #111827 var(--tw-gradient-from-position);
    --tw-gradient-to: rgba(17, 24, 39, 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-primary{
    --tw-gradient-from: var(--color-primary) var(--tw-gradient-from-position);
    --tw-gradient-to: rgba(255, 255, 255, 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.via-gray-800{
    --tw-gradient-to: rgba(31, 41, 55, 0)  var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), #1f2937 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.to-gray-700{
    --tw-gradient-to: #374151 var(--tw-gradient-to-position);
}
.to-primary-d{
    --tw-gradient-to: var(--color-primary-dark) var(--tw-gradient-to-position);
}
.bg-contain{
    background-size: contain;
}
.bg-cover{
    background-size: cover;
}
.bg-center{
    background-position: center;
}
.bg-no-repeat{
    background-repeat: no-repeat;
}
.fill-amber-400{
    fill: #fbbf24;
}
.fill-current{
    fill: currentColor;
}
.fill-primary{
    fill: #414042;
    fill: var(--color-primary);
}
.fill-primary-reverse{
    fill: #ff6767;
    fill: var(--color-primary-reverse);
}
.object-contain{
    -o-object-fit: contain;
       object-fit: contain;
}
.object-cover{
    -o-object-fit: cover;
       object-fit: cover;
}
.object-center{
    -o-object-position: center;
       object-position: center;
}
.\!p-0{
    padding: 0px !important;
}
.p-0{
    padding: 0px;
}
.p-1{
    padding: 0.25rem;
}
.p-1\.5{
    padding: 0.375rem;
}
.p-10{
    padding: 2.5rem;
}
.p-2{
    padding: 0.5rem;
}
.p-2\.5{
    padding: 0.625rem;
}
.p-3{
    padding: 0.75rem;
}
.p-4{
    padding: 1rem;
}
.p-5{
    padding: 1.25rem;
}
.p-6{
    padding: 1.5rem;
}
.p-8{
    padding: 2rem;
}
.p-\[15px\]{
    padding: 15px;
}
.\!py-1\.5{
    padding-top: 0.375rem !important;
    padding-bottom: 0.375rem !important;
}
.\!py-3{
    padding-top: 0.75rem !important;
    padding-bottom: 0.75rem !important;
}
.px-0{
    padding-left: 0px;
    padding-right: 0px;
}
.px-1{
    padding-left: 0.25rem;
    padding-right: 0.25rem;
}
.px-1\.5{
    padding-left: 0.375rem;
    padding-right: 0.375rem;
}
.px-10{
    padding-left: 2.5rem;
    padding-right: 2.5rem;
}
.px-12{
    padding-left: 3rem;
    padding-right: 3rem;
}
.px-2{
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}
.px-2\.5{
    padding-left: 0.625rem;
    padding-right: 0.625rem;
}
.px-3{
    padding-left: 0.75rem;
    padding-right: 0.75rem;
}
.px-3\.5{
    padding-left: 0.875rem;
    padding-right: 0.875rem;
}
.px-4{
    padding-left: 1rem;
    padding-right: 1rem;
}
.px-5{
    padding-left: 1.25rem;
    padding-right: 1.25rem;
}
.px-6{
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}
.px-8{
    padding-left: 2rem;
    padding-right: 2rem;
}
.px-\[0\.45rem\]{
    padding-left: 0.45rem;
    padding-right: 0.45rem;
}
.px-\[0\.6rem\]{
    padding-left: 0.6rem;
    padding-right: 0.6rem;
}
.px-\[0\.85rem\]{
    padding-left: 0.85rem;
    padding-right: 0.85rem;
}
.px-\[10px\]{
    padding-left: 10px;
    padding-right: 10px;
}
.py-0\.5{
    padding-top: 0.125rem;
    padding-bottom: 0.125rem;
}
.py-1{
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
}
.py-1\.5{
    padding-top: 0.375rem;
    padding-bottom: 0.375rem;
}
.py-12{
    padding-top: 3rem;
    padding-bottom: 3rem;
}
.py-2{
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}
.py-2\.5{
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
}
.py-3{
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
}
.py-3\.5{
    padding-top: 0.875rem;
    padding-bottom: 0.875rem;
}
.py-4{
    padding-top: 1rem;
    padding-bottom: 1rem;
}
.py-5{
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
}
.py-8{
    padding-top: 2rem;
    padding-bottom: 2rem;
}
.py-\[0\.1rem\]{
    padding-top: 0.1rem;
    padding-bottom: 0.1rem;
}
.py-\[0\.3rem\]{
    padding-top: 0.3rem;
    padding-bottom: 0.3rem;
}
.py-\[0\.55rem\]{
    padding-top: 0.55rem;
    padding-bottom: 0.55rem;
}
.py-\[0\.7rem\]{
    padding-top: 0.7rem;
    padding-bottom: 0.7rem;
}
.py-px{
    padding-top: 1px;
    padding-bottom: 1px;
}
.\!pt-1{
    padding-top: 0.25rem !important;
}
.pb-0{
    padding-bottom: 0px;
}
.pb-1{
    padding-bottom: 0.25rem;
}
.pb-10{
    padding-bottom: 2.5rem;
}
.pb-16{
    padding-bottom: 4rem;
}
.pb-2\.5{
    padding-bottom: 0.625rem;
}
.pb-20{
    padding-bottom: 5rem;
}
.pb-3{
    padding-bottom: 0.75rem;
}
.pb-32{
    padding-bottom: 8rem;
}
.pb-4{
    padding-bottom: 1rem;
}
.pb-5{
    padding-bottom: 1.25rem;
}
.pb-6{
    padding-bottom: 1.5rem;
}
.pb-8{
    padding-bottom: 2rem;
}
.pe-9{
    padding-right: 2.25rem;
}
.pl-5{
    padding-left: 1.25rem;
}
.pr-14{
    padding-right: 3.5rem;
}
.pr-24{
    padding-right: 6rem;
}
.pt-0{
    padding-top: 0px;
}
.pt-0\.5{
    padding-top: 0.125rem;
}
.pt-1{
    padding-top: 0.25rem;
}
.pt-10{
    padding-top: 2.5rem;
}
.pt-16{
    padding-top: 4rem;
}
.pt-2{
    padding-top: 0.5rem;
}
.pt-24{
    padding-top: 6rem;
}
.pt-3{
    padding-top: 0.75rem;
}
.pt-4{
    padding-top: 1rem;
}
.pt-5{
    padding-top: 1.25rem;
}
.pt-6{
    padding-top: 1.5rem;
}
.pt-7{
    padding-top: 1.75rem;
}
.pt-8{
    padding-top: 2rem;
}
.pt-\[0\.3rem\]{
    padding-top: 0.3rem;
}
.text-center{
    text-align: center;
}
.text-right{
    text-align: right;
}
.text-start{
    text-align: left;
}
.text-end{
    text-align: right;
}
.align-middle{
    vertical-align: middle;
}
.text-2xl{
    font-size: 1.5rem;
    line-height: 2rem;
}
.text-3xl{
    font-size: 1.875rem;
    line-height: 2.25rem;
}
.text-4xl{
    font-size: 2.25rem;
    line-height: 2.5rem;
}
.text-5xl{
    font-size: 3rem;
    line-height: 1;
}
.text-6xl{
    font-size: 3.75rem;
    line-height: 1;
}
.text-7xl{
    font-size: 4.5rem;
    line-height: 1;
}
.text-\[0\.65rem\]{
    font-size: 0.65rem;
}
.text-\[0\.6875rem\]{
    font-size: 0.6875rem;
}
.text-\[0\.7rem\]{
    font-size: 0.7rem;
}
.text-\[0\.8125rem\]{
    font-size: 0.8125rem;
}
.text-\[0\.85rem\]{
    font-size: 0.85rem;
}
.text-\[0\.8rem\]{
    font-size: 0.8rem;
}
.text-\[0\.9375rem\]{
    font-size: 0.9375rem;
}
.text-\[0\.9em\]{
    font-size: 0.9em;
}
.text-\[0\.9rem\]{
    font-size: 0.9rem;
}
.text-\[1\.05em\]{
    font-size: 1.05em;
}
.text-\[1\.05rem\]{
    font-size: 1.05rem;
}
.text-\[1\.0625rem\]{
    font-size: 1.0625rem;
}
.text-\[10px\]{
    font-size: 10px;
}
.text-\[19px\]{
    font-size: 19px;
}
.text-\[400px\]{
    font-size: 400px;
}
.text-\[calc\(var\(--universe-item-height-mobile\)\*0\.34\)\]{
    font-size: calc(var(--universe-item-height-mobile) * 0.34);
}
.text-\[calc\(var\(--universe-item-height-mobile\)\*0\.42\)\]{
    font-size: calc(var(--universe-item-height-mobile) * 0.42);
}
.text-\[clamp\(1\.25rem\2c 3\.5vw\2c 2\.25rem\)\]{
    font-size: max(1.25rem, min(3.5vw, 2.25rem));
}
.text-\[clamp\(1\.5rem\2c 4\.5vw\2c 3rem\)\]{
    font-size: max(1.5rem, min(4.5vw, 3rem));
}
.text-\[clamp\(1\.6rem\2c 4vw\2c 2\.75rem\)\]{
    font-size: max(1.6rem, min(4vw, 2.75rem));
}
.text-\[clamp\(1\.75rem\2c 3\.4vw\2c 2\.75rem\)\]{
    font-size: max(1.75rem, min(3.4vw, 2.75rem));
}
.text-\[clamp\(1\.75rem\2c 4\.5vw\2c 3rem\)\]{
    font-size: max(1.75rem, min(4.5vw, 3rem));
}
.text-\[clamp\(1\.7rem\2c 5\.5vw\2c 2\.75rem\)\]{
    font-size: max(1.7rem, min(5.5vw, 2.75rem));
}
.text-\[clamp\(1\.9rem\2c 5vw\2c 4rem\)\]{
    font-size: max(1.9rem, min(5vw, 4rem));
}
.text-base{
    font-size: 1rem;
    line-height: 1.5rem;
}
.text-icon-lg{
    font-size: 33px;
}
.text-lg{
    font-size: 1.125rem;
    line-height: 1.75rem;
}
.text-sm{
    font-size: 0.875rem;
    line-height: 1.25rem;
}
.text-xl{
    font-size: 1.25rem;
    line-height: 1.75rem;
}
.text-xs{
    font-size: 0.75rem;
    line-height: 1rem;
}
.text-xxs{
    font-size: 10px;
}
.font-bold{
    font-weight: 700;
}
.font-extrabold{
    font-weight: 800;
}
.font-light{
    font-weight: 300;
}
.font-medium{
    font-weight: 500;
}
.font-normal{
    font-weight: 400;
}
.font-semibold{
    font-weight: 600;
}
.lowercase{
    text-transform: lowercase;
}
.tabular-nums{
    --tw-numeric-spacing: tabular-nums;
    font-feature-settings: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) tabular-nums var(--tw-numeric-fraction);
    font-feature-settings: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
    font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) tabular-nums var(--tw-numeric-fraction);
    font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}
.leading-12{
    line-height: 3rem;
}
.leading-4{
    line-height: 1rem;
}
.leading-5{
    line-height: 1.25rem;
}
.leading-6{
    line-height: 1.5rem;
}
.leading-7{
    line-height: 1.75rem;
}
.leading-8{
    line-height: 2rem;
}
.leading-\[1\.2\]{
    line-height: 1.2;
}
.leading-\[1\.35\]{
    line-height: 1.35;
}
.leading-\[1\.3\]{
    line-height: 1.3;
}
.leading-\[1\.45\]{
    line-height: 1.45;
}
.leading-\[1\.4\]{
    line-height: 1.4;
}
.leading-\[1\.5\]{
    line-height: 1.5;
}
.leading-\[1\.85\]{
    line-height: 1.85;
}
.leading-\[22px\]{
    line-height: 22px;
}
.leading-none{
    line-height: 1;
}
.leading-normal{
    line-height: 1.5;
}
.leading-relaxed{
    line-height: 1.625;
}
.leading-snug{
    line-height: 1.375;
}
.leading-tight{
    line-height: 1.25;
}
.tracking-wide{
    letter-spacing: 0.025em;
}
.tracking-wider{
    letter-spacing: 0.05em;
}
.\!text-primary{
    color: #414042 !important;
    color: var(--color-primary) !important;
}
.\!text-red-800{
    --tw-text-opacity: 1 !important;
    color: rgba(153, 27, 27, 1) !important;
    color: rgba(153, 27, 27, var(--tw-text-opacity, 1)) !important;
}
.text-\[\#00AF6C\]{
    --tw-text-opacity: 1;
    color: rgba(0, 175, 108, 1);
    color: rgba(0, 175, 108, var(--tw-text-opacity, 1));
}
.text-\[\#7c8082\]{
    --tw-text-opacity: 1;
    color: rgba(124, 128, 130, 1);
    color: rgba(124, 128, 130, var(--tw-text-opacity, 1));
}
.text-\[\#999999\]{
    --tw-text-opacity: 1;
    color: rgba(153, 153, 153, 1);
    color: rgba(153, 153, 153, var(--tw-text-opacity, 1));
}
.text-\[color\:var\(--color-primary-reverse\2c \#111111\)\]{
    color: #ff6767;
    color: var(--color-primary-reverse,#111111);
}
.text-\[color\:var\(--dpopup-btn-text\)\]{
    color: var(--dpopup-btn-text);
}
.text-\[color\:var\(--dpopup-hl\)\]{
    color: var(--dpopup-hl);
}
.text-\[color\:var\(--dpopup-text\)\]{
    color: var(--dpopup-text);
}
.text-\[color\:var\(--loc-faint\)\]{
    color: var(--loc-faint);
}
.text-\[color\:var\(--loc-icon\)\]{
    color: var(--loc-icon);
}
.text-\[color\:var\(--loc-muted\)\]{
    color: var(--loc-muted);
}
.text-\[color\:var\(--loc-text\)\]{
    color: var(--loc-text);
}
.text-\[color\:var\(--mainnav-text-color\)\]{
    color: var(--mainnav-text-color);
}
.text-\[var\(--cc-count-color\)\]{
    color: var(--cc-count-color);
}
.text-\[var\(--cc-icon-color\)\]{
    color: var(--cc-icon-color);
}
.text-\[var\(--cc-title-color\)\]{
    color: var(--cc-title-color);
}
.text-\[var\(--color-primary\)\]{
    color: #414042;
    color: var(--color-primary);
}
.text-\[var\(--subs-btn-text\)\]{
    color: var(--subs-btn-text);
}
.text-\[var\(--subs-offer-title\)\]{
    color: var(--subs-offer-title);
}
.text-\[var\(--subs-old-price\)\]{
    color: var(--subs-old-price);
}
.text-\[var\(--subs-price\)\]{
    color: var(--subs-price);
}
.text-\[var\(--subs-promo-text\)\]{
    color: var(--subs-promo-text);
}
.text-\[var\(--subs-sec-text\)\]{
    color: var(--subs-sec-text);
}
.text-\[var\(--subs-text\)\]{
    color: var(--subs-text);
}
.text-\[var\(--universe-label-color\)\]{
    color: var(--universe-label-color);
}
.text-amber-400{
    --tw-text-opacity: 1;
    color: rgba(251, 191, 36, 1);
    color: rgba(251, 191, 36, var(--tw-text-opacity, 1));
}
.text-blue-500{
    --tw-text-opacity: 1;
    color: rgba(59, 130, 246, 1);
    color: rgba(59, 130, 246, var(--tw-text-opacity, 1));
}
.text-danger{
    --tw-text-opacity: 1;
    color: rgba(174, 10, 10, 1);
    color: rgba(174, 10, 10, var(--tw-text-opacity, 1));
}
.text-dark{
    --tw-text-opacity: 1;
    color: rgba(29, 31, 31, 1);
    color: rgba(29, 31, 31, var(--tw-text-opacity, 1));
}
.text-emerald-500{
    --tw-text-opacity: 1;
    color: rgba(16, 185, 129, 1);
    color: rgba(16, 185, 129, var(--tw-text-opacity, 1));
}
.text-gray-100{
    --tw-text-opacity: 1;
    color: rgba(243, 244, 246, 1);
    color: rgba(243, 244, 246, var(--tw-text-opacity, 1));
}
.text-gray-300{
    --tw-text-opacity: 1;
    color: rgba(209, 213, 219, 1);
    color: rgba(209, 213, 219, var(--tw-text-opacity, 1));
}
.text-gray-400{
    --tw-text-opacity: 1;
    color: rgba(156, 163, 175, 1);
    color: rgba(156, 163, 175, var(--tw-text-opacity, 1));
}
.text-gray-500{
    --tw-text-opacity: 1;
    color: rgba(107, 114, 128, 1);
    color: rgba(107, 114, 128, var(--tw-text-opacity, 1));
}
.text-gray-600{
    --tw-text-opacity: 1;
    color: rgba(75, 85, 99, 1);
    color: rgba(75, 85, 99, var(--tw-text-opacity, 1));
}
.text-gray-700{
    --tw-text-opacity: 1;
    color: rgba(55, 65, 81, 1);
    color: rgba(55, 65, 81, var(--tw-text-opacity, 1));
}
.text-gray-800{
    --tw-text-opacity: 1;
    color: rgba(31, 41, 55, 1);
    color: rgba(31, 41, 55, var(--tw-text-opacity, 1));
}
.text-gray-900{
    --tw-text-opacity: 1;
    color: rgba(17, 24, 39, 1);
    color: rgba(17, 24, 39, var(--tw-text-opacity, 1));
}
.text-green-500{
    --tw-text-opacity: 1;
    color: rgba(34, 197, 94, 1);
    color: rgba(34, 197, 94, var(--tw-text-opacity, 1));
}
.text-inherit{
    color: inherit;
}
.text-main{
    color: var(--text-primary);
}
.text-primary{
    color: #414042;
    color: var(--color-primary);
}
.text-primary-dark{
    color: var(--color-primary-dark);
}
.text-primary-reverse{
    color: #ff6767;
    color: var(--color-primary-reverse);
}
.text-red-400{
    --tw-text-opacity: 1;
    color: rgba(248, 113, 113, 1);
    color: rgba(248, 113, 113, var(--tw-text-opacity, 1));
}
.text-red-50{
    --tw-text-opacity: 1;
    color: rgba(254, 242, 242, 1);
    color: rgba(254, 242, 242, var(--tw-text-opacity, 1));
}
.text-red-500{
    --tw-text-opacity: 1;
    color: rgba(239, 68, 68, 1);
    color: rgba(239, 68, 68, var(--tw-text-opacity, 1));
}
.text-red-600{
    --tw-text-opacity: 1;
    color: rgba(220, 38, 38, 1);
    color: rgba(220, 38, 38, var(--tw-text-opacity, 1));
}
.text-red-800{
    --tw-text-opacity: 1;
    color: rgba(153, 27, 27, 1);
    color: rgba(153, 27, 27, var(--tw-text-opacity, 1));
}
.text-rose-500{
    --tw-text-opacity: 1;
    color: rgba(244, 63, 94, 1);
    color: rgba(244, 63, 94, var(--tw-text-opacity, 1));
}
.text-sub{
    color: var(--text-secondary);
}
.text-white{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, 1);
    color: rgba(255, 255, 255, var(--tw-text-opacity, 1));
}
.underline{
    text-decoration-line: underline;
}
.line-through{
    text-decoration-line: line-through;
}
.no-underline{
    text-decoration-line: none;
}
.underline-offset-4{
    text-underline-offset: 4px;
}
.underline-offset-\[3px\]{
    text-underline-offset: 3px;
}
.antialiased{
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.\!opacity-50{
    opacity: 0.5 !important;
}
.opacity-0{
    opacity: 0;
}
.opacity-10{
    opacity: 0.1;
}
.opacity-100{
    opacity: 1;
}
.opacity-40{
    opacity: 0.4;
}
.opacity-45{
    opacity: 0.45;
}
.opacity-50{
    opacity: 0.5;
}
.opacity-60{
    opacity: 0.6;
}
.opacity-65{
    opacity: 0.65;
}
.opacity-70{
    opacity: 0.7;
}
.opacity-75{
    opacity: 0.75;
}
.opacity-80{
    opacity: 0.8;
}
.opacity-90{
    opacity: 0.9;
}
.opacity-\[0\.55\]{
    opacity: 0.55;
}
.opacity-\[0\.85\]{
    opacity: 0.85;
}
.shadow{
    --tw-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
    --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
    box-shadow: 0 0 rgba(0,0,0,0), 0 0 rgba(0,0,0,0), 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 rgba(0,0,0,0)), var(--tw-ring-shadow, 0 0 rgba(0,0,0,0)), var(--tw-shadow);
}
.shadow-\[0_0_10px_-2px_var\(--universe-accent\)\]{
    --tw-shadow: 0 0 10px -2px var(--universe-accent);
    --tw-shadow-colored: 0 0 10px -2px var(--tw-shadow-color);
    box-shadow: 0 0 rgba(0,0,0,0), 0 0 rgba(0,0,0,0), var(--tw-shadow);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 rgba(0,0,0,0)), var(--tw-ring-shadow, 0 0 rgba(0,0,0,0)), var(--tw-shadow);
}
.shadow-\[0_20px_45px_-20px_rgba\(0\2c 0\2c 0\2c 0\.55\)\]{
    --tw-shadow: 0 20px 45px -20px rgba(0,0,0,0.55);
    --tw-shadow-colored: 0 20px 45px -20px var(--tw-shadow-color);
    box-shadow: 0 0 rgba(0,0,0,0), 0 0 rgba(0,0,0,0), 0 20px 45px -20px rgba(0,0,0,0.55);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 rgba(0,0,0,0)), var(--tw-ring-shadow, 0 0 rgba(0,0,0,0)), var(--tw-shadow);
}
.shadow-\[5px_0_0_0_var\(--color-main\)\]{
    --tw-shadow: 5px 0 0 0 var(--color-main);
    --tw-shadow-colored: 5px 0 0 0 var(--tw-shadow-color);
    box-shadow: 0 0 rgba(0,0,0,0), 0 0 rgba(0,0,0,0), var(--tw-shadow);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 rgba(0,0,0,0)), var(--tw-ring-shadow, 0 0 rgba(0,0,0,0)), var(--tw-shadow);
}
.shadow-default{
    --tw-shadow: 5px 10px 30px #2B2D340D;;
    --tw-shadow-colored: 5px 10px 30px var(--tw-shadow-color);
    box-shadow: 0 0 rgba(0,0,0,0), 0 0 rgba(0,0,0,0), 5px 10px 30px #2B2D340D;;
    box-shadow: var(--tw-ring-offset-shadow, 0 0 rgba(0,0,0,0)), var(--tw-ring-shadow, 0 0 rgba(0,0,0,0)), var(--tw-shadow);
}
.shadow-huge{
    --tw-shadow: 0px 3px 6px rgba(0,0,0,0.16078);
    --tw-shadow-colored: 0px 3px 6px var(--tw-shadow-color);
    box-shadow: 0 0 rgba(0,0,0,0), 0 0 rgba(0,0,0,0), 0px 3px 6px rgba(0,0,0,0.16078);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 rgba(0,0,0,0)), var(--tw-ring-shadow, 0 0 rgba(0,0,0,0)), var(--tw-shadow);
}
.shadow-md{
    --tw-shadow: 5px 10px 99px rgba(43,45,52,0.05098);
    --tw-shadow-colored: 5px 10px 99px var(--tw-shadow-color);
    box-shadow: 0 0 rgba(0,0,0,0), 0 0 rgba(0,0,0,0), 5px 10px 99px rgba(43,45,52,0.05098);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 rgba(0,0,0,0)), var(--tw-ring-shadow, 0 0 rgba(0,0,0,0)), var(--tw-shadow);
}
.shadow-none{
    --tw-shadow: 0 0 rgba(0,0,0,0);
    --tw-shadow-colored: 0 0 rgba(0,0,0,0);
    box-shadow: 0 0 rgba(0,0,0,0), 0 0 rgba(0,0,0,0), 0 0 rgba(0,0,0,0);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 rgba(0,0,0,0)), var(--tw-ring-shadow, 0 0 rgba(0,0,0,0)), var(--tw-shadow);
}
.shadow-sm{
    --tw-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
    box-shadow: 0 0 rgba(0,0,0,0), 0 0 rgba(0,0,0,0), 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 rgba(0,0,0,0)), var(--tw-ring-shadow, 0 0 rgba(0,0,0,0)), var(--tw-shadow);
}
.shadow-gray-300{
    --tw-shadow-color: #d1d5db;
    --tw-shadow: var(--tw-shadow-colored);
}
.outline-none{
    outline: 2px solid transparent;
    outline-offset: 2px;
}
.outline{
    outline-style: solid;
}
.ring{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: /*!*/ /*!*/ 0 0 0 0px #fff, var(--tw-ring-shadow), 0 0 rgba(0,0,0,0);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0,0,0,0));
}
.ring-0{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: /*!*/ /*!*/ 0 0 0 0px #fff, var(--tw-ring-shadow), 0 0 rgba(0,0,0,0);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0,0,0,0));
}
.ring-1{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: /*!*/ /*!*/ 0 0 0 0px #fff, /*!*/ /*!*/ 0 0 0 calc(1px + 0px) #2563eb, 0 0 rgba(0,0,0,0);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0,0,0,0));
}
.ring-inset{
    --tw-ring-inset: inset;
}
.blur{
    --tw-blur: blur(8px);
    filter: blur(8px) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.blur-xl{
    --tw-blur: blur(24px);
    filter: blur(24px) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.contrast-\[\.92\]{
    --tw-contrast: contrast(.92);
    filter: var(--tw-blur) var(--tw-brightness) contrast(.92) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.drop-shadow{
    --tw-drop-shadow: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.1)) drop-shadow(0 1px 1px rgba(0, 0, 0, 0.06));
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) drop-shadow(0 1px 2px rgba(0, 0, 0, 0.1)) drop-shadow(0 1px 1px rgba(0, 0, 0, 0.06));
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.drop-shadow-\[0_16px_26px_rgba\(0\2c 0\2c 0\2c 0\.5\)\]{
    --tw-drop-shadow: drop-shadow(0 16px 26px rgba(0,0,0,0.5));
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) drop-shadow(0 16px 26px rgba(0,0,0,0.5));
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.drop-shadow-\[0_6px_18px_rgba\(0\2c 0\2c 0\2c 0\.45\)\]{
    --tw-drop-shadow: drop-shadow(0 6px 18px rgba(0,0,0,0.45));
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) drop-shadow(0 6px 18px rgba(0,0,0,0.45));
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.grayscale{
    --tw-grayscale: grayscale(100%);
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) grayscale(100%) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.hue-rotate-180{
    --tw-hue-rotate: hue-rotate(180deg);
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) hue-rotate(180deg) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.invert{
    --tw-invert: invert(100%);
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) invert(100%) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.saturate-\[\.75\]{
    --tw-saturate: saturate(.75);
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) saturate(.75) var(--tw-sepia) var(--tw-drop-shadow);
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.filter{
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.backdrop-filter{
    backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.transition{
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.transition-\[box-shadow\2c border-color\2c background-color\]{
    transition-property: box-shadow,border-color,background-color;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.transition-\[max-height\2c opacity\2c visibility\]{
    transition-property: max-height,opacity,visibility;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.transition-\[transform\2c box-shadow\2c border-color\]{
    transition-property: transform,box-shadow,border-color;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.transition-\[transform\2c opacity\]{
    transition-property: transform,opacity;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.transition-all{
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.transition-colors{
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.transition-opacity{
    transition-property: opacity;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.transition-shadow{
    transition-property: box-shadow;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.transition-transform{
    transition-property: transform;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.delay-500{
    transition-delay: 500ms;
}
.delay-\[50ms\]{
    transition-delay: 50ms;
}
.delay-\[900ms\]{
    transition-delay: 900ms;
}
.duration-200{
    transition-duration: 200ms;
}
.duration-300{
    transition-duration: 300ms;
}
.duration-500{
    transition-duration: 500ms;
}
.duration-700{
    transition-duration: 700ms;
}
.duration-\[400ms\]{
    transition-duration: 400ms;
}
.duration-\[450ms\]{
    transition-duration: 450ms;
}
.duration-\[600ms\]{
    transition-duration: 600ms;
}
.ease-\[cubic-bezier\(\.22\2c 1\2c \.36\2c 1\)\]{
    transition-timing-function: cubic-bezier(.22,1,.36,1);
}
.ease-elastic{
    transition-timing-function: cubic-bezier(0.55, 0, 0.1, 1);
}
.ease-in-out{
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.ease-out{
    transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}
.content-\[\'\'\]{
    --tw-content: '';
    content: '';
    content: var(--tw-content);
}
.content-\[attr\(data-switcher-text\)\]{
    --tw-content: attr(data-switcher-text);
    content: attr(data-switcher-text);
    content: var(--tw-content);
}
.\[contain-intrinsic-size\:auto_45rem\]{
    contain-intrinsic-size: auto 45rem;
}
.\[contain\:layout\]{
    contain: layout;
}
.\[content-visibility\:auto\]{
    content-visibility: auto;
}
:root {
  --infinte-color: #c9c9c9;
  --main-text-color: #231f1e;
  --main-text-color-dark: #2b2d34;
  /* current */
  --color-primary: #5cd5c4;
  --color-primary: #414042;
  --color-primary-d: #272628;
  --color-primary-l: #676668;
  --color-primary-reverse: #ff6767;
  --color-text: #7c8082;
  --bg-gray: rgba(198,199,206,0.10196);
  --color-grey: #f5f7f9;
  --color-light-grey: #eeeeee;
  /* font-size */
  --font-sm: 0.8685714286rem;
  /* font-family: ; */
  --font-main: "DINNextLTArabic";
  /* plugins */
  --mm-ocd-width: calc(100% - 51px);
}

body {
  font-size: 15px;
  font-weight: 400;
  line-height: 26px;
  color: var(--main-color);
  position: relative;
}

html {
  width: 100%;
  height: 100%;
  position: relative;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body {
  border: 0;
  margin: 0;
  padding: 0;
}

h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
  font-weight: 600;
  margin-bottom: 0px;
}

a {
  -webkit-text-decoration: none;
  text-decoration: none;
  transition: color 0.2s;
}

img {
  max-width: 100%;
}

a:focus {
  outline: none;
  -webkit-text-decoration: none;
  text-decoration: none;
}

ul,
li {
  margin: 0;
  padding: 0;
  list-style: none;
}

h1{
    font-size: 1.875rem;
    line-height: 2.25rem;
}

h2{
    font-size: 1.25rem;
    line-height: 1.75rem;
}

h3{
    font-size: 1.25rem;
    line-height: 1.75rem;
  line-height: 38px;
}

.f-color {
  color: #FF6767;
}

h5.subtitle {
  font-size: 16px;
  font-weight: 400;
}

html:not(.lenis) {
  scroll-behavior: smooth;
}

.cursor-pointer * {
  pointer-events: none;
}

.flip-x {
  transform: scaleX(-1);
}

input[type=file] {
  display: none;
}

body{
    --tw-bg-opacity: 1;
    background-color: rgba(249, 250, 251, 1);
    background-color: rgba(249, 250, 251, var(--tw-bg-opacity, 1));
}
body [type=text]:focus, body [type=email]:focus, body [type=url]:focus, body [type=password]:focus, body [type=number]:focus, body [type=date]:focus, body [type=datetime-local]:focus, body [type=month]:focus, body [type=search]:focus, body [type=tel]:focus, body [type=time]:focus, body [type=week]:focus, body [multiple]:focus, body textarea:focus, body select:focus{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: /*!*/ /*!*/ 0 0 0 0px #fff, var(--tw-ring-shadow), 0 0 rgba(0,0,0,0);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0,0,0,0));
}

.text-start:where([dir="ltr"], [dir="ltr"] *){
    text-align: left;
}

.text-start:where([dir="rtl"], [dir="rtl"] *){
    text-align: right;
}

/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

[type=submit] {
  -webkit-appearance: listitem;
}

/* Firefox */
input[type=number] {
  -moz-appearance: textfield;
}

.unicode {
  unicode-bidi: plaintext;
}

.spinner-loader {
  border-right-color: #414042 !important;
  border-right-color: var(--color-primary) !important;
}
.spinner-loader.reverse {
  border-right-color: #9f7171 !important;
  background-color: #f98181;
}

.hide-scroll {
  /* hide scrollbar but allow scrolling */
  -ms-overflow-style: none;
  /* for Internet Explorer, Edge */
  scrollbar-width: none;
  /* for Firefox */
  overflow-y: scroll;
}
.hide-scroll::-webkit-scrollbar {
  display: none;
  /* for Chrome, Safari, and Opera */
}

.remove-item-btn:after {
  content: "\ea47";
  font-family: "sallaicons" !important;
  font-style: normal;
  font-weight: normal;
  font-feature-settings: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.cart-thumb {
  position: fixed;
  z-index: 30;
  transition: all 0.3s cubic-bezier(0.2, 1, 0.3, 1);
}

/* Hide scrollbar for Chrome, Safari and Opera */
.no-scrollbar::-webkit-scrollbar {
  display: none;
}

/* Hide scrollbar for IE, Edge and Firefox */
.no-scrollbar {
  -ms-overflow-style: none;
  /* IE and Edge */
  scrollbar-width: none;
  /* Firefox */
}

body.fslightbox-open #tidio-chat-iframe,
body.fslightbox-open .fb_reset,
body.fslightbox-open [id^=gb-widget], body.modal-open #tidio-chat-iframe,
body.modal-open .fb_reset,
body.modal-open [id^=gb-widget] {
  display: none !important;
}

.loader:before {
  content: "";
  opacity: 1;
  display: inline-block;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 2px solid;
  border-top-color: #414042;
  border-top-color: var(--color-primary);
  border-bottom-color: #eee;
  border-left-color: #414042;
  border-left-color: var(--color-primary);
  border-right-color: #eee;
  animation: loader 1s ease-in-out infinite;
}
.btn--danger .loader:before {
  border-top-color: #ff6767;
  border-left-color: #ff6767;
}
.loader--small:before {
  width: 16px;
  height: 16px;
}

@keyframes loader {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
.animated {
  animation-duration: var(--animate-duration);
  animation-fill-mode: both;
}

@keyframes pulse-anime {
  from {
    transform: scale3d(1, 1, 1);
  }
  50% {
    transform: scale3d(1.05, 1.05, 1);
  }
  to {
    transform: scale3d(1, 1, 1);
  }
}
.pulse-anime {
  animation-name: pulse-anime;
  animation-timing-function: ease-in-out;
}

/*
** Single page
*/
.content .content-entry img {
  margin: 15px 0 25px;
}
.content .content-entry ul, .content .content-entry li {
  list-style: inherit !important;
}
.content .content-entry ol {
  list-style: auto !important;
}

/* Components Init*/
salla-modal:not(.hydrated) {
  display: none;
}

/* video aspect ratio*/
.videoWrapper {
  position: relative;
  padding-bottom: 56.25%; /* 16:9 */
  height: 0;
}
.videoWrapper > * {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  max-width: initial;
}

.grid-trigger{
    margin-left: 0.25rem;
    margin-right: 0.25rem;
    display: flex;
    height: 2.5rem;
    width: 2.5rem;
    cursor: pointer;
    align-items: center;
    justify-content: center;
    border-radius: 0.375rem;
    font-size: 1.25rem;
    line-height: 1.75rem;
    --tw-text-opacity: 1;
    color: rgba(156, 163, 175, 1);
    color: rgba(156, 163, 175, var(--tw-text-opacity, 1));
}

.grid-trigger * {
  pointer-events: none;
}

.flex-center{
    display: flex;
    align-items: center;
    justify-content: center;
}

.center-between{
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.grow-0 {
  flex-grow: 0 !important;
}

.basis-0 {
  flex-basis: 0;
}

.gradient-bg{
    --tw-gradient-from: var(--color-primary) var(--tw-gradient-from-position);
    --tw-gradient-to: rgba(255, 255, 255, 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
    --tw-gradient-to: var(--color-primary-dark) var(--tw-gradient-to-position);
}
[dir=ltr] .gradient-bg{
    background-image: linear-gradient(to right, var(--tw-gradient-stops));
}
[dir=rtl] .gradient-bg{
    background-image: linear-gradient(to left, var(--tw-gradient-stops));
}
@media (max-width: 1024px) {
  .gradient-bg.profile-header {
    background-image: none;
  }
  .gradient-bg.profile-header .breadcrumbs a,
  .gradient-bg.profile-header .breadcrumbs span,
  .gradient-bg.profile-header .breadcrumbs .arrow{
        --tw-text-opacity: 1;
        color: rgba(75, 85, 99, 1);
        color: rgba(75, 85, 99, var(--tw-text-opacity, 1));
    }
}

.badge{
    display: inline-flex;
    height: 1.25rem;
    min-width: 20px;
    align-items: center;
    justify-content: center;
    border-radius: 9999px;
    padding: 0.25rem;
    font-size: 0.75rem;
    line-height: 1rem;
}
.badge--red{
    --tw-bg-opacity: 1;
    background-color: rgba(248, 113, 113, 1);
    background-color: rgba(248, 113, 113, var(--tw-bg-opacity, 1));
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, 1);
    color: rgba(255, 255, 255, var(--tw-text-opacity, 1));
}

.copy-icon{
    font-size: 0.75rem;
    line-height: 1rem;
}

.s-localization-modal-inner {
  width: 100%;
}

.s-rating-modal-wrap .s-modal-body {
  position: relative !important;
}

.s-verify-back {
  top: 0.5rem;
}
.s-verify-back svg {
  max-width: 18px;
  fill: rgba(107, 114, 128, var(--tw-text-opacity));
}

[dir=rtl] .s-verify-back {
  right: 0.5rem;
}

[dir=ltr] .s-verify-back {
  left: 0.5rem;
}

@media (max-width: 639px) {
  .s-verify-back {
    display: none;
  }
}
.article--main iframe {
  width: 100%;
  height: 30vw;
}
@media (max-width: 639px) {
  .article--main iframe {
    height: 50vw;
  }
}

.cart-submit-wrap{
    margin-left: -5px;
    margin-right: -5px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.625rem;
}

.cart-submit-wrap:where([dir="ltr"], [dir="ltr"] *){
    flex-wrap: wrap;
}
.cart-submit-wrap > *{
    margin-left: 5px;
    margin-right: 5px;
    flex-grow: 1;
}

.s-button-btn, .s-price-range-number-input{
    border-radius: .75rem;
}

.s-app-install-banner{
    position: fixed;
    left: 0px;
    right: 0px;
    z-index: 999;
    margin-top: 1rem;
    margin-bottom: 1rem;
    margin-left: auto;
    margin-right: auto;
    display: none;
    width: 95%;
    flex-direction: row;
    align-items: center;
    gap: 0.5rem;
    border-radius: 0.375rem;
    padding: 0.75rem;
    --tw-drop-shadow: drop-shadow(0 4px 3px rgba(0, 0, 0, 0.07)) drop-shadow(0 2px 2px rgba(0, 0, 0, 0.06));
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) drop-shadow(0 4px 3px rgba(0, 0, 0, 0.07)) drop-shadow(0 2px 2px rgba(0, 0, 0, 0.06));
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
  background-color: rgb(226, 226, 227);
}

@supports (color: color-mix(in lch, red, blue)){
.s-app-install-banner{
  background-color: color-mix(in srgb, var(--color-primary) 15%, white);
    }
}
.s-app-install-banner[open=false]{
    display: none;
}
.s-app-install-banner[open=true][position=top]{
    display: flex;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    transition-duration: 500ms;
}
.s-app-install-banner[open=true][position=bottom]{
    display: flex;
}
@keyframes slideUpFromBottom{
    0%{
        transform: translateY(100%);
        opacity: 0;
    }
    100%{
        transform: translateY(0%);
        opacity: 1;
    }
}
.s-app-install-banner[open=true][position=bottom]{
    animation: slideUpFromBottom .9s linear;
}
.s-app-install-banner[position=top]{
    position: relative;
    top: 0px;
    margin: 0px;
    width: 100%;
    border-radius: 0px;
}
.s-app-install-banner[position=bottom]{
    bottom: 0px;
}
@keyframes slideDownFromBottom{
    0%{
        transform: translateY(0%);
        opacity: 1;
    }
    100%{
        transform: translateY(100%);
        opacity: 0;
    }
}
.s-app-install-banner[closing][position=bottom]{
    animation: slideDownFromBottom .9s linear;
  animation-fill-mode: forwards;
}
.s-app-install-banner-title{
    font-size: 1rem;
    line-height: 1.5rem;
    font-weight: 700;
    color: #414042;
    color: var(--color-primary);
}
.s-app-install-banner-sub-title{
    max-width: 95%;
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 400;
}
.s-app-install-banner-cta{
    color: #414042;
    color: var(--color-primary);
    text-decoration-line: underline;
}
.s-app-install-banner-cancel-button{
    position: absolute;
    top: 0.5rem;
}
input[type=radio].sr-only div.s-app-install-banner-cancel-button {
  transition: all 0.3s;
}
input[type=radio].sr-only:checked ~ div.s-app-install-banner-cancel-button {
  border-color: var(--color-main);
}
.s-app-install-banner-cancel-button:where([dir="ltr"], [dir="ltr"] *){
    right: 0.75rem;
}
.s-app-install-banner-cancel-button:where([dir="rtl"], [dir="rtl"] *){
    left: 0.75rem;
}

.blog-category ul:where([dir="ltr"], [dir="ltr"] *),
.blog-category ol:where([dir="ltr"], [dir="ltr"] *){
    padding-left: 1rem;
}

.blog-category ul:where([dir="rtl"], [dir="rtl"] *),
.blog-category ol:where([dir="rtl"], [dir="rtl"] *){
    padding-right: 1rem;
}
.blog-category ul li {
  list-style: disc;
}
.blog-category ol li {
  list-style: auto;
}
.blog-category a{
    color: #414042;
    color: var(--color-primary);
}
.blog-category a:hover{
    color: var(--color-primary-dark);
}

.collapse-content {
  display: grid;
  grid-template-rows: 0fr;
  opacity: 0;
  transition: grid-template-rows 225ms ease-out, opacity 225ms ease-out;
}
.collapse-content > * {
  overflow: hidden;
  min-height: 0;
}
.collapse-content.is-opened {
  grid-template-rows: 1fr;
  opacity: 1;
}

@keyframes slideInStart {
  from {
    opacity: 0;
    transform: translateX(20px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
.slide-in-start {
  animation: slideInStart 500ms ease-out forwards;
}

@keyframes scalePulse {
  0% {
    transform: scale(0.88);
  }
  50% {
    transform: scale(1.2);
  }
  100% {
    transform: scale(1);
  }
}
.scale-pulse {
  animation: scalePulse 400ms ease-out;
}

.fade-out-collapse {
  transition: height 300ms ease-in-out, opacity 300ms ease-in-out;
  height: 0 !important;
  opacity: 0;
  overflow: hidden;
}

.s-breadcrumb-arrow svg {
  color: var(--text-primary) !important;
  fill: var(--text-primary) !important;
}

.tooltip-content {
  position: absolute;
  transform: translate(82px, -120px);
  background: #fff;
  padding: 15px 15px 15px 36px;
  text-align: right;
  visibility: hidden;
  opacity: 0;
  transition: all 0.3s;
}
.tooltip-content:after {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  left: auto;
  background: #fff;
  width: 20px;
  height: 20px;
  transform: rotate(45deg);
  border-radius: 2px;
  --tw-shadow: 5px 10px 99px rgba(43,45,52,0.05098);
  --tw-shadow-colored: 5px 10px 99px var(--tw-shadow-color);
  box-shadow: 0 0 rgba(0,0,0,0), 0 0 rgba(0,0,0,0), 5px 10px 99px rgba(43,45,52,0.05098);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 rgba(0,0,0,0)), var(--tw-ring-shadow, 0 0 rgba(0,0,0,0)), var(--tw-shadow);
  left: 43%;
  bottom: -7px;
}
.icon-trigger .tooltip-content {
  background-color: #414042;
  background-color: var(--color-primary);
  color: #ff6767;
  color: var(--color-primary-reverse);
  padding: 10px;
  width: 140px;
  line-height: 1;
  text-align: center;
}
@media (max-width: 991px) {
  .icon-trigger .tooltip-content {
    width: 110px;
  }
}
.icon-trigger .tooltip-content:after {
  background-color: #414042;
  background-color: var(--color-primary);
}
[dir=rtl] .icon-trigger.mobile-shifted .tooltip-content {
  transform: translate(53px, -73px);
}
@media (max-width: 991px) {
  [dir=rtl] .icon-trigger.mobile-shifted .tooltip-content {
    transform: translate(70px, -90px);
  }
  [dir=rtl] .icon-trigger.mobile-shifted .tooltip-content:after {
    left: 13%;
  }
}
[dir=ltr] .icon-trigger.mobile-shifted .tooltip-content {
  transform: translate(-53px, -75px);
}
@media (max-width: 991px) {
  [dir=ltr] .icon-trigger.mobile-shifted .tooltip-content {
    transform: translate(-70px, -90px);
  }
  [dir=ltr] .icon-trigger.mobile-shifted .tooltip-content:after {
    left: 69%;
  }
}
.visible .tooltip-content {
  visibility: visible;
  opacity: 1;
  transform: translate(82px, -110px);
}
[dir=rtl] .icon-trigger.visible .tooltip-content {
  transform: translate(53px, -63px);
}
[dir=ltr] .icon-trigger.visible .tooltip-content {
  transform: translate(-54px, -65px);
}
@media (max-width: 991px) {
  [dir=rtl] .icon-trigger.mobile-shifted.visible .tooltip-content {
    transform: translate(70px, -80px);
  }
  [dir=ltr] .icon-trigger.mobile-shifted.visible .tooltip-content {
    transform: translate(-70px, -80px);
  }
}

.close-tooltip {
  position: absolute;
  top: 0;
  left: 0;
  padding: 9px 7px !important;
}

@keyframes fadeInDown {
  from {
    transform: translate3d(0, -15px, 0);
  }
  to {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
.animated {
  animation-duration: 400ms;
  animation-fill-mode: both;
}

.animatedfadeInDown {
  opacity: 0;
}

.fadeInDown {
  opacity: 0;
  animation-name: fadeInDown;
  -webkit-animation-name: fadeInDown;
}

@keyframes toRightFromLeft {
  49% {
    transform: translate(100%);
  }
  50% {
    opacity: 0;
    transform: translate(-100%);
  }
  51% {
    opacity: 1;
  }
}
@keyframes toTopFromBottom {
  0% {
    opacity: 0;
    transform: translateX(50px);
  }
  100% {
    opacity: 1 !important;
    transform: translateX(0);
  }
}
@keyframes delayKeyframe {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@keyframes rubberBand {
  from {
    transform: scale3d(1, 1, 1);
  }
  30% {
    transform: scale3d(1.25, 0.75, 1);
  }
  40% {
    transform: scale3d(0.75, 1.25, 1);
  }
  50% {
    transform: scale3d(1.15, 0.85, 1);
  }
  65% {
    transform: scale3d(0.95, 1.05, 1);
  }
  75% {
    transform: scale3d(1.05, 0.95, 1);
  }
  to {
    transform: scale3d(1, 1, 1);
  }
}
.rubberBand {
  animation-name: rubberBand;
  animation-duration: 1s;
  animation-fill-mode: both;
  animation-iteration-count: 1;
}

.swiper-lazy{
    opacity: 0;
    transition-property: opacity;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 500ms;
    position: absolute;
    top: 0px;
    height: 100%;
    width: 100%;
    background-size: cover;
    background-position: center;
}

input[type=radio].sr-only div.swiper-lazy {
  transition: all 0.3s;
}

input[type=radio].sr-only:checked ~ div.swiper-lazy {
  border-color: var(--color-main);
}
.swiper-lazy.swiper-lazy-loaded{
    opacity: 1;
}

.lazy__bg{
    position: absolute;
    top: 0px;
    left: 0px;
    height: 100%;
    width: 100%;
    background-size: cover;
    background-position: center;
    opacity: 0;
    transition-property: opacity;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 500ms;
}

input[type=radio].sr-only div.lazy__bg {
  transition: all 0.3s;
}

input[type=radio].sr-only:checked ~ div.lazy__bg {
  border-color: var(--color-main);
}
.lazy__bg.loaded{
    opacity: 1;
}

.rtl .rtl-range-slider,
[dir=rtl] .rtl-range-slider {
  transform: rotateY(180deg);
}
.rtl .rtl-range-numbers,
[dir=rtl] .rtl-range-numbers {
  flex-direction: row-reverse;
}
.rtl .form-select, .rtl select,
[dir=rtl] .form-select,
[dir=rtl] select {
  background-position: left 0.5rem center;
  padding-right: 12px;
}
.rtl .fix-align,
[dir=rtl] .fix-align {
  transform: translateY(-2px);
  display: inline-block;
}
.rtl .flatpickr-months .numInputWrapper .cur-year,
[dir=rtl] .flatpickr-months .numInputWrapper .cur-year {
  padding: 0 15px 0 0;
}

.sf-dump {
  direction: ltr;
}

[dir=ltr] .with-arrow .sicon-keyboard_arrow_left:before,
[dir=ltr] nav .sicon-keyboard_arrow_left:before,
[dir=ltr] .sub-menu .has-children > a:after {
  content: "\e96c";
}
[dir=ltr] .flatpickr-months .numInputWrapper .cur-year {
  padding: 0 0 0 15px;
}
[dir=ltr] .flatpickr-months [class^=arrow] {
  right: auto;
  right: initial;
  left: 0;
}

input[type=radio].sr-only div.absolute {
  transition: all 0.3s;
}
input[type=radio].sr-only:checked ~ div.absolute {
  border-color: var(--color-main);
}

input[type=text]:disabled {
  color: #838383;
}

.form-label{
    margin-bottom: 0.625rem;
    display: block;
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 700;
    --tw-text-opacity: 1;
    color: rgba(55, 65, 81, 1);
    color: rgba(55, 65, 81, var(--tw-text-opacity, 1));
}

@media (min-width: 640px){
    .form-label{
        margin-top: 1px;
    }
}

@media (min-width: 768px){
    .form-label{
        margin-bottom: 0px;
    }
}

.form-input{
    height: 2.5rem;
    width: 100%;
    border-radius: 0.375rem;
    --tw-border-opacity: 1;
    border-color: rgba(229, 231, 235, 1);
    border-color: rgba(229, 231, 235, var(--tw-border-opacity, 1));
    font-size: 0.875rem;
    line-height: 1.25rem;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 300ms;
}

.form-input:focus{
    border-color: #414042;
    border-color: var(--color-primary);
    --tw-ring-color: transparent;
}

.dark .form-input{
    --tw-border-opacity: 1;
    border-color: rgba(75, 85, 99, 1);
    border-color: rgba(75, 85, 99, var(--tw-border-opacity, 1));
    --tw-bg-opacity: 1;
    background-color: rgba(75, 85, 99, 1);
    background-color: rgba(75, 85, 99, var(--tw-bg-opacity, 1));
}

.dark .form-input:focus{
    border-color: #414042;
    border-color: var(--color-primary);
}

.form-input {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
}

textarea.form-input{
    height: 6rem;
}

.has-error{
    --tw-border-opacity: 1;
    border-color: rgba(248, 113, 113, 1);
    border-color: rgba(248, 113, 113, var(--tw-border-opacity, 1));
}

.has-error:focus{
    --tw-border-opacity: 1;
    border-color: rgba(239, 68, 68, 1);
    border-color: rgba(239, 68, 68, var(--tw-border-opacity, 1));
}

.has-success{
    --tw-border-opacity: 1;
    border-color: rgba(34, 197, 94, 1);
    border-color: rgba(34, 197, 94, var(--tw-border-opacity, 1));
}

.has-success:focus{
    --tw-border-opacity: 1;
    border-color: rgba(22, 163, 74, 1);
    border-color: rgba(22, 163, 74, var(--tw-border-opacity, 1));
}

input[type=text],
input[type=email],
input[type=password],
input[type=tel],
input[type=number],
input[type=search],
input[type=url],
textarea,
select {
  font-size: 16px !important;
}

@media screen and (max-width: 768px) {
  input,
  textarea,
  select {
    font-size: 16px !important;
    transform: scale(1);
  }
}
.profile-field-item input,
.profile-field-item select {
  color: #333333 !important;
}

.profile-field-item label {
  color: var(--text-primary);
}

/*
* Buttons
*/
salla-button[width=wide]{
    width: 100%;
}
salla-button.copied .s-button-text{
    --tw-text-opacity: 1;
    color: rgba(22, 163, 74, 1);
    color: rgba(22, 163, 74, var(--tw-text-opacity, 1));
}
salla-button.copied i:before {
  content: "\ea9d";
  --tw-text-opacity: 1;
  color: rgba(22, 163, 74, 1);
  color: rgba(22, 163, 74, var(--tw-text-opacity, 1));
}

.btn{
    display: inline-flex;
    flex: 1 1 0%;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    border-radius: 0.375rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    padding-bottom: 0.625rem;
    padding-top: 0.5rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 700;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 300ms;
}

.btn:hover{
    opacity: 0.8;
}
.btn .loader {
  width: 0;
  opacity: 0;
  height: 16px;
  transform: scale(0);
  transition: 0.3s;
}
.btn--is-loading {
  pointer-events: none;
}
.btn--is-loading .loader {
  width: 16px;
  margin: 0 5px;
  opacity: 1;
  transform: scale(1);
}
.btn--delete .loader {
  width: 15px;
}
.btn--delete .loader:before {
  width: 12px;
  height: 12px;
  border-top-color: transparent;
  border-bottom-color: #fff;
  border-left-color: transparent;
  border-right-color: #fff;
}
.btn--delete.btn--is-loading .icon {
  opacity: 0;
}
.btn--quantity{
    width: 2.75rem;
    --tw-text-opacity: 1;
    color: rgba(156, 163, 175, 1);
    color: rgba(156, 163, 175, var(--tw-text-opacity, 1));
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 300ms;
}
.btn--quantity:hover{
    color: #414042;
    color: var(--color-primary);
}
.btn__text{
    pointer-events: none;
    display: inline-block;
    transition-property: transform;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 500ms;
}
.btn--wishlist{
    margin: 0px;
}
.btn--wishlist:where([dir="ltr"], [dir="ltr"] *){
    margin-left: 0.125rem;
}
.btn--wishlist:where([dir="rtl"], [dir="rtl"] *){
    margin-right: 0.125rem;
}
.btn--wishlist:hover{
    --tw-text-opacity: 1;
    color: rgba(75, 85, 99, 1);
    color: rgba(75, 85, 99, var(--tw-text-opacity, 1));
}
.btn--wishlist.is-added{
    --tw-text-opacity: 1;
    color: rgba(239, 68, 68, 1);
    color: rgba(239, 68, 68, var(--tw-text-opacity, 1));
}
.btn--rounded-gray{
    display: inline-flex;
    width: 100%;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    border-radius: 9999px;
    background-color: rgba(229, 231, 235, 0.5);
    padding-left: 0.875rem;
    padding-right: 0.875rem;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 500;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
  flex-grow: 0;
}
.btn--rounded-gray:hover{
    background-color: rgba(229, 231, 235, 0.7);
}
.btn--circle-gray{
    display: inline-flex;
    height: 2.25rem;
    width: 2.25rem;
    align-items: center;
    justify-content: center;
    border-radius: 9999px;
    background-color: rgba(229, 231, 235, 0.3);
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 500;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.btn--circle-gray:hover{
    background-color: rgba(229, 231, 235, 0.5);
}
.btn--icon{
    margin-left: 0.25rem;
    margin-right: 0.25rem;
    display: flex;
    height: 2.5rem;
    width: 2.5rem;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    border-radius: 9999px;
    border-width: 1px;
    --tw-border-opacity: 1;
    border-color: rgba(229, 231, 235, 1);
    border-color: rgba(229, 231, 235, var(--tw-border-opacity, 1));
    --tw-bg-opacity: 1;
    background-color: rgba(255, 255, 255, 1);
    background-color: rgba(255, 255, 255, var(--tw-bg-opacity, 1));
    font-weight: 500;
    --tw-text-opacity: 1;
    color: rgba(107, 114, 128, 1);
    color: rgba(107, 114, 128, var(--tw-text-opacity, 1));
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.btn--icon:hover{
    --tw-border-opacity: 1;
    border-color: rgba(229, 231, 235, 1);
    border-color: rgba(229, 231, 235, var(--tw-border-opacity, 1));
    --tw-text-opacity: 1;
    color: rgba(75, 85, 99, 1);
    color: rgba(75, 85, 99, var(--tw-text-opacity, 1));
}
.btn--icon i{
    pointer-events: none;
}
.btn--icon i.sicon-heart{
    --tw-text-opacity: 1;
    color: rgba(248, 113, 113, 1);
    color: rgba(248, 113, 113, var(--tw-text-opacity, 1));
}
.btn--share {
  margin: 0;
}
.btn--close{
    position: absolute;
    top: 0px;
    z-index: 50;
    display: none;
    height: 3rem;
    width: 3.5rem;
    font-size: 1.5rem;
    line-height: 2rem;
    --tw-text-opacity: 1;
    color: rgba(239, 68, 68, 1);
    color: rgba(239, 68, 68, var(--tw-text-opacity, 1));
}
input[type=radio].sr-only div.btn--close {
  transition: all 0.3s;
}
input[type=radio].sr-only:checked ~ div.btn--close {
  border-color: var(--color-main);
}
@media (min-width: 480px){
    .btn--close{
        display: block;
    }
}
.btn--close:where([dir="ltr"], [dir="ltr"] *){
    right: 0px;
}
.btn--close:where([dir="rtl"], [dir="rtl"] *){
    left: 0px;
}
.btn--close-sm{
    position: fixed;
    top: 0px;
    z-index: 50;
    height: 51px;
    width: 51px;
    --tw-translate-y: -100%;
    transform: translate(var(--tw-translate-x), -100%) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    --tw-bg-opacity: 1;
    background-color: rgba(239, 68, 68, 1);
    background-color: rgba(239, 68, 68, var(--tw-bg-opacity, 1));
    font-size: 1.25rem;
    line-height: 1.75rem;
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, 1);
    color: rgba(255, 255, 255, var(--tw-text-opacity, 1));
    opacity: 0;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 300ms;
}
.btn--close-sm:where([dir="ltr"], [dir="ltr"] *){
    right: 0px;
}
.btn--close-sm:where([dir="rtl"], [dir="rtl"] *){
    left: 0px;
}
.btn--collapse{
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: center;
    border-radius: 0.375rem;
    --tw-bg-opacity: 1;
    background-color: rgba(243, 244, 246, 1);
    background-color: rgba(243, 244, 246, var(--tw-bg-opacity, 1));
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
    --tw-text-opacity: 1;
    color: rgba(55, 65, 81, 1);
    color: rgba(55, 65, 81, var(--tw-text-opacity, 1));
}
@media (min-width: 480px){
    .btn--collapse:where([dir="ltr"], [dir="ltr"] *){
        padding-left: 1.75rem;
        padding-right: 1.25rem;
    }
    .btn--collapse:where([dir="rtl"], [dir="rtl"] *){
        padding-right: 1.75rem;
        padding-left: 1.25rem;
    }
}
.btn {
  /* Disabled state */
}
.btn.btn:disabled{
    cursor: default;
    border-width: 1px;
    --tw-border-opacity: 1;
    border-color: rgba(229, 231, 235, 1);
    border-color: rgba(229, 231, 235, var(--tw-border-opacity, 1));
    background-color: transparent;
    --tw-text-opacity: 1;
    color: rgba(209, 213, 219, 1);
    color: rgba(209, 213, 219, var(--tw-text-opacity, 1));
    --tw-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
    box-shadow: 0 0 rgba(0,0,0,0), 0 0 rgba(0,0,0,0), 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 rgba(0,0,0,0)), var(--tw-ring-shadow, 0 0 rgba(0,0,0,0)), var(--tw-shadow);
}
.btn.btn:disabled:hover{
    background-color: transparent;
}
.btn:disabled .s-button-text{
    opacity: 0.7;
}
.btn {
  /* Button Variants */
}
.btn--danger{
    --tw-bg-opacity: 1;
    background-color: rgba(248, 113, 113, 1);
    background-color: rgba(248, 113, 113, var(--tw-bg-opacity, 1));
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, 1);
    color: rgba(255, 255, 255, var(--tw-text-opacity, 1));
}
.btn--danger:hover{
    opacity: 0.8;
}
.btn--primary{
    border-width: 1px;
    border-color: #414042;
    border-color: var(--color-primary);
    background-color: #414042;
    background-color: var(--color-primary);
    color: #ff6767;
    color: var(--color-primary-reverse);
}
.btn--outline-primary{
    border-width: 1px;
    border-color: #414042;
    border-color: var(--color-primary);
    color: #414042;
    color: var(--color-primary);
}
.btn--outline-primary:hover{
    background-color: #414042;
    background-color: var(--color-primary);
    color: #ff6767;
    color: var(--color-primary-reverse);
}
.btn--outline{
    border-width: 1px;
    --tw-border-opacity: 1;
    border-color: rgba(229, 231, 235, 1);
    border-color: rgba(229, 231, 235, var(--tw-border-opacity, 1));
    --tw-bg-opacity: 1;
    background-color: rgba(255, 255, 255, 1);
    background-color: rgba(255, 255, 255, var(--tw-bg-opacity, 1));
    --tw-text-opacity: 1;
    color: rgba(156, 163, 175, 1);
    color: rgba(156, 163, 175, var(--tw-text-opacity, 1));
    --tw-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
    box-shadow: 0 0 rgba(0,0,0,0), 0 0 rgba(0,0,0,0), 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 rgba(0,0,0,0)), var(--tw-ring-shadow, 0 0 rgba(0,0,0,0)), var(--tw-shadow);
}
.btn--outline:hover{
    border-color: #414042;
    border-color: var(--color-primary);
    background-color: #414042;
    background-color: var(--color-primary);
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, 1);
    color: rgba(255, 255, 255, var(--tw-text-opacity, 1));
}
.btn--outline.light{
    --tw-border-opacity: 1;
    border-color: rgba(255, 255, 255, 1);
    border-color: rgba(255, 255, 255, var(--tw-border-opacity, 1));
    background-color: transparent;
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, 1);
    color: rgba(255, 255, 255, var(--tw-text-opacity, 1));
}
.btn--rounded-full{
    border-radius: 9999px;
}

.rounded-icon{
    display: flex;
    height: 4rem;
    width: 4rem;
    align-items: center;
    justify-content: center;
    border-radius: 9999px;
    font-size: 1.5rem;
    line-height: 2rem;
}

/*
* Coupon Button
*/
button.btn--coupon{
    position: absolute;
    top: 0px;
    height: 40px;
    flex-shrink: 0;
}
input[type=radio].sr-only divbutton.btn--coupon {
  transition: all 0.3s;
}
input[type=radio].sr-only:checked ~ divbutton.btn--coupon {
  border-color: var(--color-main);
}
button.btn--coupon:where([dir="ltr"], [dir="ltr"] *){
    right: 0px;
    border-top-left-radius: 0px;
    border-bottom-left-radius: 0px;
}
button.btn--coupon:where([dir="rtl"], [dir="rtl"] *){
    left: 0px;
    border-top-right-radius: 0px;
    border-bottom-right-radius: 0px;
}
button.btn--coupon .s-button-text{
    display: flex !important;
}

salla-button.has-not-coupon button .icon, salla-button.has-coupon button .coupon-text{
    display: none;
}
salla-button.has-coupon button{
    width: 3rem;
    padding-left: 0px;
    padding-right: 0px;
}

/*
* Links ---------------------------------------------------
*/
.link--primary{
    color: #414042;
    color: var(--color-primary);
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.link--primary:hover{
    color: var(--color-primary-dark);
}

#btn-show-more{
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
#btn-show-more.is-expanded{
    pointer-events: none;
    opacity: 0;
}

#blog-like.liked i {
  width: 18px;
  height: 16px;
  background-color: #414042;
  background-color: var(--color-primary); /* This will show the masked area */
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='18'%20height='16'%20viewBox='0%200%2018%2016'%20fill='none'%3E%3Cpath%20d='M1.5%206.74998H3.75V15.75H1.5C1.08579%2015.75%200.75%2015.4142%200.75%2015V7.49998C0.75%207.08577%201.08579%206.74998%201.5%206.74998ZM5.46967%205.78031L10.2701%200.979957C10.402%200.847994%2010.6109%200.833152%2010.7602%200.945119L11.3996%201.4247C11.7632%201.69734%2011.927%202.1619%2011.8148%202.60224L10.9499%205.99998H15.75C16.5784%205.99998%2017.25%206.67155%2017.25%207.49998V9.07822C17.25%209.2742%2017.2116%209.46822%2017.137%209.64935L14.8162%2015.2855C14.7005%2015.5665%2014.4266%2015.75%2014.1227%2015.75H6C5.58579%2015.75%205.25%2015.4142%205.25%2015V6.31064C5.25%206.11173%205.32902%205.92096%205.46967%205.78031Z'%20fill='%23236E4C'/%3E%3C/svg%3E");
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='18'%20height='16'%20viewBox='0%200%2018%2016'%20fill='none'%3E%3Cpath%20d='M1.5%206.74998H3.75V15.75H1.5C1.08579%2015.75%200.75%2015.4142%200.75%2015V7.49998C0.75%207.08577%201.08579%206.74998%201.5%206.74998ZM5.46967%205.78031L10.2701%200.979957C10.402%200.847994%2010.6109%200.833152%2010.7602%200.945119L11.3996%201.4247C11.7632%201.69734%2011.927%202.1619%2011.8148%202.60224L10.9499%205.99998H15.75C16.5784%205.99998%2017.25%206.67155%2017.25%207.49998V9.07822C17.25%209.2742%2017.2116%209.46822%2017.137%209.64935L14.8162%2015.2855C14.7005%2015.5665%2014.4266%2015.75%2014.1227%2015.75H6C5.58579%2015.75%205.25%2015.4142%205.25%2015V6.31064C5.25%206.11173%205.32902%205.92096%205.46967%205.78031Z'%20fill='%23236E4C'/%3E%3C/svg%3E");
          mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='18'%20height='16'%20viewBox='0%200%2018%2016'%20fill='none'%3E%3Cpath%20d='M1.5%206.74998H3.75V15.75H1.5C1.08579%2015.75%200.75%2015.4142%200.75%2015V7.49998C0.75%207.08577%201.08579%206.74998%201.5%206.74998ZM5.46967%205.78031L10.2701%200.979957C10.402%200.847994%2010.6109%200.833152%2010.7602%200.945119L11.3996%201.4247C11.7632%201.69734%2011.927%202.1619%2011.8148%202.60224L10.9499%205.99998H15.75C16.5784%205.99998%2017.25%206.67155%2017.25%207.49998V9.07822C17.25%209.2742%2017.2116%209.46822%2017.137%209.64935L14.8162%2015.2855C14.7005%2015.5665%2014.4266%2015.75%2014.1227%2015.75H6C5.58579%2015.75%205.25%2015.4142%205.25%2015V6.31064C5.25%206.11173%205.32902%205.92096%205.46967%205.78031Z'%20fill='%23236E4C'/%3E%3C/svg%3E");
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  display: inline-block;
  position: relative;
  top: -2px;
}

.s-button-loader-center:has(> .s-button-loader) > i{
    opacity: 0;
    transition-property: opacity;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 300ms;
}

.s-button-wrap[loading] .s-button-loader-center > i,
.s-button-loader-center[loading] > i{
    opacity: 0;
    transition-property: opacity;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 300ms;
}

.s-button-btn > .s-button-text {
  overflow: clip;
  overflow-clip-margin: 0.4em;
}

.custom-radios div {
  display: inline-block;
}
.custom-radios input[type=radio] {
  display: none;
}
.custom-radios input[type=radio] + label {
  cursor: pointer;
}
.custom-radios input[type=radio] + label span {
  display: inline-block;
  width: 40px;
  height: 40px;
  vertical-align: middle;
  cursor: pointer;
  border-radius: 6px;
  border: 2px solid #ffffff;
  background-repeat: no-repeat;
  background-position: center;
  text-align: center;
  line-height: 40px;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.075);
}
.custom-radios input[type=radio] + label span::after {
  opacity: 0;
  display: inline-block;
  transform: scale(0.4);
  transition: all 0.3s ease;
  font-family: "sallaicons" !important;
  font-style: normal;
  font-weight: normal;
  font-feature-settings: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  content: "\ea9d";
  color: #fff;
  font-size: 20px;
  font-weight: bold;
}
.custom-radios input[type=radio]:checked + label span:after {
  opacity: 1;
  transform: scale(1);
}
.custom-radios input[type=radio]:disabled + label {
  opacity: 0.45;
}
.custom-radios--rounded input[type=radio] + label span {
  border-radius: 50%;
  width: 30px;
  height: 30px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background-color: #ddd;
}
.custom-radios--rounded input[type=radio] + label span::after {
  content: "";
  width: 14px;
  height: 14px;
  background-color: #f1f1f1;
  border-radius: 50%;
}
.custom-radios--icons {
  font-size: 40px;
  line-height: 42px;
}
.custom-radios--icons input[type=radio] + label {
  transition: transform 0.2s, color 0.3s;
  filter: grayscale(1);
}
.custom-radios--icons input[type=radio] + label:hover {
  filter: grayscale(0);
}
.custom-radios--icons input[type=radio]:checked + label {
  filter: grayscale(0);
  transform: scale(1.25) translateY(-3px);
}
.custom-radios--icons input[type=radio]:checked + label .rate-title {
  font-weight: bold;
  color: #2b2d34;
}

.radio-images__label{
    margin-bottom: 0.125rem;
    display: inline-block;
    height: 6rem;
    width: 100%;
    cursor: pointer;
    overflow: hidden;
    border-radius: 0.375rem;
}

.radio-images__label * {
  pointer-events: none;
}

@media (min-width: 768px){
    .radio-images__label{
        height: 5rem;
    }
}
.radio-images__badge{
    position: absolute;
    bottom: 2.5rem;
    left: 50%;
    display: block;
    --tw-translate-x: -50%;
    transform: translate(-50%, var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    white-space: nowrap;
    border-radius: 9999px;
    --tw-bg-opacity: 1;
    background-color: rgba(248, 113, 113, 1);
    background-color: rgba(248, 113, 113, var(--tw-bg-opacity, 1));
    padding-left: 0.375rem;
    padding-right: 0.375rem;
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, 1);
    color: rgba(255, 255, 255, var(--tw-text-opacity, 1));
}
input[type=radio].sr-only div.radio-images__badge {
  transition: all 0.3s;
}
input[type=radio].sr-only:checked ~ div.radio-images__badge {
  border-color: var(--color-main);
}
.radio-images input[type=radio] {
  display: none;
}
.radio-images input[type=radio] + label {
  position: relative;
}
.radio-images input[type=radio] + label:after {
  content: "\ea9d";
  font-family: "sallaicons" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-feature-settings: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background: white;
  border-radius: 50%;
  top: 50%;
  left: 50%;
  width: 20px;
  height: 20px;
  font-size: 14px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  opacity: 0;
  transform: translate(-50%, -50%) scale(0.4);
  transition: transform 0.3s;
}
.radio-images input[type=radio] + label:before {
  content: "";
  background-color: #000;
  opacity: 0;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  transition: opacity 0.3s;
}
.radio-images input[type=radio]:checked + label:after {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}
.radio-images input[type=radio]:checked + label:before {
  opacity: 0.3;
}
.radio-images input[type=radio]:disabled + label {
  opacity: 0.45;
}

/* Product card rules the theme markup uses, copied from twilight utilities.json (theme owns its markup styling). */
/* Built at runtime: s-product-card-image-${fit} */
.s-product-card-image-cover{
    -o-object-fit: cover;
       object-fit: cover;
}

.s-product-card-image-contain{
    -o-object-fit: contain;
       object-fit: contain;
}

.s-product-card-entry{
    position: relative;
    display: flex;
    height: 100%;
    justify-content: space-between;
    border-radius: .75rem;
    --tw-bg-opacity: 1;
    background-color: rgba(255, 255, 255, 1);
    background-color: rgba(255, 255, 255, var(--tw-bg-opacity, 1));
    transition-property: box-shadow;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 300ms;
}
.s-product-card-shadow:hover {
  box-shadow: 5px 10px 30px rgba(43, 45, 52, 0.0509803922);
}
.s-product-card-out-of-stock img.loaded{
    --tw-grayscale: grayscale(100%);
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) grayscale(100%) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.s-product-card-overlay{
    position: absolute;
    top: 0px;
    bottom: 0px;
    left: 0px;
    right: 0px;
    --tw-bg-opacity: 1;
    background-color: rgba(0, 0, 0, 1);
    background-color: rgba(0, 0, 0, var(--tw-bg-opacity, 1));
    opacity: 0.5;
    transition-property: opacity;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 700ms;
}
input[type=radio].sr-only div.s-product-card-overlay {
  transition: all 0.3s;
}
input[type=radio].sr-only:checked ~ div.s-product-card-overlay {
  border-color: var(--color-main);
}
.s-product-card-overlay:hover{
    opacity: 0.4;
}
.s-product-card-vertical{
    flex-direction: column;
}
.s-product-card-vertical .s-product-card-image{
    flex: 1 1 0%;
    border-top-left-radius: .75rem;
    border-top-right-radius: .75rem;
}
.s-product-card-vertical .s-product-card-wishlist-btn{
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    opacity: 0.75;
}
input[type=radio].sr-only div.s-product-card-vertical .s-product-card-wishlist-btn {
  transition: all 0.3s;
}
input[type=radio].sr-only:checked ~ div.s-product-card-vertical .s-product-card-wishlist-btn {
  border-color: var(--color-main);
}
.s-product-card-vertical .s-product-card-wishlist-btn:hover{
    opacity: 1;
}
@media (min-width: 768px){
    .s-product-card-vertical .s-product-card-wishlist-btn{
        right: 0.5rem;
    }
}
.s-product-card-vertical .s-product-card-wishlist-btn:where([dir="rtl"], [dir="rtl"] *){
    left: 0.5rem;
    right: auto;
    right: initial;
}
@media (min-width: 768px){
    .s-product-card-vertical .s-product-card-wishlist-btn:where([dir="rtl"], [dir="rtl"] *){
        left: 0.5rem;
        right: auto;
        right: initial;
    }
}
.s-product-card-vertical .s-product-card-wishlist-btn button{
    margin: 0px;
    --tw-bg-opacity: 1 !important;
    background-color: rgba(255, 255, 255, 1) !important;
    background-color: rgba(255, 255, 255, var(--tw-bg-opacity, 1)) !important;
}
.s-product-card-minimal .s-product-card-wishlist-btn{
    position: absolute;
    top: 0px;
    right: 0px;
    opacity: 0.75;
}
input[type=radio].sr-only div.s-product-card-minimal .s-product-card-wishlist-btn {
  transition: all 0.3s;
}
input[type=radio].sr-only:checked ~ div.s-product-card-minimal .s-product-card-wishlist-btn {
  border-color: var(--color-main);
}
.s-product-card-minimal .s-product-card-wishlist-btn:hover{
    opacity: 1;
}
@media (min-width: 768px){
    .s-product-card-minimal .s-product-card-wishlist-btn{
        right: 0px;
    }
}
.s-product-card-minimal .s-product-card-wishlist-btn:where([dir="rtl"], [dir="rtl"] *){
    left: 0px;
    right: auto;
    right: initial;
}
@media (min-width: 768px){
    .s-product-card-minimal .s-product-card-wishlist-btn:where([dir="rtl"], [dir="rtl"] *){
        left: 0px;
        right: auto;
        right: initial;
    }
}
.s-product-card-minimal .s-product-card-image{
    width: 8rem;
}
@media (min-width: 640px){
    .s-product-card-minimal .s-product-card-image{
        width: 14rem;
    }
}
@media (min-width: 1024px){
    .s-product-card-minimal .s-product-card-image{
        width: 7rem;
    }
}
.s-product-card-minimal .s-product-card-content-title a{
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.s-product-card-minimal .s-product-card-content{
    display: flex;
    flex: 1 1 0%;
    flex-direction: column;
    overflow: hidden;
    padding: 1.25rem;
}
.s-product-card-minimal .s-product-card-wishlist-btn button{
    margin: 0px;
    background-color: transparent;
}
.s-product-card-wishlist-btn button:hover svg{
    fill: #4b5563;
}
.s-product-card-fit-height .s-product-card-image{
    height: 11rem;
    max-height: 15rem;
}
.s-product-card-quantity{
    position: absolute;
    bottom: 0.25rem;
    left: 50%;
    z-index: 1;
    max-width: calc(100% - 60px);
    --tw-translate-x: -50%;
    transform: translate(-50%, var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    border-radius: .75rem;
    --tw-bg-opacity: 1;
    background-color: rgba(248, 113, 113, 1);
    background-color: rgba(248, 113, 113, var(--tw-bg-opacity, 1));
    padding-left: 0.625rem;
    padding-right: 0.625rem;
    padding-top: 0.375rem;
    padding-bottom: 0.375rem;
    font-size: 0.75rem;
    line-height: 1rem;
    font-weight: 700;
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, 1);
    color: rgba(255, 255, 255, var(--tw-text-opacity, 1));
}
input[type=radio].sr-only div.s-product-card-quantity {
  transition: all 0.3s;
}
input[type=radio].sr-only:checked ~ div.s-product-card-quantity {
  border-color: var(--color-main);
}
@media (min-width: 768px){
    .s-product-card-quantity{
        padding-top: 0.5rem;
        padding-bottom: 0.5rem;
    }
}
.s-product-card-promotion-title{
    position: absolute;
    top: 1rem;
    left: 0px;
    z-index: 1;
    max-width: calc(100% - 60px);
    border-top-right-radius: .75rem;
    border-bottom-right-radius: .75rem;
    --tw-bg-opacity: 1;
    background-color: rgba(248, 113, 113, 1);
    background-color: rgba(248, 113, 113, var(--tw-bg-opacity, 1));
    padding-left: 0.625rem;
    padding-right: 0.625rem;
    padding-top: 0.375rem;
    padding-bottom: 0.375rem;
    font-size: 0.75rem;
    line-height: 1rem;
    font-weight: 700;
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, 1);
    color: rgba(255, 255, 255, var(--tw-text-opacity, 1));
}
input[type=radio].sr-only div.s-product-card-promotion-title {
  transition: all 0.3s;
}
input[type=radio].sr-only:checked ~ div.s-product-card-promotion-title {
  border-color: var(--color-main);
}
@media (min-width: 768px){
    .s-product-card-promotion-title{
        padding-top: 0.5rem;
        padding-bottom: 0.5rem;
    }
}
.s-product-card-promotion-title:where([dir="rtl"], [dir="rtl"] *){
    right: 0px;
    left: auto;
    left: initial;
    border-top-left-radius: .75rem;
    border-bottom-left-radius: .75rem;
    border-top-right-radius: 0px;
    border-bottom-right-radius: 0px;
}
.s-product-card-out-badge{
    position: absolute;
    bottom: 0.5rem;
    left: 50%;
    z-index: 1;
    max-width: calc(100% - 60px);
    --tw-translate-x: -50%;
    transform: translate(-50%, var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    border-radius: 0.375rem;
    --tw-bg-opacity: 1;
    background-color: rgba(243, 244, 246, 1);
    background-color: rgba(243, 244, 246, var(--tw-bg-opacity, 1));
    padding-left: 0.625rem;
    padding-right: 0.625rem;
    padding-top: 0.375rem;
    padding-bottom: 0.375rem;
    font-size: 0.75rem;
    line-height: 1rem;
    font-weight: 700;
    --tw-text-opacity: 1;
    color: rgba(153, 153, 153, 1);
    color: rgba(153, 153, 153, var(--tw-text-opacity, 1));
}
input[type=radio].sr-only div.s-product-card-out-badge {
  transition: all 0.3s;
}
input[type=radio].sr-only:checked ~ div.s-product-card-out-badge {
  border-color: var(--color-main);
}
@media (min-width: 768px){
    .s-product-card-out-badge{
        padding-top: 0.5rem;
        padding-bottom: 0.5rem;
    }
}
.s-product-card-image{
    position: relative;
    height: 100%;
    width: 100%;
    flex-shrink: 0;
    overflow: hidden;
    --tw-bg-opacity: 1;
    background-color: rgba(243, 244, 246, 1);
    background-color: rgba(243, 244, 246, var(--tw-bg-opacity, 1));
}
.s-product-card-image::before{
    position: absolute;
    top: 50%;
    left: 50%;
    display: inline-block;
    --tw-translate-x: -50%;
    --tw-translate-y: -50%;
    transform: translate(-50%, -50%) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    font-size: 1.875rem;
    line-height: 2.25rem;
    content: var(--tw-content);
    --tw-text-opacity: 1;
    color: rgba(229, 231, 235, 1);
    color: rgba(229, 231, 235, var(--tw-text-opacity, 1));
}
.s-product-card-image:hover{
    opacity: 0.9;
}
.s-product-card-image img{
    height: 100%;
    width: 100%;
    transition-property: opacity;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 500ms;
}
.s-product-card-image img.lazy{
    opacity: 0;
}
.s-product-card-image img.loaded{
    position: relative;
    opacity: 1;
}
.s-product-card-content{
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 0.75rem;
}
@media (min-width: 640px){
    .s-product-card-content{
        padding: 1.25rem;
    }
}
.s-product-card-content-title{
    margin-bottom: 0.625rem;
    max-width: 100%;
    line-height: 1.5rem;
}
.s-product-card-content-title a{
    display: block;
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 700;
    --tw-text-opacity: 1;
    color: rgba(31, 41, 55, 1);
    color: rgba(31, 41, 55, var(--tw-text-opacity, 1));
}
.s-product-card-content-title a:hover{
    color: #414042;
    color: var(--color-primary);
}
.s-product-card-content-subtitle{
    margin-bottom: 0.625rem;
    font-size: 0.875rem;
    line-height: 1.5rem;
    --tw-text-opacity: 1;
    color: rgba(75, 85, 99, 1);
    color: rgba(75, 85, 99, var(--tw-text-opacity, 1));
}
.s-product-card-donation-input{
    flex: 1 1 0%;
}
.s-product-card-donation-input label{
    margin-bottom: 0.625rem;
    display: block;
    font-size: 0.875rem;
    line-height: 1.25rem;
}
.s-product-card-donation-input label span{
    --tw-text-opacity: 1;
    color: rgba(239, 68, 68, 1);
    color: rgba(239, 68, 68, var(--tw-text-opacity, 1));
}
.s-product-card-content-sub{
    margin-bottom: 1.25rem;
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
}
.s-product-card-rating{
    display: flex;
    align-items: center;
}
.s-product-card-rating > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(0.25rem * 0);
    margin-right: calc(0.25rem * var(--tw-space-x-reverse));
    margin-left: calc(0.25rem * (1 - 0));
    margin-left: calc(0.25rem * (1 - var(--tw-space-x-reverse)));
    margin-left: calc(0.25rem * calc(1 - 0));
    margin-left: calc(0.25rem * calc(1 - var(--tw-space-x-reverse)));
}
.s-product-card-rating{
    font-size: 0.875rem;
    line-height: 1.25rem;
    --tw-text-opacity: 1;
    color: rgba(156, 163, 175, 1);
    color: rgba(156, 163, 175, var(--tw-text-opacity, 1));
}
.s-product-card-rating:where([dir="rtl"], [dir="rtl"] *) > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 1;
}
.s-product-card-rating span svg{
    margin-bottom: 3px;
    height: 1rem;
    width: 1rem;
    fill: #fbbf24;
}
.s-product-card-content-footer{
    margin-top: auto;
    display: flex;
    align-items: center;
}
.s-product-card-sale-price > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(0.25rem * 0);
    margin-right: calc(0.25rem * var(--tw-space-x-reverse));
    margin-left: calc(0.25rem * (1 - 0));
    margin-left: calc(0.25rem * (1 - var(--tw-space-x-reverse)));
    margin-left: calc(0.25rem * calc(1 - 0));
    margin-left: calc(0.25rem * calc(1 - var(--tw-space-x-reverse)));
}
.s-product-card-sale-price:where([dir="rtl"], [dir="rtl"] *) > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 1;
}
.s-product-card-sale-price h4{
    display: inline-block;
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 700;
    --tw-text-opacity: 1;
    color: rgba(248, 113, 113, 1);
    color: rgba(248, 113, 113, var(--tw-text-opacity, 1));
}
.s-product-card-sale-price span{
    font-size: 0.875rem;
    line-height: 1.25rem;
    --tw-text-opacity: 1;
    color: rgba(156, 163, 175, 1);
    color: rgba(156, 163, 175, var(--tw-text-opacity, 1));
    text-decoration-line: line-through;
}
.cart-item__price.s-product-card-sale-price span {
  font-size: 0.85rem;
  font-weight: 500;
  opacity: 0.6;
}
.s-product-card-starting-price{
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
}
.s-product-card-starting-price h4{
    display: inline-block;
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 700;
    --tw-text-opacity: 1;
    color: rgba(248, 113, 113, 1);
    color: rgba(248, 113, 113, var(--tw-text-opacity, 1));
}
.s-product-card-price{
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 700;
}
.s-product-card-content-pie{
    position: absolute;
    top: 0.625rem;
    right: 1.25rem;
    display: flex;
    height: 72px;
    width: 72px;
    align-items: center;
    justify-content: center;
    color: #414042;
    color: var(--color-primary);
}
input[type=radio].sr-only div.s-product-card-content-pie {
  transition: all 0.3s;
}
input[type=radio].sr-only:checked ~ div.s-product-card-content-pie {
  border-color: var(--color-main);
}
.s-product-card-content-pie:where([dir="rtl"], [dir="rtl"] *){
    left: 1.25rem;
    right: auto;
    right: initial;
}
.s-product-card-content-pie span{
    position: absolute;
    top: 43%;
    left: 50%;
    display: flex;
    --tw-translate-y: -50%;
    --tw-translate-x: -50%;
    transform: translate(-50%, -50%) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size: 0.75rem;
    line-height: 1rem;
    line-height: 1;
    --tw-text-opacity: 1;
    color: rgba(124, 128, 130, 1);
    color: rgba(124, 128, 130, var(--tw-text-opacity, 1));
}
input[type=radio].sr-only div.s-product-card-content-pie span {
  transition: all 0.3s;
}
input[type=radio].sr-only:checked ~ div.s-product-card-content-pie span {
  border-color: var(--color-main);
}
.s-product-card-content-pie span b{
    font-size: 1.25rem;
    line-height: 1.75rem;
    font-weight: 700;
    color: #414042;
    color: var(--color-primary);
}
.s-product-card-content-extra-padding{
    padding-right: 6rem;
}
.s-product-card-content-extra-padding:where([dir="rtl"], [dir="rtl"] *){
    padding-left: 6rem;
    padding-right: 0px;
}
.s-product-card-wishlist-added svg{
    fill: #ef4444;
}
.s-product-card-horizontal .s-product-card-image{
    height: auto;
    width: 8rem;
}
@media (min-width: 640px){
    .s-product-card-horizontal .s-product-card-image{
        width: 14rem;
    }
}
.s-product-card-horizontal .s-product-card-image:where([dir="ltr"], [dir="ltr"] *){
    border-top-left-radius: .75rem;
    border-bottom-left-radius: .75rem;
}
.s-product-card-horizontal .s-product-card-image:where([dir="rtl"], [dir="rtl"] *){
    border-top-right-radius: .75rem;
    border-bottom-right-radius: .75rem;
}
.s-product-card-horizontal .s-product-card-quantity{
    max-width: none;
    max-width: initial;
}
.s-product-card-horizontal .s-product-card-content-title a{
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.s-product-card-horizontal .s-product-card-promotion-title{
    max-width: none;
    max-width: initial;
}
.s-product-card-horizontal .s-product-card-out-badge{
    max-width: none;
    max-width: initial;
}
.s-product-card-horizontal .s-product-card-content{
    margin-bottom: 0.625rem;
    width: 100%;
}
.s-product-card-full-image{
    height: 20rem;
    overflow: hidden;
}
@media (min-width: 768px){
    .s-product-card-full-image{
        height: auto;
    }
}
.s-product-card-full-image .s-product-card-content{
    position: absolute;
    bottom: 0px;
    z-index: 10;
    width: 100%;
    padding-left: 2.5rem;
    padding-right: 2.5rem;
    padding-top: 1.25rem;
    padding-bottom: 1.75rem;
}
input[type=radio].sr-only div.s-product-card-full-image .s-product-card-content {
  transition: all 0.3s;
}
input[type=radio].sr-only:checked ~ div.s-product-card-full-image .s-product-card-content {
  border-color: var(--color-main);
}
.s-product-card-full-image img{
    position: relative;
    height: 100%;
    width: 100%;
    overflow: hidden;
    border-radius: .75rem;
}
.s-product-card-full-image img:hover{
    opacity: 0.9;
}
.s-product-card-full-image .s-product-card-image a{
    height: 100%;
    width: 100%;
}
.s-product-card-full-image .s-product-card-content-title a{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, 1);
    color: rgba(255, 255, 255, var(--tw-text-opacity, 1));
}
.s-product-card-full-image .s-product-card-content-title a:hover{
    color: #414042;
    color: var(--color-primary);
}
.s-product-card-full-image .s-product-card-content-subtitle{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, 1);
    color: rgba(255, 255, 255, var(--tw-text-opacity, 1));
}
.s-product-card-full-image .s-product-card-price{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, 1);
    color: rgba(255, 255, 255, var(--tw-text-opacity, 1));
}
.s-product-card-full-image .s-product-card-sale-price{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, 1);
    color: rgba(255, 255, 255, var(--tw-text-opacity, 1));
}
.s-product-card-full-image .s-product-card-sale-price span{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, 1);
    color: rgba(255, 255, 255, var(--tw-text-opacity, 1));
}
.s-product-card-image-full{
    width: 100%;
}
.s-product-card-compact .s-product-card-content-footer{
    margin-top: 0px;
    flex-shrink: 0;
}
.s-product-card-compact .s-product-card-content{
    min-width: 0px;
    flex: 1 1 0%;
    padding: 0px;
    text-align: right;
}
.s-product-card-compact .s-product-card-content-main{
    margin-bottom: 0.25rem;
}
.s-product-card-compact .s-product-card-content-title{
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 600;
    line-height: 1.25;
    --tw-text-opacity: 1;
    color: rgba(55, 65, 81, 1);
    color: rgba(55, 65, 81, var(--tw-text-opacity, 1));
}
.s-product-card-compact .s-product-card-content-title a{
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    display: block;
}
.s-product-card-compact .s-product-card-content-subtitle{
    margin-top: 0.25rem;
    display: none;
    font-size: 0.75rem;
    line-height: 1rem;
    --tw-text-opacity: 1;
    color: rgba(107, 114, 128, 1);
    color: rgba(107, 114, 128, var(--tw-text-opacity, 1));
}
.s-product-card-compact .s-product-card-content-sub{
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 0.5rem;
    font-size: 0.75rem;
    line-height: 1rem;
    --tw-text-opacity: 1;
    color: rgba(107, 114, 128, 1);
    color: rgba(107, 114, 128, var(--tw-text-opacity, 1));
}
.s-product-card-compact .s-product-card-content-sub h4{
    margin: 0px;
    font-weight: 400;
}
.s-product-card-compact .s-product-card-content-sub .s-product-card-price{
    font-weight: 400;
}
.s-product-card-compact .s-product-card-image{
    height: 5rem;
    width: 5rem;
    flex-shrink: 0;
    border-radius: 0.375rem;
}
.s-product-card-compact .s-product-card-image img{
    height: 100%;
    width: 100%;
    border-radius: 0.375rem;
    -o-object-fit: cover;
       object-fit: cover;
}
.s-product-card-compact .s-product-card-promotion-title{
    display: none;
}

.s-product-card-minimal .s-product-card-wishlist-btn button svg, .s-product-card-full-image .s-product-card-wishlist-btn button svg{
    height: 1rem;
    width: 1rem;
    fill: #fff;
}

.s-product-card-special .s-product-card-content-main, special .s-product-card-content-sub{
    padding-right: 6rem;
}

.s-product-card-special .s-product-card-content-main:where([dir="rtl"], [dir="rtl"] *), special .s-product-card-content-sub:where([dir="rtl"], [dir="rtl"] *){
    padding-left: 6rem;
    padding-right: 0px;
}

/* Testimonials (reviews) rules the theme markup uses, copied from twilight utilities.json (theme owns its markup styling). */
@media (min-width: 1024px){
    .s-reviews-container{
        overflow: hidden;
    }
}
.s-reviews-container .swiper-slide{
    height: auto;
    width: 20%;
    overflow: hidden;
    padding-left: 10px;
    padding-right: 10px;
}
@media (min-width: 1024px){
    .s-reviews-container .swiper-slide{
        padding-left: 15px;
        padding-right: 15px;
    }
}
.s-reviews-container .swiper-slide:not(.swiper-slide-active) .s-reviews-testimonial__avatar{
    margin-bottom: 2rem;
}
.s-reviews-container .swiper-slide:not(.swiper-slide-active) .s-reviews-testimonial__inner{
    position: relative;
    flex-direction: column;
    align-items: center;
    text-align: center;
}
.s-reviews-container .swiper-slide:not(.swiper-slide-active) .s-reviews-testimonial__icon svg{
    top: -2rem;
    left: 50%;
    height: 1.5rem;
    width: 1.5rem;
    --tw-translate-x: -50%;
    --tw-translate-y: 0.25rem;
    transform: translate(-50%, 0.25rem) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.s-reviews-container .swiper-slide-prev .s-reviews-testimonial{
    align-items: center;
    justify-content: flex-end;
}
.s-reviews-container .swiper-slide-next .s-reviews-testimonial{
    align-items: center;
    justify-content: flex-start;
}
.s-reviews-container .swiper-slide-next .s-reviews-testimonial:where([dir="ltr"], [dir="ltr"] *){
    padding-right: 7%;
}
.s-reviews-container .swiper-slide-next .s-reviews-testimonial:where([dir="rtl"], [dir="rtl"] *){
    padding-left: 7%;
}
.s-reviews-container .swiper-slide-active{
    width: 60%;
}
.s-reviews-container .swiper-slide-active .s-reviews-testimonial{
    opacity: 1;
    --tw-shadow: 5px 0 0 0 var(--color-main);
    --tw-shadow-colored: 5px 0 0 0 var(--tw-shadow-color);
    box-shadow: 0 0 rgba(0,0,0,0), 0 0 rgba(0,0,0,0), var(--tw-shadow);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 rgba(0,0,0,0)), var(--tw-ring-shadow, 0 0 rgba(0,0,0,0)), var(--tw-shadow);
}
@media (min-width: 1024px){
    .s-reviews-container .swiper-slide-active .s-reviews-testimonial:where([dir="ltr"], [dir="ltr"] *){
        padding-right: 6rem;
    }
    .s-reviews-container .swiper-slide-active .s-reviews-testimonial:where([dir="rtl"], [dir="rtl"] *){
        padding-left: 6rem;
    }
}
.s-reviews-container .swiper-slide-active .s-reviews-testimonial__inner{
    width: 100%;
}
.s-reviews-container .swiper-slide-active .s-reviews-testimonial__avatar:where([dir="ltr"], [dir="ltr"] *){
    margin-right: 1.5rem;
}
.s-reviews-container .swiper-slide-active .s-reviews-testimonial__avatar:where([dir="rtl"], [dir="rtl"] *){
    margin-left: 1.5rem;
}
.s-reviews-container .swiper-slide-active .s-reviews-testimonial__info{
    margin-bottom: 0.5rem;
}
@media (min-width: 1024px){
    .s-reviews-container .swiper-slide-active .s-reviews-testimonial__info{
        margin-bottom: 0px;
    }
}
.s-reviews-container .swiper-slide-active .s-reviews-testimonial__rating{
    display: block;
}
.s-reviews-container .swiper-slide-active .s-reviews-testimonial__text p{
    display: block;
}
.s-reviews-container .s-slider--nav-arrow{
    right: 17%;
    top: 35%;
    display: none;
    --tw-translate-y: 50%;
    transform: translate(var(--tw-translate-x), 50%) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
@media (min-width: 1024px){
    .s-reviews-container .s-slider--nav-arrow{
        display: flex;
    }
}
.s-reviews-container .s-slider--nav-arrow.s-slider-next{
    left: 17%;
}
.s-reviews-container .s-slider--nav-arrow.s-slider-next:where([dir="ltr"], [dir="ltr"] *){
    left: auto;
}
.s-reviews-container .s-slider--nav-arrow.s-slider-next:where([dir="rtl"], [dir="rtl"] *){
    right: auto;
}
.s-reviews-header-wrapper{
    display: flex;
    justify-content: space-between;
}
.s-reviews-header{
    margin-bottom: 1rem;
    margin-right: 0.5rem;
    font-size: 1.125rem;
    line-height: 1.75rem;
    font-weight: 700;
    line-height: 1.2;
}
.s-reviews-testimonial{
    position: relative;
    display: flex;
    height: 100%;
    border-top-left-radius: 0.375rem;
    border-bottom-left-radius: 0.375rem;
    --tw-bg-opacity: 1;
    background-color: rgba(255, 255, 255, 1);
    background-color: rgba(255, 255, 255, var(--tw-bg-opacity, 1));
    padding: 1.5rem;
    opacity: 0.6;
    --tw-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
    --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
    box-shadow: 0 0 rgba(0,0,0,0), 0 0 rgba(0,0,0,0), 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 rgba(0,0,0,0)), var(--tw-ring-shadow, 0 0 rgba(0,0,0,0)), var(--tw-shadow);
    transition-property: opacity;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
@media (min-width: 1024px){
    .s-reviews-testimonial{
        padding: 2.5rem;
        --tw-shadow: 0 0 rgba(0,0,0,0);
        --tw-shadow-colored: 0 0 rgba(0,0,0,0);
        box-shadow: 0 0 rgba(0,0,0,0), 0 0 rgba(0,0,0,0), 0 0 rgba(0,0,0,0);
        box-shadow: var(--tw-ring-offset-shadow, 0 0 rgba(0,0,0,0)), var(--tw-ring-shadow, 0 0 rgba(0,0,0,0)), var(--tw-shadow);
    }
}
.s-reviews-testimonial__inner{
    display: flex;
    align-items: center;
}
.s-reviews-testimonial__avatar{
    height: 5rem;
    width: 5rem;
    flex-shrink: 0;
    overflow: hidden;
    border-radius: 9999px;
}
.s-reviews-testimonial__icon svg{
    position: absolute;
    top: 1rem;
    height: 2.25rem;
    width: 2.25rem;
    fill: #414042;
    fill: var(--color-primary);
    font-size: 2.25rem;
    line-height: 2.5rem;
}
input[type=radio].sr-only div.s-reviews-testimonial__icon svg {
  transition: all 0.3s;
}
input[type=radio].sr-only:checked ~ div.s-reviews-testimonial__icon svg {
  border-color: var(--color-main);
}
@media (min-width: 640px){
    .s-reviews-testimonial__icon svg{
        font-size: 3rem;
        line-height: 1;
    }
}
@media (min-width: 1024px){
    .s-reviews-testimonial__icon svg{
        height: 3rem;
        width: 3rem;
    }
}
.s-reviews-testimonial__icon svg:where([dir="ltr"], [dir="ltr"] *){
    right: 2rem;
}
@media (min-width: 640px){
    .s-reviews-testimonial__icon svg:where([dir="ltr"], [dir="ltr"] *){
        right: 3rem;
    }
}
@media (min-width: 1024px){
    .s-reviews-testimonial__icon svg:where([dir="ltr"], [dir="ltr"] *){
        right: 2rem;
    }
}
.s-reviews-testimonial__icon svg:where([dir="rtl"], [dir="rtl"] *){
    left: 2rem;
}
@media (min-width: 640px){
    .s-reviews-testimonial__icon svg:where([dir="rtl"], [dir="rtl"] *){
        left: 3rem;
    }
}
@media (min-width: 1024px){
    .s-reviews-testimonial__icon svg:where([dir="rtl"], [dir="rtl"] *){
        left: 2rem;
    }
}
.s-reviews-testimonial__text{
    flex: 1 1 0%;
}
.s-reviews-testimonial__text p{
    margin-bottom: 0.5rem;
    margin-top: 1rem;
    display: none;
    line-height: 1.5rem;
}
@media (min-width: 640px){
    .s-reviews-testimonial__text p{
        margin-top: 0px;
    }
}
.s-reviews-testimonial__name_wrapper{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
@media (min-width: 1024px){
    .s-reviews-testimonial__name_wrapper{
        flex-direction: row;
        justify-content: space-between;
    }
}
.s-reviews-testimonial__rating{
    margin-left: 2.5rem;
    display: none;
    font-size: 0.875rem;
    line-height: 1.25rem;
}
.s-reviews-testimonial__info h2{
    font-size: 0.75rem;
    line-height: 1rem;
    font-weight: 700;
}
@media (min-width: 480px){
    .s-reviews-testimonial__info h2{
        font-size: 0.875rem;
        line-height: 1.25rem;
    }
}

/* =============================================
   HEADER STYLES — blush
   =============================================
   1. Top Navigation Bar
   2. Countdown (compact)
   3. Main Navigation Container
   4. Logo / Navbar Brand
   5. Sticky Header
   6. Header Layout Sections
   7. Icon Buttons (circle style)
   8. Cart
   9. Search Button
   10. User Menu
   11. Mobile Menu Icon
   12. Localization Modal Trigger
   13. Menu Skeletons
   ============================================= */
/* =============================================
   1. TOP NAVIGATION BAR
   =============================================
   Colours come from --topnav-bg-color / --topnav-text-color, printed by
   layouts/variables.twig. With `topnav_custom_colors` off those resolve to
   var(--header-bg-color) / var(--header-text-color), so the bar keeps
   inheriting the header exactly as it did before the setting existed.
   ============================================= */
.top-navbar {
  background-color: var(--topnav-bg-color);
  color: var(--topnav-text-color);
  /* Derived from the text colour rather than a fixed grey, so the rule holds
     for a dark bar as well as a light one. */
  border-bottom: 1px solid color-mix(in srgb, var(--topnav-text-color) 15%, transparent);
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  font-size: 0.8125rem;
}

/* Salla's bar components each paint their own colour, several of them off
   --header-text-color. Pull them onto the top nav's colour instead; scoping by
   .top-navbar keeps this ahead of the bare-element rules further down. */
.top-navbar a,
.top-navbar button,
.top-navbar i,
.top-navbar p,
.top-navbar span,
.top-navbar salla-contacts,
.top-navbar salla-social,
.top-navbar salla-menu,
.top-navbar salla-localization-modal,
.top-navbar .s-localization-modal-trigger,
.top-navbar .s-localization-modal-trigger i {
  color: var(--topnav-text-color);
}

/* Icons drawn as SVG follow the text colour; `fill` is left alone so any
   multi-colour social mark keeps its own palette. */
.top-navbar svg {
  stroke: currentColor;
}

.top-navbar a:hover,
.top-navbar button:hover {
  opacity: 0.75;
}

.s-menu-topnav-item,
.s-contacts-topnav-link {
  border-color: var(--topnav-text-color);
}

/* =============================================
   3. MAIN NAVIGATION CONTAINER
   ============================================= */
.store-header {
  position: relative;
  z-index: 80;
}

.main-nav-container{
    min-height: 68px;
}

@media (min-width: 1024px){
    .main-nav-container{
        min-height: 84px;
    }
}

.main-nav-container {
  position: relative;
  z-index: 50;
}

.has-bg .main-nav-container, .has-bg .main-nav-container .sub-menu{
    background-color: var(--mainnav-bg);
}

.has-text-color .main-nav-container{
    color: var(--mainnav-text-color);
}

.menu-item{
    display: flex;
    align-items: center;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
    --tw-text-opacity: 1;
    color: rgba(107, 114, 128, 1);
    color: rgba(107, 114, 128, var(--tw-text-opacity, 1));
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 300ms;
}

.menu-item:hover{
    background-color: rgba(229, 231, 235, 0.3);
}

@media (min-width: 640px){
    .menu-item{
        font-size: 0.875rem;
        line-height: 1.25rem;
    }
}

.menu-item.logout{
    --tw-text-opacity: 1;
    color: rgba(248, 113, 113, 1);
    color: rgba(248, 113, 113, var(--tw-text-opacity, 1));
}

.menu-item.is-active{
    background-color: rgba(229, 231, 235, 0.2);
    color: #414042;
    color: var(--color-primary);
}

.header-search-btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  cursor: pointer;
  color: var(--header-text-color);
  overflow: hidden;
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), width 0.3s ease, padding 0.3s ease;
}

@media (min-width: 768px) {
  .header-search-btn {
    width: auto;
    min-width: 2.75rem;
    height: 2.75rem;
  }
}
@media (min-width: 1024px) {
  .header-search-btn {
    height: 3rem;
  }
}
.header-search-btn:active {
  transform: scale(0.97);
}

.header-search-btn:hover {
  opacity: 0.8;
}

.header-search-btn-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.header-search-btn-icon svg {
  width: 18px;
  height: 18px;
  color: var(--header-text-color) !important;
  stroke: var(--header-text-color) !important;
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.header-search-btn-text {
  font-size: 0.875rem;
  font-weight: 500;
  white-space: nowrap;
}

@media (min-width: 1024px) {
  .header-search-btn-text {
    font-size: 0.9375rem;
  }
}
@keyframes search-btn-pulse {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(59, 130, 246, 0.4);
    box-shadow: 0 0 0 0 rgba(var(--color-primary-rgb, 59, 130, 246), 0.4);
  }
  50% {
    box-shadow: 0 0 0 8px rgba(59, 130, 246, 0);
    box-shadow: 0 0 0 8px rgba(var(--color-primary-rgb, 59, 130, 246), 0);
  }
}
.header-search-btn.is-pulsing {
  animation: search-btn-pulse 2s ease-in-out 3;
}

@media (prefers-reduced-motion: reduce) {
  .header-search-btn,
  .header-search-btn-icon svg {
    transition: none !important;
  }
  .header-search-btn.is-pulsing {
    animation: none !important;
  }
}
/* =============================================
   4. LOGO / NAVBAR BRAND
   ============================================= */
.navbar-brand {
  display: flex;
  align-items: center;
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}

@media (min-width: 1024px) {
  .navbar-brand {
    margin-top: 0;
    margin-bottom: 0;
  }
}
.navbar-brand img {
  width: auto;
  max-height: 2.5rem;
}

@media (min-width: 768px) {
  .navbar-brand img {
    max-height: 3rem;
  }
}
/* Mobile: grid layout with 3 columns (up to lg breakpoint) */
@media (max-width: 1023px) {
  .navbar-brand {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    margin: 0 auto !important;
    z-index: 10;
  }
  .main-nav-container .inner > div {
    display: grid !important;
    grid-template-columns: 1fr auto 1fr !important;
    align-items: center !important;
  }
  .header-icons {
    gap: 0 !important;
  }
}
.header-lang-flag{
    display: inline-block;
    border-radius: 9999px;
    -o-object-fit: cover;
       object-fit: cover;
    --tw-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
    box-shadow: 0 0 rgba(0,0,0,0), 0 0 rgba(0,0,0,0), 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 rgba(0,0,0,0)), var(--tw-ring-shadow, 0 0 rgba(0,0,0,0)), var(--tw-shadow);
  width: 20px;
  height: 20px;
}

salla-localization-modal {
  color: var(--header-text-color);
}

/* =============================================
   5. STICKY HEADER
   ============================================= */
/* The drawer sits over the store background, not over the header, so it takes the
   page text colour — --header-text-color is tuned against the header's own
   background and went invisible whenever the two differed. */
#mobile-menu {
  color: var(--text-primary) !important;
}

.main-nav-container.animated .inner {
  transition: top 0.5s, transform 0.5s, opacity 0.4s;
}

.main-nav-container.fixed-pinned .inner {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  width: 100%;
  z-index: 29;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
  transform: translate3d(0, -100%, 0);
  background-color: var(--header-bg-color);
  backdrop-filter: blur(0px);
  backdrop-filter: blur(var(--header-blur, 0px));
}

@media (max-width: 1024px) {
  .main-nav-container.fixed-pinned .inner {
    transform: none;
    top: -70px;
  }
}
.main-nav-container.fixed-pinned .navbar-brand img {
  max-height: 40px;
}

.main-nav-container.is-floating > .inner {
  width: 100%;
  width: var(--floating-header-width, 100%);
  max-width: calc(100% - 2rem); /* keep a gutter at the viewport edges */
  margin-left: auto;
  margin-right: auto;
}

.header-pill {
  --glass-bg: 255 255 255;
  --glass-opacity: 0.07;
  --glass-blur: 7px;
  --glass-saturate: 130%;
  --glass-shadow: 0 8px 32px rgba(0, 0, 0, 0.28);
  position: relative;
  z-index: 1;
  background-color: rgba(255, 255, 255, 0.07);
  background-color: rgb(var(--glass-bg)/var(--glass-opacity));
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.28);
  box-shadow: var(--glass-shadow);
}

@supports (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)) {
  .header-pill {
    backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate));
  }
}
/* No backdrop-filter support — a denser tint stands in for the blur. */
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .header-pill {
    background-color: rgb(var(--glass-bg)/calc(var(--glass-opacity) * 3));
  }
}
.header-pill::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  border-radius: inherit;
  pointer-events: none;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.09) 0%, rgba(255, 255, 255, 0) 42%);
}

/* Keeps the header row painting above the sheen — `.glass` does the same. */
.header-pill > * {
  position: relative;
}

.main-nav-container.is-floating.fixed-pinned .inner {
  top: 1rem !important;
  right: 0;
  left: 0;
  width: 100%;
  width: var(--floating-header-width, 100%);
  max-width: calc(100% - 2rem);
  margin-left: auto;
  margin-right: auto;
  background-color: rgb(var(--glass-bg)/var(--glass-opacity)) !important;
  box-shadow: var(--glass-shadow) !important;
  backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate));
}

@media (max-width: 1024px) {
  .main-nav-container.is-floating.fixed-pinned .inner {
    top: -90px !important; /* Hide upwards including margin */
  }
  .main-nav-container.is-floating.fixed-header .inner {
    top: 1rem !important;
  }
}
.main-nav-container.fixed-pinned .main-menu > li > a {
  padding-top: 20px;
  padding-bottom: 20px;
}

.main-nav-container.fixed-header .inner {
  transform: translate3d(0, 0, 0);
}

@media (max-width: 1024px) {
  .main-nav-container.fixed-header .inner {
    transform: none;
    top: 0;
  }
}
.has-header-over-banner .app-inner {
  position: relative;
}

.store-header.is-over-banner {
  position: relative;
  background-color: transparent;
}

.store-header.is-over-banner .main-nav-container {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  width: 100%;
  background-color: transparent !important;
}

/* Sticky takes over on scroll: .fixed-pinned .inner repaints --header-bg-color,
   so the header is only transparent while it sits on the banner. */
.store-header.is-over-banner .main-nav-container:not(.fixed-pinned) .inner:not(.header-pill) {
  background-color: transparent;
}

body.has-header-over-banner [id^=B_explor_product_banner] .hero-slide .hero-content {
  padding-top: calc(68px + 1.5rem);
  padding-top: calc(var(--header-height, 68px) + 1.5rem);
}

@media (min-width: 1024px) {
  body.has-header-over-banner [id^=B_explor_product_banner] .hero-slide .hero-content {
    padding-top: calc(84px + 1.5rem);
    padding-top: calc(var(--header-height, 84px) + 1.5rem);
  }
}
/* =============================================
   6. HEADER LAYOUT SECTIONS
   ============================================= */
.header-section {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

@media (min-width: 768px) {
  .header-section {
    gap: 0.5rem;
  }
}
.header-section--left {
  flex: 1;
}

.header-section--center {
  flex-shrink: 0;
}

.header-section--right {
  flex: 1;
  justify-content: flex-end;
}

/* =============================================
   7. ICON BUTTONS — circle style
   ============================================= */
.icon-trigger {
  display: flex;
  align-items: center;
}

.header-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  border: none !important;
  outline: none;
  background: transparent !important;
  transition: opacity 0.2s ease;
  cursor: pointer;
  margin: 0 !important;
  border-radius: 0 !important;
  width: 2.25rem;
  height: 2.25rem;
}

@media (min-width: 768px) {
  .header-btn {
    width: 2.5rem;
    height: 2.5rem;
  }
}
@media (min-width: 1024px) {
  .header-btn {
    width: 2.75rem;
    height: 2.75rem;
  }
}
.header-btn:hover {
  opacity: 0.8;
}

/* =============================================
   11. CART ICON
   ============================================= */
.header-btn{
    border-style: none;
    outline: 2px solid transparent;
    outline-offset: 2px;
    transition-property: opacity;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.header-btn:hover{
    opacity: 0.8;
}

.header-btn__icon{
    display: flex;
    height: 2.5rem;
    width: 2.5rem;
    align-items: center;
    justify-content: center;
    border-radius: 9999px;
    font-size: 1.25rem;
    line-height: 1.75rem;
  border: none !important;
  font-size: 18px !important;
  color: var(--header-text-color);
  margin: 0 !important;
}

.header-btn__icon i, .header-btn__icon svg {
  color: var(--header-text-color) !important;
  stroke: var(--header-text-color) !important;
}

.header-btn__icon.icon{
    margin-right: 9px;
}

.header-btn__icon.icon:where([dir="rtl"], [dir="rtl"] *){
    margin-left: 9px;
    margin-right: 0;
    margin-right: initial;
}

.s-cart-summary-content {
  display: none;
}

.s-cart-summary-total {
  color: var(--header-text-color) !important;
  font-weight: 600;
}

.s-cart-summary-count {
  background-color: var(--header-text-color);
  color: var(--header-bg-color);
  font-size: 0.6rem !important;
  top: 0.2rem;
  height: -moz-fit-content;
  height: fit-content;
  padding: 0;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 1rem;
  min-height: 1rem;
}

[dir=ltr] .s-cart-summary-count {
  left: 1.425rem;
}

[dir=rtl] .s-cart-summary-count {
  right: 0.2rem;
}

#nav-cart{
    position: relative;
    display: flex;
    align-items: center;
    white-space: nowrap;
}

#nav-cart:where([dir="ltr"], [dir="ltr"] *){
    margin-left: 1rem;
}

#nav-cart:where([dir="rtl"], [dir="rtl"] *){
    margin-right: 1rem;
}

#nav-cart .icon:where([dir="ltr"], [dir="ltr"] *){
    margin-right: 0.5rem;
}

#nav-cart .icon:where([dir="rtl"], [dir="rtl"] *){
    margin-left: 0.5rem;
}

#nav-cart span{
    position: absolute;
    top: 0.25rem;
}

input[type=radio].sr-only div#nav-cart span {
  transition: all 0.3s;
}

input[type=radio].sr-only:checked ~ div#nav-cart span {
  border-color: var(--color-main);
}

#nav-cart span:where([dir="ltr"], [dir="ltr"] *){
    left: -0.5rem;
}

#nav-cart span:where([dir="rtl"], [dir="rtl"] *){
    right: -0.5rem;
}

/* =============================================
   12. USER MENU
   ============================================= */
salla-user-menu{
    flex-shrink: 0;
}

.s-user-menu-trigger {
  background: none;
}

.s-user-menu-trigger-avatar {
  width: 1.5rem !important;
  height: 1.5rem !important;
}

.s-user-menu-dropdown .s-user-menu-dropdown-list {
  padding: 0 !important;
}

.s-user-menu-dropdown .s-user-menu-dropdown-item {
  padding: 0 !important;
}

.s-user-menu-dropdown .s-user-menu-dropdown-item a {
  color: #000000;
  border-radius: var(--general-elements-radius);
}

@media (max-width: 768px) {
  .s-user-menu-toggler.opened .s-user-menu-dropdown {
    left: 0px !important;
  }
}
@media (min-width: 968px) {
  .s-user-menu-toggler.opened .s-user-menu-dropdown {
    left: 100px !important;
  }
}
/* =============================================
   13. MOBILE MENU ICON — animated burger
   =============================================
   Three bars that morph into an X while the drawer is open. The open state is
   `body.mm-ocd-opened`, which mmenu-light sets and clears itself — including
   on a backdrop or Esc close — so the icon can never disagree with the drawer.
   Sized off the same scale as .header-btn so it lines up with the cart/search
   icons across breakpoints. */
.mobile-menu-icon.burger {
  --burger-size: 2.25rem;
  --burger-bar-w: 18px;
  --burger-bar-h: 2px;
  --burger-gap: 5px;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  width: var(--burger-size);
  height: 2.25rem;
  height: var(--burger-size);
  margin: 0 !important;
  margin-left: 0.25rem !important;
  border-radius: 50%;
  color: var(--header-text-color);
  -webkit-tap-highlight-color: transparent;
}

@media (min-width: 768px) {
  .mobile-menu-icon.burger {
    --burger-size: 2.5rem;
  }
}
@media (min-width: 1024px) {
  .mobile-menu-icon.burger {
    --burger-size: 2.75rem;
    --burger-bar-w: 20px;
    --burger-gap: 6px;
  }
}
/* Hover/focus halo — the header text colour at low opacity, so it reads on a
   dark header and a light one without a second colour to configure. */
.burger::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  border-radius: 50%;
  background: currentColor;
  opacity: 0;
  transform: scale(0.65);
  transition: opacity 0.25s ease, transform 0.25s ease;
}

.burger:hover::before,
.burger:focus-visible::before {
  opacity: 0.09;
  transform: scale(1);
}

.burger:focus-visible {
  outline: 2px solid #414042;
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

.burger__box {
  position: relative;
  z-index: 1;
  width: var(--burger-bar-w);
  height: calc(var(--burger-bar-h) * 3 + var(--burger-gap) * 2);
  transition: transform 0.2s ease;
}

.burger:active .burger__box {
  transform: scale(0.88);
}

.burger__bar {
  position: absolute;
  left: 0;
  width: 100%;
  height: var(--burger-bar-h);
  border-radius: 99px;
  background: currentColor;
  /* Slight overshoot on the close/open morph — reads as a snap, not a slide. */
  transition: transform 0.38s cubic-bezier(0.2, 0.9, 0.25, 1.2), width 0.3s ease, opacity 0.18s ease;
}

.burger__bar:nth-child(1) {
  top: 0;
}

.burger__bar:nth-child(2) {
  top: 50%;
  margin-top: calc(var(--burger-bar-h) / -2);
  /* Short middle bar at rest; it fills out on hover. Anchored to the inline
     start, so it grows the right way in both RTL and LTR. */
  width: 62%;
}

.burger__bar:nth-child(3) {
  bottom: 0;
}

.burger:hover .burger__bar:nth-child(2) {
  width: 100%;
}

/* Open → X. The bars meet on the centre line, then cross. */
.mm-ocd-opened .burger__bar:nth-child(1) {
  transform: translateY(calc(var(--burger-bar-h) + var(--burger-gap))) rotate(45deg);
}

.mm-ocd-opened .burger__bar:nth-child(2) {
  width: 100%;
  opacity: 0;
  transform: scaleX(0.2);
}

.mm-ocd-opened .burger__bar:nth-child(3) {
  transform: translateY(calc((var(--burger-bar-h) + var(--burger-gap)) * -1)) rotate(-45deg);
}

@media (prefers-reduced-motion: reduce) {
  .burger::before,
  .burger__box,
  .burger__bar {
    transition: none;
  }
}
/* =============================================
   12. LOCALIZATION MODAL TRIGGER
   Desktop only — already hidden on mobile via !hidden md:!flex in twig
   ============================================= */
.icon-trigger button,
.icon-trigger .s-localization-modal-trigger {
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent !important;
  border: none !important;
  padding: 0;
}

.icon-trigger button i,
.icon-trigger .s-localization-modal-trigger i {
  font-size: 18px;
  margin: 0 !important;
  color: var(--header-text-color) !important;
}

/* =============================================
   13. MENU / COMPONENT SKELETONS (loading)
   ============================================= */
@keyframes header-skel-shimmer {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}
.header-skel-item, salla-menu[topnav]:not(.hydrated)::before, salla-menu[topnav]:not(.hydrated)::after {
  background-color: rgba(0, 0, 0, 0.06);
  background-image: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.08) 50%, rgba(0, 0, 0, 0) 100%);
  background-size: 200% 100%;
  background-repeat: no-repeat;
  animation: header-skel-shimmer 1.4s ease-in-out infinite;
}

salla-menu[topnav]:not(.hydrated){
    display: none;
    align-items: center;
    gap: 0.5rem;
}

@media (min-width: 1024px){
    salla-menu[topnav]:not(.hydrated){
        display: inline-flex;
    }
}

salla-menu[topnav]:not(.hydrated) {
  visibility: visible;
}

salla-menu[topnav]:not(.hydrated)::before, salla-menu[topnav]:not(.hydrated)::after {
  content: "";
  display: inline-block;
  border-radius: 9999px;
  height: 12px;
}

salla-menu[topnav]:not(.hydrated)::before {
  width: 60px;
}

salla-menu[topnav]:not(.hydrated)::after {
  width: 50px;
}

.main-menu-skel{
    margin-left: 1.5rem;
    margin-right: 1.5rem;
    display: none;
    align-items: center;
    gap: 1rem;
    padding-top: 2rem;
    padding-bottom: 2rem;
}

@media (min-width: 1024px){
    .main-menu-skel{
        display: inline-flex;
    }
}

.header-skel-item{
    display: inline-block;
    border-radius: 9999px;
  height: 14px;
  width: 80px;
}

.header-skel-item--menu {
  height: 14px;
  width: 80px;
}

.topnav-is-dark .top-navbar salla-menu[topnav]:not(.hydrated)::before,
.topnav-is-dark .top-navbar salla-menu[topnav]:not(.hydrated)::after {
  background-color: rgba(255, 255, 255, 0.08);
  background-image: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.14) 50%, rgba(255, 255, 255, 0) 100%);
}

/* =============================================
   14. MISC
   ============================================= */
@media only screen and (min-width: 1024px) {
  .main-menu li.root-level > a {
    padding: 1rem !important;
  }
}
.main-menu li.root-level > a:hover {
  color: inherit !important;
}

.main-menu {
  padding-top: 0 !important;
  padding-top: initial !important;
}

.header-buttons .sicon-sar {
  width: 0.65rem;
  display: inline-block;
  min-height: 1.4rem;
}

/* Custom logo sizing from reference */
.navbar-brand img {
  max-width: 230px !important;
  height: 2rem !important;
}

@media (max-width: 768px) {
  .navbar-brand img {
    max-width: 200px !important;
    height: 1.5rem !important;
  }
}
/* Merchant-sized logo (`store_image_custom`): --logo-w/--logo-h come inline from the
   Theme Editor, so these have to out-!important the fixed sizes above.
   The brand box is capped to the header row (.main-nav-container's 68/84px min-height)
   and clips — a logo sized past the slider's upper range used to hang out of the bar,
   over the top nav and the section below it. */
.navbar-brand.has-custom-logo {
  --logo-box-h: 68px;
  max-height: 68px;
  max-height: var(--logo-box-h);
  overflow: hidden;
}

@media (min-width: 1024px) {
  .navbar-brand.has-custom-logo {
    --logo-box-h: 84px;
  }
}
.navbar-brand.has-custom-logo img {
  width: auto !important;
  width: var(--logo-w, auto) !important;
  height: auto !important;
  height: var(--logo-h, auto) !important;
  max-width: 100% !important;
  max-height: var(--logo-box-h) !important;
  -o-object-fit: contain;
     object-fit: contain;
}

.main-nav-container.fixed-pinned .navbar-brand.has-custom-logo img {
  max-height: var(--logo-box-h) !important;
}

@media (max-width: 768px) {
  /* keep the chosen ratio but never let the logo eat the whole mobile bar */
  .navbar-brand.has-custom-logo img {
    width: min(200px, 55vw) !important;
    width: min(var(--logo-w, 200px), 55vw) !important;
    height: auto !important;
  }
}
.store-header .s-social-link a {
  width: 1rem !important;
  height: 1rem !important;
  border: medium none currentcolor !important;
  border: initial !important;
  padding: 0.85rem;
}

.sub-menu {
  color: var(--header-text-color) !important;
  background-color: var(--header-bg-color) !important;
}

salla-wishlist-summary .s-wishlist-summary-icon {
  height: 2rem !important;
  width: 2rem !important;
}

/* Official brand colors for the platforms salla-social can render.
   Anything not listed here falls back to --store-brand-color. */
.store-footer {
  margin-top: auto !important;
  background-color: var(--footer-bg-color) !important;
  color: var(--footer-text-color) !important;
}
.store-footer > svg {
  fill: var(--footer-bg-color);
  color: var(--footer-bg-color);
}
.store-footer a{
    transition-property: opacity;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.store-footer a:hover{
    opacity: 0.9;
}
.store-footer__inner{
    border-bottom-width: 1px;
    border-style: dashed;
    border-bottom-color: rgba(255, 255, 255, 0.1);
    --tw-bg-opacity: 1;
    background-color: rgba(29, 31, 31, 1);
    background-color: rgba(29, 31, 31, var(--tw-bg-opacity, 1));
    padding-top: 2rem;
    padding-bottom: 2rem;
}
@media (min-width: 1024px){
    .store-footer__inner{
        padding-top: 4rem;
        padding-bottom: 4rem;
    }
}
.store-footer__inner {
  position: relative;
  overflow: hidden;
}
.store-footer h3{
    margin-bottom: 0.75rem;
    font-size: 1.125rem;
    line-height: 1.75rem;
    font-weight: 300;
}
@media (min-width: 1024px){
    .store-footer h3{
        margin-bottom: 1.25rem;
    }
}
.store-footer .social-link{
    display: flex;
    height: 2rem;
    width: 2rem;
    align-items: center;
    justify-content: center;
    border-radius: 9999px;
    border-width: 1px;
    font-size: 0.875rem;
    line-height: 1.25rem;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 300ms;
}
.store-footer .social-link:hover{
    opacity: 0.9;
}
.store-footer .contact-social ul{
    margin-bottom: 0px;
}
.footer-is-light .store-footer{
    --tw-bg-opacity: 1;
    background-color: rgba(249, 250, 251, 1);
    background-color: rgba(249, 250, 251, var(--tw-bg-opacity, 1));
    --tw-text-opacity: 1;
    color: rgba(55, 65, 81, 1);
    color: rgba(55, 65, 81, var(--tw-text-opacity, 1));
}
.footer-is-light .store-footer .social-link{
    --tw-border-opacity: 1;
    border-color: rgba(209, 213, 219, 1);
    border-color: rgba(209, 213, 219, var(--tw-border-opacity, 1));
}
.store-footer .store-footer__inner {
  padding-top: 2rem !important;
  padding-bottom: 2rem !important;
  border: medium none currentcolor;
  border: initial;
  background-color: var(--footer-bg-color) !important;
  border-radius: 16px;
}
.store-footer {
  /* salla-app-icons */
}
.store-footer salla-apps-icons .s-apps-icons-list {
  justify-content: center;
}
.store-footer salla-apps-icons h3 {
  text-align: center;
}
.store-footer {
  /* salla-social */
}
.store-footer .s-social-link a {
  width: 2.2rem !important;
  height: 2.2rem !important;
}
.store-footer .s-social-link a svg {
  height: 1rem !important;
  width: 1rem !important;
}
.store-footer {
  /* salla-contact */
}
.store-footer .s-contacts-list .s-contacts-icon svg {
  height: 1rem !important;
  width: 1rem !important;
}
.store-footer .s-contacts-list #contact-slot .unicode {
  opacity: 1;
  max-width: 500px;
  transition: all 0.4s ease-in-out;
}
@media (max-width: 767px) {
  .store-footer .s-contacts-list {
    gap: 0;
  }
  .store-footer .s-contacts-list .s-contacts-icon {
    margin: 0;
  }
  .store-footer .s-contacts-list #contact-slot {
    gap: 0 !important;
    font-size: 0 !important;
    line-height: 0;
    min-width: 2rem;
    width: auto;
    padding: 0.25rem 0.5rem;
  }
  .store-footer .s-contacts-list #contact-slot .unicode {
    margin: 10px !important;
  }
}
.store-footer {
  /* store data */
}
.store-footer .store-data .logo-light {
  display: block;
}
.store-footer .store-data .logo-dark {
  display: none;
}
.store-footer {
  /* Important Links */
}
.store-footer .s-menu-footer-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  align-items: flex-start;
}
.store-footer .s-menu-footer-item {
  transition: color 0.2s ease;
}
.store-footer .s-menu-footer-item:hover, .store-footer .s-menu-footer-item:focus-visible {
  color: var(--store-brand-color);
}
.store-footer .s-apps-icons h3,
.store-footer .important-links {
  font-weight: bold;
}
.store-footer .footer-description {
  font-size: 0.85rem;
  line-height: 1.8;
  opacity: 0.85;
  width: 80%;
}
.store-footer {
  /* ═══ Newsletter banner ════════════════════════════════════════ */
}
.store-footer .newsletter-box{
    position: relative;
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
    overflow: hidden;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
@media (min-width: 1024px){
    .store-footer .newsletter-box{
        margin-top: 2.5rem;
        margin-bottom: 2.5rem;
    }
}
.store-footer .newsletter-box {
  background-color: var(--footer-bg-color);
}
.store-footer .newsletter-box__overlay{
    position: absolute;
    top: 0px;
    right: 0px;
    bottom: 0px;
    left: 0px;
    display: block;
}
input[type=radio].sr-only div.store-footer .newsletter-box__overlay {
  transition: all 0.3s;
}
input[type=radio].sr-only:checked ~ div.store-footer .newsletter-box__overlay {
  border-color: var(--color-main);
}
.store-footer .newsletter-box__overlay {
  background: rgba(0, 0, 0, 0.55);
}
.store-footer .newsletter-box__content{
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 1.5rem;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    padding-top: 2rem;
    padding-bottom: 2rem;
}
@media (min-width: 1024px){
    .store-footer .newsletter-box__content{
        flex-direction: row;
        padding-left: 3rem;
        padding-right: 3rem;
        padding-top: 3rem;
        padding-bottom: 3rem;
    }
}
.store-footer .newsletter-box__text{
    max-width: 36rem;
}
@media (min-width: 1024px){
    .store-footer .newsletter-box__text{
        text-align: left;
    }
}
.store-footer .newsletter-box__text {
  color: var(--newsletter-text-color);
}
.store-footer .newsletter-box__text h3{
    margin-bottom: 0.5rem;
    font-size: 1.25rem;
    line-height: 1.75rem;
    font-weight: 700;
}
@media (min-width: 1024px){
    .store-footer .newsletter-box__text h3{
        font-size: 1.875rem;
        line-height: 2.25rem;
    }
}
.store-footer .newsletter-box__text h3 {
  color: var(--newsletter-text-color);
}
.store-footer .newsletter-box__text p{
    margin-bottom: 0px;
    font-size: 0.875rem;
    line-height: 1.75rem;
}
@media (min-width: 1024px){
    .store-footer .newsletter-box__text p{
        font-size: 1rem;
        line-height: 1.5rem;
    }
}
.store-footer .newsletter-box__text p {
  color: var(--newsletter-text-color);
  opacity: 0.85;
}
.store-footer .newsletter-box__form{
    width: 100%;
}
@media (min-width: 1024px){
    .store-footer .newsletter-box__form{
        width: auto;
        flex-shrink: 0;
    }
}
.store-footer .newsletter-box__field{
    display: flex;
    width: 100%;
    align-items: center;
    gap: 0.5rem;
    border-radius: 9999px;
    padding: 0.375rem;
}
@media (min-width: 1024px){
    .store-footer .newsletter-box__field{
        width: 24rem;
    }
}
.store-footer .newsletter-box__field {
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.18);
  backdrop-filter: blur(6px);
}
.store-footer .newsletter-box__field .mc-field-group{
    min-width: 0px;
    flex: 1 1 0%;
}
.store-footer .newsletter-box__field input[type=email]{
    width: 100%;
    border-style: none;
    background-color: transparent;
    padding-top: 0.375rem;
    padding-bottom: 0.375rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
  color: var(--newsletter-text-color);
  outline: none;
  box-shadow: none;
}
.store-footer .newsletter-box__field input[type=email]::-moz-placeholder {
  color: var(--newsletter-text-color);
  opacity: 0.6;
}
.store-footer .newsletter-box__field input[type=email]::placeholder {
  color: var(--newsletter-text-color);
  opacity: 0.6;
}
.store-footer .newsletter-box__field input[type=email]:focus{
    border-style: none;
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: /*!*/ /*!*/ 0 0 0 0px #fff, var(--tw-ring-shadow), 0 0 rgba(0,0,0,0);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0,0,0,0));
  outline: none;
  box-shadow: none;
}
.store-footer .newsletter-box__btn{
    flex-shrink: 0;
    cursor: pointer;
    white-space: nowrap;
    border-radius: 9999px;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 700;
    transition-property: opacity;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 200ms;
}
.store-footer .newsletter-box__btn * {
  pointer-events: none;
}
.store-footer .newsletter-box__btn {
  background: var(--newsletter-btn-color);
  color: var(--newsletter-btn-text-color);
}
.store-footer .newsletter-box__btn:hover{
    opacity: 0.9;
}
.store-footer {
  /* ═══ salla-newsletter ══════════════════════════════════════════ */
}
.store-footer salla-newsletter {
  width: 100%;
}
.store-footer salla-newsletter .s-newsletter-form,
.store-footer salla-newsletter form {
  display: flex;
  overflow: hidden;
  border-radius: 0.5rem;
  border: 1px solid rgba(255, 255, 255, 0.15);
  background: rgba(255, 255, 255, 0.07);
}
.store-footer salla-newsletter input[type=email],
.store-footer salla-newsletter input[type=text] {
  flex: 1;
  background: transparent;
  border: none;
  padding: 0.6rem 0.75rem;
  color: var(--footer-text-color);
  font-size: 0.8rem;
  outline: none;
  min-width: 0;
}
.store-footer salla-newsletter input[type=email]::-moz-placeholder, .store-footer salla-newsletter input[type=text]::-moz-placeholder {
  color: rgba(255, 255, 255, 0.45);
  font-size: 0.75rem;
}
.store-footer salla-newsletter input[type=email]::placeholder,
.store-footer salla-newsletter input[type=text]::placeholder {
  color: rgba(255, 255, 255, 0.45);
  font-size: 0.75rem;
}
.store-footer salla-newsletter button {
  flex-shrink: 0;
  background: var(--footer-text-color) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0.6rem 0.85rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.2s ease;
}
.store-footer salla-newsletter button:hover {
  opacity: 0.85;
}
.store-footer salla-newsletter button svg {
  width: 1rem;
  height: 1rem;
  color: #fff !important;
  fill: #fff !important;
}
.store-footer {
  /* ═══ salla-contacts icon color ════════════════════════════════ */
}
.store-footer .s-contacts-list {
  color: var(--footer-text-color) !important;
}
.store-footer .s-contacts-list .s-contacts-icon {
  border: none !important;
  box-shadow: none !important;
  color: var(--store-brand-color) !important;
}
.store-footer .s-contacts-list .s-contacts-icon svg {
  height: 1rem !important;
  width: 1rem !important;
  color: var(--store-brand-color) !important;
  fill: var(--store-brand-color) !important;
}
.store-footer .s-contacts-list .s-contacts-icon svg path {
  fill: var(--store-brand-color) !important;
}
.store-footer .s-contacts-title {
  color: var(--footer-text-color) !important;
}
.store-footer {
  /* ═══ salla-social — platform brand color, fades on hover ══════════ */
}
.store-footer .s-social-link a {
  width: 2.2rem !important;
  height: 2.2rem !important;
  border-radius: 18px;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  /* fallback for platforms not in $social-brand-colors */
  background: var(--store-brand-color) !important;
  border: 1px solid var(--store-brand-color) !important;
  transition: transform 0.25s ease, background-color 0.25s ease, border-color 0.25s ease !important;
}
.store-footer .s-social-link a:hover {
  transform: translateY(-2px) !important;
  /* the alpha sits on the background, not the element, so the glyph
     stays fully opaque instead of dimming with it */
  opacity: 1 !important;
  background: color-mix(in srgb, var(--store-brand-color) 65%, transparent) !important;
  border-color: color-mix(in srgb, var(--store-brand-color) 65%, transparent) !important;
}
.store-footer .s-social-link a svg {
  width: 1rem !important;
  height: 1rem !important;
  color: #ffffff !important;
  fill: #ffffff !important;
}
.store-footer .s-social-link a svg path {
  fill: #ffffff !important;
}
.store-footer .s-social-link {
  /* salla-social emits the platform name lowercase into title/aria-label.
     NB: do not add the CSS `i` flag here — postcss expands it into every
     casing permutation (256 selectors for "facebook" alone). */
}
.store-footer .s-social-link a[title=facebook] {
  background: #1877f2 !important;
  border-color: #1877f2 !important;
}
.store-footer .s-social-link a[title=facebook]:hover {
  background: rgba(24, 119, 242, 0.65) !important;
  border-color: rgba(24, 119, 242, 0.65) !important;
}
.store-footer .s-social-link a[title=twitter] {
  background: #000000 !important;
  border-color: #000000 !important;
}
.store-footer .s-social-link a[title=twitter]:hover {
  background: rgba(0, 0, 0, 0.65) !important;
  border-color: rgba(0, 0, 0, 0.65) !important;
}
.store-footer .s-social-link a[title=x] {
  background: #000000 !important;
  border-color: #000000 !important;
}
.store-footer .s-social-link a[title=x]:hover {
  background: rgba(0, 0, 0, 0.65) !important;
  border-color: rgba(0, 0, 0, 0.65) !important;
}
.store-footer .s-social-link a[title=youtube] {
  background: #ff0000 !important;
  border-color: #ff0000 !important;
}
.store-footer .s-social-link a[title=youtube]:hover {
  background: rgba(255, 0, 0, 0.65) !important;
  border-color: rgba(255, 0, 0, 0.65) !important;
}
.store-footer .s-social-link a[title=snapchat] {
  background: #fffc00 !important;
  border-color: #fffc00 !important;
}
.store-footer .s-social-link a[title=snapchat]:hover {
  background: rgba(255, 252, 0, 0.65) !important;
  border-color: rgba(255, 252, 0, 0.65) !important;
}
.store-footer .s-social-link a[title=tiktok] {
  background: #010101 !important;
  border-color: #010101 !important;
}
.store-footer .s-social-link a[title=tiktok]:hover {
  background: rgba(1, 1, 1, 0.65) !important;
  border-color: rgba(1, 1, 1, 0.65) !important;
}
.store-footer .s-social-link a[title=pinterest] {
  background: #e60023 !important;
  border-color: #e60023 !important;
}
.store-footer .s-social-link a[title=pinterest]:hover {
  background: rgba(230, 0, 35, 0.65) !important;
  border-color: rgba(230, 0, 35, 0.65) !important;
}
.store-footer .s-social-link a[title=telegram] {
  background: #229ed9 !important;
  border-color: #229ed9 !important;
}
.store-footer .s-social-link a[title=telegram]:hover {
  background: rgba(34, 158, 217, 0.65) !important;
  border-color: rgba(34, 158, 217, 0.65) !important;
}
.store-footer .s-social-link a[title=whatsapp] {
  background: #25d366 !important;
  border-color: #25d366 !important;
}
.store-footer .s-social-link a[title=whatsapp]:hover {
  background: rgba(37, 211, 102, 0.65) !important;
  border-color: rgba(37, 211, 102, 0.65) !important;
}
.store-footer .s-social-link a[title=linkedin] {
  background: #0a66c2 !important;
  border-color: #0a66c2 !important;
}
.store-footer .s-social-link a[title=linkedin]:hover {
  background: rgba(10, 102, 194, 0.65) !important;
  border-color: rgba(10, 102, 194, 0.65) !important;
}
.store-footer .s-social-link {
  /* instagram has no single flat brand color — use its official gradient */
}
.store-footer .s-social-link a[title=instagram] {
  background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%) !important;
  border-color: #dc2743 !important;
}
.store-footer .s-social-link a[title=instagram]:hover {
  background: linear-gradient(45deg, rgba(240, 148, 51, 0.65) 0%, rgba(230, 104, 60, 0.65) 25%, rgba(220, 39, 67, 0.65) 50%, rgba(204, 35, 102, 0.65) 75%, rgba(188, 24, 136, 0.65) 100%) !important;
  border-color: rgba(220, 39, 67, 0.65) !important;
}
.store-footer .s-social-link {
  /* snapchat yellow needs a dark glyph to stay legible */
}
.store-footer .s-social-link a[title=snapchat] svg,
.store-footer .s-social-link a[title=snapchat] svg path {
  color: #111111 !important;
  fill: #111111 !important;
}
.store-footer .footer-contacts-social {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-top: 0.5rem;
}
.store-footer {
  /* ═══ 3-Column Bottom Bar ══════════════════════════════════════ */
}
.store-footer__bottom {
  padding: 0.75rem 0;
}

/* ═══ Ambient glow داخل الفوتر ═══════════════════════════════════
   الطبقة العامة (.ambient-glow__layer) fixed تحت .app-inner، وخلفية الفوتر
   معتمة — فالهالة مبتوصلش. الفوتر بياخد orb خاص بيه من partials/ambient-glow.js
   (الكلاس متحط في footer.twig)، ولازم يفضل فوق خلفية الفوتر وتحت محتواه. */
.store-footer.js-ambient-glow > *:not(.ambient-glow__orb) {
  position: relative;
  z-index: 2;
}
.store-footer.js-ambient-glow {
  /* نفس لون الأب بالظبط، فشيله مش بيغيّر الشكل — بس بيسيب الـ orb يبان تحته
     بدل ما يتغطى بمستطيل معتم على طول عرض الفوتر */
}
.store-footer.js-ambient-glow .store-footer__inner {
  background-color: transparent !important;
}

.copyright-text p {
  color: var(--footer-copyrights-text-color);
}

/* Dark mode + has dark logo — swap via content */
html.dark img[style*="--logo-dark-src"] {
  content: var(--logo-dark-src) !important;
}

/* Merchant-sized footer logo (`store_image_custom_footer`) — mirrors the header's
   --logo-w/--logo-h contract; object-fit keeps the artwork undistorted. */
.footer-brand.has-custom-logo {
  max-height: none;
  max-height: var(--logo-h, none);
  overflow: hidden;
}

.footer-brand.has-custom-logo img {
  width: auto;
  width: var(--logo-w, auto);
  height: auto;
  height: var(--logo-h, auto);
  max-width: 100%;
  max-height: none;
  max-height: var(--logo-h, none);
  -o-object-fit: contain;
     object-fit: contain;
}

@media (max-width: 768px) {
  .footer-brand.has-custom-logo img {
    width: min(200px, 60vw);
    width: min(var(--logo-w, 200px), 60vw);
    height: auto;
  }
}
/* ═══ WhatsApp floating button ══════════════════ */
.fab-stack {
  --wa-size: 3.5rem;
  --fab-size: 2.75rem;
  position: fixed;
  bottom: 3.5rem;
  right: 1rem;
  z-index: 9998;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.75rem;
  pointer-events: none;
}
.fab-stack > * {
  pointer-events: auto;
}

/* ═══ Back-to-top ════════*/
.scroll-top-fab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 2.75rem;
  width: var(--fab-size, 2.75rem);
  height: 2.75rem;
  height: var(--fab-size, 2.75rem);
  /* margin-left: auto فيزيائي، فبيلزق الزرار في الحافة اليمنى للستاك في الـ RTL
     والـ LTR سوا. من غيره الزرار بيتحرك مع زرار الواتساب وهو بيتمدد على الهوفر.
     والـ margin-right بيوسّطه فوق دايرة الواتساب وهي مقفولة. */
  margin-left: auto;
  margin-right: calc((3.5rem - 2.75rem) / 2);
  margin-right: calc((var(--wa-size, 3.5rem) - var(--fab-size, 2.75rem)) / 2);
  padding: 0;
  border: 0;
  border-radius: 999px;
  cursor: pointer;
  background: #111827;
  color: #fff;
  box-shadow: 0 6px 18px -6px rgba(0, 0, 0, 0.45);
  /* السهم بيتقص وهو طالع بره الدايرة — الـ box-shadow مابيتأثرش بالـ overflow */
  overflow: hidden;
  transition: opacity 0.3s ease, transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.25s ease;
}
.scroll-top-fab svg {
  display: block;
  width: 1.125rem;
  height: 1.125rem;
  /* رفرفة خفيفة مستمرة وهو ظاهر — الـ animation هو اللي بيمسك الـ
     transform هنا، فمفيش transition عشان ما يتصارعوش */
  animation: scrollTopBob 2.6s ease-in-out infinite;
}
.scroll-top-fab {
  /* الهوفر: السهم يطلع لفوق ويختفي ويرجع يدخل من تحت، لفة واحدة. بتاخد
     مكان الرفرفة وهي شغالة وبترجعلها لما الماوس يسيب. */
}
.scroll-top-fab:hover svg {
  animation: scrollTopLoop 0.6s cubic-bezier(0.65, 0, 0.35, 1);
}
.scroll-top-fab {
  /* وهو مخفي مفيش داعي يفضل بيحسب frames */
}
.scroll-top-fab.is-hidden svg {
  animation: none;
}
.scroll-top-fab:hover {
  transform: translateY(-3px) scale(1.06);
  box-shadow: 0 10px 24px -8px rgba(0, 0, 0, 0.55);
}
.scroll-top-fab:active {
  transform: translateY(0) scale(0.95);
}
.scroll-top-fab:focus-visible {
  outline: 2px solid #111827;
  outline-offset: 3px;
}
.scroll-top-fab.is-hidden {
  opacity: 0;
  transform: translateY(0.75rem) scale(0.85);
  pointer-events: none;
}

html.dark .scroll-top-fab {
  background: #ffffff;
  color: #111827;
}
html.dark .scroll-top-fab:focus-visible {
  outline-color: #ffffff;
}

@keyframes scrollTopBob {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-2.5px);
  }
}
@keyframes scrollTopLoop {
  0% {
    transform: translateY(0);
    opacity: 1;
  }
  45% {
    transform: translateY(-160%);
    opacity: 0;
  }
  46% {
    transform: translateY(160%);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}
.wa-fab {
  --wa-green: #25d366;
  --wa-green-deep: #128c7e;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  min-width: 3.5rem;
  min-width: var(--wa-size, 3.5rem);
  height: 3.5rem;
  height: var(--wa-size, 3.5rem);
  padding-left: calc((3.5rem - 1.625rem) / 2);
  padding-right: calc((3.5rem - 1.625rem) / 2);
  padding-left: calc((var(--wa-size, 3.5rem) - 1.625rem) / 2);
  padding-right: calc((var(--wa-size, 3.5rem) - 1.625rem) / 2);
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(135deg, #25d366 0%, #128c7e 100%);
  background: linear-gradient(135deg, var(--wa-green) 0%, var(--wa-green-deep) 100%);
  -webkit-text-decoration: none;
  text-decoration: none;
  animation: waFabPop 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) 0.4s both, waFabGlow 3s ease-out 1.4s infinite;
  transition: filter 0.25s ease, gap 0.4s cubic-bezier(0.22, 0.61, 0.36, 1), padding 0.4s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.wa-fab:hover, .wa-fab:focus-visible {
  filter: brightness(1.08);
  color: #fff;
}
.wa-fab:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 3px;
}
.wa-fab:active {
  filter: brightness(0.95);
}
.wa-fab__icon {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.625rem;
  height: 1.625rem;
  transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.wa-fab__icon svg {
  width: 100%;
  height: 100%;
  display: block;
  animation: waFabWiggle 6s ease-in-out 3s infinite;
}
.wa-fab:hover .wa-fab__icon, .wa-fab:focus-visible .wa-fab__icon {
  transform: scale(1.12);
}
.wa-fab__label {
  max-width: 0;
  padding: 0;
  overflow: hidden;
  opacity: 0;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  transition: max-width 0.4s cubic-bezier(0.22, 0.61, 0.36, 1), opacity 0.25s ease;
}
.wa-fab:focus-visible {
  gap: 0.65rem;
  padding-left: 1.15rem;
  padding-right: 1.15rem;
}
.wa-fab:focus-visible .wa-fab__label {
  max-width: 12rem;
  opacity: 1;
}
@media (hover: hover) {
  .wa-fab:hover {
    gap: 0.65rem;
    padding-left: 1.15rem;
    padding-right: 1.15rem;
  }
  .wa-fab:hover .wa-fab__label {
    max-width: 12rem;
    opacity: 1;
  }
}

@keyframes waFabPop {
  from {
    opacity: 0;
    transform: translate3d(0, 1.25rem, 0) scale(0.6);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes waFabGlow {
  0% {
    box-shadow: 0 6px 20px -6px rgba(18, 140, 126, 0.65), 0 0 0 0 rgba(37, 211, 102, 0.55);
  }
  70% {
    box-shadow: 0 6px 20px -6px rgba(18, 140, 126, 0.65), 0 0 0 16px rgba(37, 211, 102, 0);
  }
  100% {
    box-shadow: 0 6px 20px -6px rgba(18, 140, 126, 0.65), 0 0 0 0 rgba(37, 211, 102, 0);
  }
}
@keyframes waFabWiggle {
  0%, 84%, 100% {
    transform: rotate(0);
  }
  88% {
    transform: rotate(-12deg);
  }
  92% {
    transform: rotate(10deg);
  }
  96% {
    transform: rotate(-5deg);
  }
}
@media (prefers-reduced-motion: reduce) {
  .wa-fab {
    animation: none !important;
    box-shadow: 0 6px 20px -6px rgba(18, 140, 126, 0.65);
    transition: none !important;
  }
  .wa-fab__icon,
  .wa-fab__icon svg {
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
  .scroll-top-fab,
  .scroll-top-fab svg {
    animation: none !important;
    transition: none !important;
  }
  .scroll-top-fab.is-hidden {
    transform: none !important;
  }
}
.main-menu > li > a[href*=offer] {
  color: var(--danger);
}
.main-menu > li > a[href*=offer]:hover {
  color: var(--danger);
  opacity: 0.8;
}

@media only screen and (min-width: 1024px) {
  .main-menu{
        margin-left: 1.5rem;
        margin-right: 1.5rem;
        display: none;
        flex-wrap: wrap;
        align-items: center;
        padding-top: 2rem;
        padding-bottom: 0px;
    }
  @media (min-width: 1024px){
        .main-menu{
            display: flex;
        }
    }
  .fixed-pinned .main-menu {
    padding-top: 0;
    padding-bottom: 0;
  }
  .main-menu li > a{
        display: flex;
        align-items: center;
        padding: 0.75rem;
        font-size: 0.875rem;
        line-height: 1.25rem;
        transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
        transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
        transition-duration: 300ms;
    }
  .main-menu li > a:hover{
        color: #414042;
        color: var(--color-primary);
        text-decoration-line: none;
    }
  .main-menu li.root-level{
        display: inline-block;
    }
  .main-menu li.root-level > a{
        padding-top: 0px;
        padding-bottom: 2rem;
        font-weight: 700;
    }
  .main-menu > .has-children:hover > a {
    color: #414042;
    color: var(--color-primary);
  }
  .main-menu .has-children li a:hover,
  .main-menu .has-children .has-children:hover > a {
    color: #414042;
    color: var(--color-primary);
    background-color: rgba(229, 231, 235, 0.2);
  }
  .main-menu .has-children > a:after {
    font-family: "sallaicons";
    content: "\e970";
    display: inline-block;
    flex-shrink: 0;
    align-self: center;
    font-size: 1rem;
    line-height: 1.5rem;
    opacity: 0.5;
    transition-property: transform;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 300ms;
  }
  .main-menu .has-children > a:where([dir="ltr"], [dir="ltr"] *):after{
        margin-left: 0.375rem;
        margin-right: 0px;
    }
  .main-menu .has-children > a:where([dir="rtl"], [dir="rtl"] *):after{
        margin-right: 0.375rem;
        margin-left: 0px;
    }
  .main-menu .has-children > a:after {
    line-height: 1;
  }
  .main-menu .has-children > a > span{
        min-width: 0px;
    }
  .main-menu .has-children.root-level > a:after {
    content: "\e96e";
  }
  .main-menu .has-children.root-level:hover > a:after {
    opacity: 1;
    transform: scaleY(-1);
  }
  .main-menu .sub-menu{
        visibility: hidden;
        position: absolute;
        z-index: 20;
        --tw-translate-y: -0.75rem;
        transform: translate(var(--tw-translate-x), -0.75rem) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
        transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
        border-bottom-right-radius: 0.375rem;
        border-bottom-left-radius: 0.375rem;
        border-top-width: 1px;
        border-color: rgba(209, 213, 219, 0.3);
        --tw-bg-opacity: 1;
        background-color: rgba(255, 255, 255, 1);
        background-color: rgba(255, 255, 255, var(--tw-bg-opacity, 1));
        opacity: 0;
        --tw-shadow: 5px 10px 30px #2B2D340D;;
        --tw-shadow-colored: 5px 10px 30px var(--tw-shadow-color);
        box-shadow: 0 0 rgba(0,0,0,0), 0 0 rgba(0,0,0,0), 5px 10px 30px #2B2D340D;;
        box-shadow: var(--tw-ring-offset-shadow, 0 0 rgba(0,0,0,0)), var(--tw-ring-shadow, 0 0 rgba(0,0,0,0)), var(--tw-shadow);
        transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
        transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
        transition-duration: 150ms;
    }

input[type=radio].sr-only div.main-menu .sub-menu {
  transition: all 0.3s;
}
input[type=radio].sr-only:checked ~ div.main-menu .sub-menu {
  border-color: var(--color-main);
}
  .main-menu .sub-menu .sub-menu {
    top: -1px;
    right: 100%;
  }
  [dir=ltr] .main-menu .sub-menu .sub-menu {
    left: 100%;
    right: auto;
  }
  .main-menu .sub-menu .s-product-card-entry{
        border-width: 1px;
        --tw-border-opacity: 1;
        border-color: rgba(243, 244, 246, 1);
        border-color: rgba(243, 244, 246, var(--tw-border-opacity, 1));
    }
  .main-menu .sub-menu .btn {
    padding: 8px 10px 10px;
  }
  .main-menu .sub-menu li.mega-menu .container ul{
        margin: 0px;
        border-style: none;
        padding: 0px;
    }
  .main-menu .sub-menu li.mega-menu .container > div{
        display: none;
    }
  .main-menu .change-menu-dir .sub-menu .sub-menu:where([dir="ltr"], [dir="ltr"] *){
        right: 100%;
        left: auto;
    }
  .main-menu .change-menu-dir .sub-menu .sub-menu:where([dir="rtl"], [dir="rtl"] *){
        left: 100%;
        right: auto;
    }
  .main-menu li:hover > .sub-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }
  .main-menu #more-menu-dropdown{
        flex-shrink: 0;
    }
  .main-menu #more-menu-dropdown > a{
        white-space: nowrap;
    }
  .main-menu #more-menu-dropdown > .sub-menu {
    max-height: 70vh;
    overflow-y: auto;
  }
  .main-menu #more-menu-dropdown > .sub-menu .sub-menu{
        visibility: hidden;
        position: static;
        margin: 0px;
        max-height: 0px;
        transform: none;
        overflow: hidden;
        border-width: 0px;
        background-color: transparent;
        padding: 0px;
        opacity: 0;
        --tw-shadow: 0 0 rgba(0,0,0,0);
        --tw-shadow-colored: 0 0 rgba(0,0,0,0);
        box-shadow: 0 0 rgba(0,0,0,0), 0 0 rgba(0,0,0,0), 0 0 rgba(0,0,0,0);
        box-shadow: var(--tw-ring-offset-shadow, 0 0 rgba(0,0,0,0)), var(--tw-ring-shadow, 0 0 rgba(0,0,0,0)), var(--tw-shadow);
        transition-property: max-height,opacity,visibility;
        transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
        transition-duration: 200ms;
        transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
    transition-duration: 250ms, 200ms, 200ms;
    }
  .main-menu #more-menu-dropdown > .sub-menu li.has-children{
        position: relative;
    }
  .main-menu #more-menu-dropdown > .sub-menu li.has-children > a{
        justify-content: space-between;
    }
  .main-menu #more-menu-dropdown > .sub-menu li.has-children:hover > .sub-menu, .main-menu #more-menu-dropdown > .sub-menu li.has-children:focus-within > .sub-menu{
        visibility: visible;
        max-height: 1000px;
        opacity: 1;
    }
.main-menu #more-menu-dropdown > .sub-menu li.has-children:hover > .sub-menu .tooltip-content, .main-menu #more-menu-dropdown > .sub-menu li.has-children:focus-within > .sub-menu .tooltip-content {
  visibility: visible;
  opacity: 1;
  transform: translate(82px, -110px);
}
[dir=rtl] .icon-trigger.main-menu #more-menu-dropdown > .sub-menu li.has-children:hover > .sub-menu .tooltip-content,[dir=rtl] .icon-trigger .main-menu #more-menu-dropdown > .sub-menu li.has-children:focus-within > .sub-menu .tooltip-content {
  transform: translate(53px, -63px);
}
[dir=ltr] .icon-trigger.main-menu #more-menu-dropdown > .sub-menu li.has-children:hover > .sub-menu .tooltip-content,[dir=ltr] .icon-trigger .main-menu #more-menu-dropdown > .sub-menu li.has-children:focus-within > .sub-menu .tooltip-content {
  transform: translate(-54px, -65px);
}
@media (max-width: 991px) {
  [dir=rtl] .icon-trigger.mobile-shifted.main-menu #more-menu-dropdown > .sub-menu li.has-children:hover > .sub-menu .tooltip-content,[dir=rtl] .icon-trigger.mobile-shifted .main-menu #more-menu-dropdown > .sub-menu li.has-children:focus-within > .sub-menu .tooltip-content {
    transform: translate(70px, -80px);
  }
  [dir=ltr] .icon-trigger.mobile-shifted.main-menu #more-menu-dropdown > .sub-menu li.has-children:hover > .sub-menu .tooltip-content,[dir=ltr] .icon-trigger.mobile-shifted .main-menu #more-menu-dropdown > .sub-menu li.has-children:focus-within > .sub-menu .tooltip-content {
    transform: translate(-70px, -80px);
  }
}
  .main-menu #more-menu-dropdown > .sub-menu .sub-menu > ul:where([dir="ltr"], [dir="ltr"] *){
        padding-left: 1rem;
    }
  .main-menu #more-menu-dropdown > .sub-menu .sub-menu > ul:where([dir="rtl"], [dir="rtl"] *){
        padding-right: 1rem;
    }
  .main-menu .sub-menu ul > li:not(:first-child) > .sub-menu {
    border-top-right-radius: 0.375rem;
    border-top-left-radius: 0.375rem;
    border: none;
  }
}
@media only screen and (max-width: 1024px) {
  .filters-opened .close-filters {
    display: block !important;
  }
  .menu-opened .btn--close-sm.close-mobile-menu {
    display: block !important;
  }
  .mobile-menu {
    display: none;
    overflow: hidden;
  }
  @media (min-width: 1024px){
        .mobile-menu{
            display: none;
        }
    }
  .mm-ocd__content {
    overflow-y: auto;
    overflow-x: hidden;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y;
  }
  .mm-ocd__content > salla-filters {
    overflow: visible;
    max-height: none;
  }
  .mm-ocd-opened .mobile-menu {
    display: block;
  }
}
@media only screen and (max-width: 1024px) and (max-width: 480px) {
  .mm-ocd-opened .btn--close-sm {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    z-index: 99999999;
  }
}
/* The drawer's own styling — arrows, row padding, dividers.
   Deliberately NOT inside a max-width media query: `.mm-spn` is set by
   mmenu-light only while the drawer is running, and app.js runs it at every
   width when `header_desktop_burger` is on. Gated on the viewport instead, the
   RTL arrow correction below stopped applying above 1024px and the plugin's own
   `right:` arrow ended up drawn on top of the category name. The class is its
   own gate. */
.mm-spn ul.main-menu li:before{
    height: 0.5rem;
    width: 0.5rem;
}
.mm-spn.mm-spn--navbar:after{
    text-align: left;
    font-weight: 700;
    opacity: 0.9;
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 300ms;
}
.mm-spn.mm-spn--navbar:where([dir="ltr"], [dir="ltr"] *):after{
    text-align: left;
}
.mm-spn.mm-spn--navbar:where([dir="rtl"], [dir="rtl"] *):after{
    text-align: right;
}
.mm-spn.mm-spn--navbar:where([dir="ltr"], [dir="ltr"] *):after{
    padding-left: 3rem;
}
.mm-spn.mm-spn--navbar:where([dir="rtl"], [dir="rtl"] *):after{
    padding-right: 3rem;
}
.mm-spn.mm-spn--navbar.mm-spn--main:where([dir="ltr"], [dir="ltr"] *):after{
    padding-left: 0.75rem;
}
.mm-spn.mm-spn--navbar.mm-spn--main:where([dir="rtl"], [dir="rtl"] *):after{
    padding-right: 0.75rem;
}
[dir=rtl] .mm-spn.mm-spn--navbar:before {
  transform: rotate(135deg) translateY(77%);
  right: 20px;
  right: var(--mm-spn-item-indent);
  left: auto;
}
.mm-spn li a,
.mm-spn li > span {
  padding: 18px;
  display: flex;
  align-items: center;
  gap: 1rem;
}
.mm-spn li img{
    pointer-events: none;
    height: 3rem;
    width: 3rem;
    --tw-bg-opacity: 1;
    background-color: rgba(245, 247, 249, 1);
    background-color: rgba(245, 247, 249, var(--tw-bg-opacity, 1));
    -o-object-fit: cover;
       object-fit: cover;
}
.mm-spn li a span {
  padding: 0;
}
[dir=rtl] .mm-spn li:before {
  width: 6px;
  height: 6px;
  top: 50%;
  left: 25px;
  left: calc(50px / 2);
  left: calc(var(--mm-spn-item-height) / 2);
  right: auto;
  border-bottom: 1px solid;
  border-left: 1px solid;
  border-right: none;
  border-top: none;
}
.mm-spn li:after {
  width: 100%;
  border-color: var(--store-border-color);
}

/* =========================================================================
   sidebar menu
   ========================================================================= */
.mm-ocd__content:has(#mobile-menu) {
  background: var(--store-bg);
}

#mobile-menu.mm-spn {
  color: var(--text-primary);
  background: var(--store-bg);
}

/* Horizontal desktop menu — no panel, no background of its own. */
#mobile-menu:not(.mm-spn) {
  background: transparent;
}

/* Category rows sit one step back from the panel's own text colour. */
.mobile-menu-link,
.mm-spn a.mobile-menu-link {
  color: var(--text-secondary);
}

.mm-spn a:hover,
.mm-spn a:active,
.mm-spn a.mobile-menu-link:hover {
  color: #414042;
  color: var(--color-primary);
}

/* Account row pinned to the top of the drawer — the mobile stand-in for
   <salla-user-menu>, which components/header/header.twig renders from `lg` up
   only. Carries the store's brand colour so it reads as the one primary action
   in an otherwise neutral list. */
.mobile-menu-user > a {
  color: var(--text-primary) !important;
  background-color: rgba(65, 64, 66, 0.08);
  border-bottom: 1px solid var(--store-border-color);
}

@supports (color: color-mix(in lch, red, blue)){
.mobile-menu-user > a {
  background-color: color-mix(in srgb, var(--color-primary) 8%, transparent);
}
}
.mobile-menu-user .mobile-menu-user__icon{
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    border-radius: 9999px;
  width: 2.5rem;
  height: 2.5rem;
  font-size: 1.125rem;
  color: #414042;
  color: var(--color-primary);
  background-color: rgba(65, 64, 66, 0.14);
}

@supports (color: color-mix(in lch, red, blue)){
.mobile-menu-user .mobile-menu-user__icon{
  background-color: color-mix(in srgb, var(--color-primary) 14%, transparent);
    }
}
.mobile-menu-user .mobile-menu-user__avatar{
    flex-shrink: 0;
    border-radius: 9999px;
    -o-object-fit: cover;
       object-fit: cover;
  width: 2.5rem !important;
  height: 2.5rem !important;
  background: transparent !important;
}

.dropdown__trigger{
    height: 2.5rem;
    width: 2.5rem;
    overflow: hidden;
    border-radius: 9999px;
    font-weight: 500;
}

.dropdown__trigger:focus{
    --tw-ring-offset-color: transparent;
}
.dropdown__trigger.filter{
    height: auto;
    width: auto;
    overflow: visible;
    border-radius: 0px;
}

.dropdown__menu{
    visibility: hidden;
    position: absolute;
    top: 100%;
    z-index: 30;
    width: 20rem;
    transform-origin: top right;
    --tw-translate-y: -1rem;
    --tw-scale-y: .9;
    transform: translate(var(--tw-translate-x), -1rem) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(.9);
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    border-top-left-radius: 0.375rem;
    border-top-right-radius: 0.375rem;
    border-bottom-right-radius: 0.375rem;
    border-bottom-left-radius: 0.375rem;
    --tw-bg-opacity: 1;
    background-color: rgba(255, 255, 255, 1);
    background-color: rgba(255, 255, 255, var(--tw-bg-opacity, 1));
    opacity: 0;
    --tw-shadow: 5px 10px 30px #2B2D340D;;
    --tw-shadow-colored: 5px 10px 30px var(--tw-shadow-color);
    box-shadow: 0 0 rgba(0,0,0,0), 0 0 rgba(0,0,0,0), 5px 10px 30px #2B2D340D;;
    box-shadow: var(--tw-ring-offset-shadow, 0 0 rgba(0,0,0,0)), var(--tw-ring-shadow, 0 0 rgba(0,0,0,0)), var(--tw-shadow);
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 200ms;
}

input[type=radio].sr-only div.dropdown__menu {
  transition: all 0.3s;
}

input[type=radio].sr-only:checked ~ div.dropdown__menu {
  border-color: var(--color-main);
}

@media (min-width: 1024px){
    .dropdown__menu{
        width: 15rem;
        border-top-left-radius: 0px;
        border-top-right-radius: 0px;
        border-top-width: 1px;
        border-color: rgba(209, 213, 219, 0.3);
    }
}

.dropdown__menu:where([dir="ltr"], [dir="ltr"] *){
    right: 0px;
}

.dropdown__menu:where([dir="rtl"], [dir="rtl"] *){
    left: 0px;
}

.dropdown__menu {
  outline: none;
}

.dropdown-toggler{
    margin-left: 0px;
    margin-right: 0px;
    display: inline-flex;
    width: 2.5rem;
    align-items: center;
    --tw-text-opacity: 1;
    color: rgba(107, 114, 128, 1);
    color: rgba(107, 114, 128, var(--tw-text-opacity, 1));
}

@media (min-width: 1024px){
    .dropdown-toggler{
        height: 100%;
    }
}
.dropdown-toggler.cat-filter{
    position: static;
    width: auto;
}
.dropdown-toggler.cat-filter .dropdown__trigger{
    height: auto;
    width: auto;
    overflow: visible;
    border-radius: 0px;
}
.dropdown-toggler:before {
  content: "";
  background: rgba(113, 113, 122, 0.75);
  pointer-events: none;
  visibility: hidden;
  position: fixed;
  left: 0px;
  top: 0px;
  z-index: 10;
  height: 100vh;
  width: 100vw;
  opacity: 0;
  transition-duration: 300ms;
}
.dropdown-toggler.is-opened .dropdown__menu{
    visibility: visible;
    --tw-translate-y: 0px;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    transform: translate(var(--tw-translate-x), 0px) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(1) scaleY(1);
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    opacity: 1;
}
.dropdown-toggler.is-opened .dropdown__menu .tooltip-content {
  visibility: visible;
  opacity: 1;
  transform: translate(82px, -110px);
}
[dir=rtl] .icon-trigger.dropdown-toggler.is-opened .dropdown__menu .tooltip-content {
  transform: translate(53px, -63px);
}
[dir=ltr] .icon-trigger.dropdown-toggler.is-opened .dropdown__menu .tooltip-content {
  transform: translate(-54px, -65px);
}
@media (max-width: 991px) {
  [dir=rtl] .icon-trigger.mobile-shifted.dropdown-toggler.is-opened .dropdown__menu .tooltip-content {
    transform: translate(70px, -80px);
  }
  [dir=ltr] .icon-trigger.mobile-shifted.dropdown-toggler.is-opened .dropdown__menu .tooltip-content {
    transform: translate(-70px, -80px);
  }
}
@media (max-width: 1024px) {
  .dropdown-toggler .dropdown__menu {
    left: 0 !important;
    position: fixed;
    bottom: 0px;
    top: auto;
    width: 100%;
    transform-origin: center;
    --tw-translate-y: 2.5rem;
    transform: translate(var(--tw-translate-x), 2.5rem) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    border-bottom-right-radius: 0px;
    border-bottom-left-radius: 0px;
    opacity: 0;
    transition-duration: 300ms;
  }
  .dropdown-toggler .dropdown__menu .menu-item:where([dir="ltr"], [dir="ltr"] *){
        padding-right: 0.625rem;
    }
  .dropdown-toggler .dropdown__menu .menu-item:where([dir="rtl"], [dir="rtl"] *){
        padding-left: 0.625rem;
    }
  .dropdown-toggler.is-opened .dropdown__menu{
        --tw-translate-y: 0px;
        transform: translate(var(--tw-translate-x), 0px) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
        transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
        opacity: 1;
    }
  .dropdown-toggler.is-opened:before{
        pointer-events: auto;
        visibility: visible;
        opacity: 1;
    }
.dropdown-toggler.is-opened .tooltip-content:before {
  visibility: visible;
  opacity: 1;
  transform: translate(82px, -110px);
}
[dir=rtl] .icon-trigger.dropdown-toggler.is-opened .tooltip-content:before {
  transform: translate(53px, -63px);
}
[dir=ltr] .icon-trigger.dropdown-toggler.is-opened .tooltip-content:before {
  transform: translate(-54px, -65px);
}
@media (max-width: 991px) {
  [dir=rtl] .icon-trigger.mobile-shifted.dropdown-toggler.is-opened .tooltip-content:before {
    transform: translate(70px, -80px);
  }
  [dir=ltr] .icon-trigger.mobile-shifted.dropdown-toggler.is-opened .tooltip-content:before {
    transform: translate(-70px, -80px);
  }
}
}

@media (max-width: 768px) {
  .single-order-header-item{
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
}

.order-file .s-button-text{
    display: flex;
    gap: 0.5rem;
}

/* tags */
.tag{
    display: inline-block;
    border-radius: 1rem;
    border-width: 1px;
    --tw-border-opacity: 1;
    border-color: rgba(229, 231, 235, 1);
    border-color: rgba(229, 231, 235, var(--tw-border-opacity, 1));
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    padding-top: 0.125rem;
    padding-bottom: 0.25rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
}
.tag--primary{
    border-color: #414042;
    border-color: var(--color-primary);
    color: #414042;
    color: var(--color-primary);
}

/* Profile Header section */
.profile-header{
    position: relative;
    overflow: hidden;
}
@media (min-width: 1024px){
    .profile-header{
        height: 12rem;
    }
  .profile-header .breadcrumbs{
        margin-top: 0.625rem;
    }
}
.profile-header .breadcrumbs a{
    color: #ff6767;
    color: var(--color-primary-reverse);
}
.profile-header .breadcrumbs a:hover{
    opacity: 0.8;
}
.profile-header .breadcrumbs span{
    color: #ff6767;
    color: var(--color-primary-reverse);
    opacity: 0.8;
}
.profile-header .breadcrumbs .arrow{
    color: #ff6767;
    color: var(--color-primary-reverse);
    opacity: 0.7;
}

.s-file-upload-profile-image .s-file-upload-has-error .filepond--file-status:where([dir="ltr"], [dir="ltr"] *){
    left: -50%;
}

.s-file-upload-profile-image .s-file-upload-has-error .filepond--file-status:where([dir="rtl"], [dir="rtl"] *){
    right: 50%;
}

.rating-header{
    position: relative;
    border-radius: 0.375rem;
    --tw-gradient-from: var(--color-primary) var(--tw-gradient-from-position);
    --tw-gradient-to: rgba(255, 255, 255, 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
    --tw-gradient-to: var(--color-primary-dark) var(--tw-gradient-to-position);
    padding: 1.25rem;
    color: #ff6767;
    color: var(--color-primary-reverse);
}

/* Profile additional fields */
.form--user-profile .s-file-upload-wrapper {
  min-height: 120px;
}
.form--user-profile .s-file-upload-wrapper .filepond--list-scroller {
  overflow-y: inherit !important;
}
.form--user-profile .s-file-upload-wrapper .filepond--drop-label {
  min-height: 120px !important;
  cursor: pointer;
  border-radius: 0.375rem;
  border-width: 1px;
  border-style: dashed;
  --tw-border-opacity: 1;
  border-color: rgba(229, 231, 235, 1);
  border-color: rgba(229, 231, 235, var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgba(255, 255, 255, 1);
  background-color: rgba(255, 255, 255, var(--tw-bg-opacity, 1));
}
.form--user-profile .s-file-upload-wrapper .filepond--drop-label * {
  pointer-events: none;
}
.form--user-profile .s-file-upload-wrapper .profile-filepond-placholder{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.form--user-profile .s-file-upload-wrapper .profile-filepond-placholder-icon{
    margin-bottom: 0.25rem;
}
.form--user-profile .s-file-upload-wrapper .profile-filepond-placholder-icon i {
  color: #7c8082;
  font-size: 1.25rem;
  line-height: 1.75rem;
}

/*
* thank you page
*/
/* The breadcrumb sits on the primary-coloured hero band, so it needs the same
   treatment `s-breadcrumb-primary-reverse` gives the customer pages. The component
   only applies that class for `customer.*` slugs, hence the theme-side override. */
.thankyou-breadcrumbs a{
    color: #ff6767;
    color: var(--color-primary-reverse);
}
.thankyou-breadcrumbs a:hover{
    opacity: 0.8;
}
.thankyou-breadcrumbs li{
    color: #ff6767;
    color: var(--color-primary-reverse);
    opacity: 0.8;
}
.thankyou-breadcrumbs svg{
    fill: #ff6767;
    fill: var(--color-primary-reverse);
    opacity: 0.7;
}

.thankyou-block{
    margin-bottom: 1.5rem;
    display: flex;
    flex: 1 1 0%;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: 0.375rem;
    --tw-bg-opacity: 1;
    background-color: rgba(255, 255, 255, 1);
    background-color: rgba(255, 255, 255, var(--tw-bg-opacity, 1));
    padding: 2rem;
    transition-duration: 500ms;
}

.thankyou-block:hover{
    --tw-shadow: 5px 10px 30px #2B2D340D;;
    --tw-shadow-colored: 5px 10px 30px var(--tw-shadow-color);
    box-shadow: 0 0 rgba(0,0,0,0), 0 0 rgba(0,0,0,0), 5px 10px 30px #2B2D340D;;
    box-shadow: var(--tw-ring-offset-shadow, 0 0 rgba(0,0,0,0)), var(--tw-ring-shadow, 0 0 rgba(0,0,0,0)), var(--tw-shadow);
}

@media (min-width: 768px){
    .thankyou-block{
        margin-bottom: 2rem;
    }
}
.thankyou-block.sent{
    font-weight: 700;
    --tw-text-opacity: 1;
    color: rgba(34, 197, 94, 1);
    color: rgba(34, 197, 94, var(--tw-text-opacity, 1));
}
.thankyou-block.sent:before{
    margin-bottom: 0.5rem;
    display: flex;
    height: 4rem;
    width: 4rem;
    align-items: center;
    justify-content: center;
    border-radius: 9999px;
    --tw-bg-opacity: 1;
    background-color: rgba(220, 252, 231, 1);
    background-color: rgba(220, 252, 231, var(--tw-bg-opacity, 1));
    font-size: 1.5rem;
    line-height: 2rem;
    --tw-text-opacity: 1;
    color: rgba(34, 197, 94, 1);
    color: rgba(34, 197, 94, var(--tw-text-opacity, 1));
  content: "\ea9d";
  font-family: "sallaicons";
}

/*
* Order rating actions
*/
.rating-actions{
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.rating-actions salla-button button{
    margin-left: 0px !important;
    margin-right: 0px !important;
    height: 2rem !important;
    width: 2rem !important;
    border-radius: .75rem !important;
}

/*
* Blog single page
*/
.blog-single .s-comments-item-user-info-name{
    margin-left: 0px;
    margin-right: 0px;
}

/*
  Block Title
*/
.s-block__title{
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
@media (min-width: 768px){
    .s-block__title{
        margin-bottom: 2rem;
    }
}
.s-block__title .right-side:where([dir="ltr"], [dir="ltr"] *){
    padding-right: 2rem;
}
.s-block__title .right-side:where([dir="rtl"], [dir="rtl"] *){
    padding-left: 2rem;
}
.s-block__title h2{
    position: relative;
    font-size: 1.125rem;
    line-height: 1.75rem;
    font-weight: 700;
    line-height: 1.2;
}
.s-block__title p{
    margin-top: 0.5rem;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    font-size: 0.875rem;
    line-height: 1.25rem;
    opacity: 0.6;
}
@media (min-width: 640px){
    .s-block__title p{
        overflow: hidden;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }
}
@media (min-width: 768px){
    .s-block__title p:where([dir="ltr"], [dir="ltr"] *){
        padding-right: 4rem;
    }
    .s-block__title p:where([dir="rtl"], [dir="rtl"] *){
        padding-left: 4rem;
    }
}
.s-block__title-nav{
    display: none;
}
.s-block__title-nav > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(0.625rem * 0);
    margin-right: calc(0.625rem * var(--tw-space-x-reverse));
    margin-left: calc(0.625rem * (1 - 0));
    margin-left: calc(0.625rem * (1 - var(--tw-space-x-reverse)));
    margin-left: calc(0.625rem * calc(1 - 0));
    margin-left: calc(0.625rem * calc(1 - var(--tw-space-x-reverse)));
}
@media (min-width: 640px){
    .s-block__title-nav{
        display: flex;
    }
}
.s-block__title-nav:where([dir="ltr"], [dir="ltr"] *){
    margin-left: 1.5rem;
    flex-direction: row-reverse;
}
.s-block__title-nav:where([dir="rtl"], [dir="rtl"] *){
    margin-right: 1.5rem;
}
.s-block__title-nav:where([dir="rtl"], [dir="rtl"] *) > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 1;
}
.s-block__display-all{
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 700;
    opacity: 0.8;
}
.s-block__display-all:hover{
    opacity: 1;
}
.s-block__display-all i{
    display: inline-block;
}
.s-block__display-all i:where([dir="ltr"], [dir="ltr"] *){
    --tw-rotate: 180deg;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(180deg) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

/*
  Main slider
*/
.s-block--hero-slider .swiper-slide{
    position: relative;
    height: 20rem;
    --tw-bg-opacity: 1;
    background-color: rgba(31, 41, 55, 1);
    background-color: rgba(31, 41, 55, var(--tw-bg-opacity, 1));
}
@media (min-width: 640px){
    .s-block--hero-slider .swiper-slide{
        height: 24rem;
    }
}
@media (min-width: 1024px){
    .s-block--hero-slider .swiper-slide{
        height: 464px;
    }
}
@media (min-width: 1280px){
    .s-block--hero-slider .swiper-slide{
        height: 528px;
    }
}
.s-block--hero-slider .swiper-slide .swiper-lazy:after{
    position: absolute;
    top: 0px;
    height: 100%;
    width: 100%;
    background-color: rgba(0, 0, 0, 0.6);
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
    --tw-content: '';
    content: '';
    content: var(--tw-content);
}
input[type=radio].sr-only div.s-block--hero-slider .swiper-slide .swiper-lazy:after {
  transition: all 0.3s;
}
input[type=radio].sr-only:checked ~ div.s-block--hero-slider .swiper-slide .swiper-lazy:after {
  border-color: var(--color-main);
}
.s-block--hero-slider .swiper-slide .overlay-bg:after{
    position: absolute;
    top: 0px;
    height: 100%;
    width: 100%;
    background-color: rgba(0, 0, 0, 0.6);
    --tw-content: '';
    content: '';
    content: var(--tw-content);
}
input[type=radio].sr-only div.s-block--hero-slider .swiper-slide .overlay-bg:after {
  transition: all 0.3s;
}
input[type=radio].sr-only:checked ~ div.s-block--hero-slider .swiper-slide .overlay-bg:after {
  border-color: var(--color-main);
}

/* Banner Block */
@media screen and (min-width: 768px) {
  .banner:hover .banner__title {
    animation: toTopFromBottom 0.9s;
  }
  .banner:hover .banner__description {
    animation: delayKeyframe 0.3s, toTopFromBottom 0.9s 0.3s;
  }
}
.banner--fixed img{
    display: block;
    width: 100%;
    border-radius: 0.375rem;
    border-style: none;
    --tw-bg-opacity: 1;
    background-color: rgba(243, 244, 246, 1);
    background-color: rgba(243, 244, 246, var(--tw-bg-opacity, 1));
    -o-object-fit: cover;
       object-fit: cover;
}

/* Square Banner Block */
.banner-entry{
    position: relative;
    height: 200px;
    overflow: hidden;
    border-radius: 0.375rem;
    --tw-bg-opacity: 1;
    background-color: rgba(243, 244, 246, 1);
    background-color: rgba(243, 244, 246, var(--tw-bg-opacity, 1));
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    padding: 0.75rem;
    text-align: center;
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, 1);
    color: rgba(255, 255, 255, var(--tw-text-opacity, 1));
}
@media (min-width: 480px){
    .banner-entry{
        padding: 1rem;
    }
}
.banner-entry article{
    display: flex;
    height: 100%;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 0.625rem;
}
.banner-entry.square-photos h3{
    height: 100%;
    padding-left: 0.75rem;
    padding-right: 0.75rem;
}
.banner-entry h3{
    display: flex;
    flex-direction: column;
    justify-content: center;
}
@media (min-width: 480px){
    .banner-entry h3{
        padding-left: 0.25rem;
        padding-right: 0.25rem;
    }
}
.banner-entry h3.text-with-border{
    border-radius: 0.375rem;
    border-style: dashed;
    --tw-border-opacity: 1;
    border-color: rgba(229, 231, 235, 1);
    border-color: rgba(229, 231, 235, var(--tw-border-opacity, 1));
}
@media (min-width: 480px){
    .banner-entry h3.text-with-border{
        border-width: 1px;
    }
}
.banner-entry h3.text-with-border span{
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.banner-entry p{
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    opacity: 0.8;
}
.banner-entry h3, .banner-entry p{
    position: relative;
    z-index: 1;
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 300ms;
}
@media (min-width: 1024px){
    .banner-entry h3, .banner-entry p{
        --tw-translate-y: 1.5rem;
        transform: translate(var(--tw-translate-x), 1.5rem) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
        transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
        opacity: 0;
    }
}
.banner-entry:hover h3{
    --tw-translate-y: 0px;
    transform: translate(var(--tw-translate-x), 0px) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    opacity: 1;
}
.banner-entry:hover p{
    --tw-translate-y: 0px;
    transform: translate(var(--tw-translate-x), 0px) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    opacity: 0.8;
}
.two-row .banner-entry:first-child{
    padding: 1.25rem;
}
@media (min-width: 640px){
    .two-row .banner-entry:first-child{
        grid-column: span 1 / span 1;
        grid-row: span 2 / span 2;
    }
}
@media (min-width: 768px){
    .two-row .banner-entry:first-child{
        height: 100%;
    }
}
.two-row .banner-entry:first-child > a{
    opacity: 1;
}
.two-row .banner-entry:first-child h3{
    font-size: 1.5rem;
    line-height: 3rem;
}

/* Square photos - 3 and 5 render a featured tile plus the rest, every other count is equal tiles */
@media (min-width: 768px){
    .square-photos-grid--equal-2{
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .square-photos-grid--equal-3{
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  .square-photos-grid--featured-3, .square-photos-grid--featured-5 {
    grid-auto-rows: 200px;
  }
  .square-photos-grid--featured-3 > .banner-entry:first-child, .square-photos-grid--featured-5 > .banner-entry:first-child{
        grid-row: span 2 / span 2;
        height: 100%;
        padding: 1.25rem;
    }
  .square-photos-grid--featured-3 > .banner-entry:first-child h3, .square-photos-grid--featured-5 > .banner-entry:first-child h3{
        font-size: 1.5rem;
        line-height: 3rem;
    }
  .square-photos-grid--featured-3{
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  .square-photos-grid--featured-5{
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
  .square-photos-grid--featured-5 > .banner-entry:first-child{
        grid-column: span 2 / span 2;
    }
}

.has-overlay:after{
    position: absolute;
    top: 0px;
    left: 0px;
    height: 100%;
    width: 100%;
    background-color: rgba(0, 0, 0, 0.6);
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 300ms;
    --tw-content: '';
    content: '';
    content: var(--tw-content);
}

input[type=radio].sr-only div.has-overlay:after {
  transition: all 0.3s;
}

input[type=radio].sr-only:checked ~ div.has-overlay:after {
  border-color: var(--color-main);
}
.has-overlay.with-hover:after {
  transition: opacity 0.3s;
  opacity: 0;
}
.has-overlay.with-hover:hover:after {
  opacity: 1;
}
.has-overlay:hover:after{
    background-color: rgba(0, 0, 0, 0.7);
}

/* Full banner block */
.full-banner-entry{
    position: relative;
    grid-row: span 2 / span 2;
    height: 20rem;
    overflow: hidden;
    --tw-bg-opacity: 1;
    background-color: rgba(231, 229, 228, 1);
    background-color: rgba(231, 229, 228, var(--tw-bg-opacity, 1));
    background-size: cover;
    background-attachment: fixed;
    background-position: center;
    padding: 1.25rem;
    text-align: center;
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, 1);
    color: rgba(255, 255, 255, var(--tw-text-opacity, 1));
    transition-property: opacity;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.full-banner-entry:hover{
    opacity: 0.95;
}
@media (min-width: 768px){
    .full-banner-entry{
        height: 24rem;
    }
}
@media (min-width: 1024px){
    .full-banner-entry{
        height: 464px;
    }
}
@media (min-width: 1280px){
    .full-banner-entry{
        height: 528px;
    }
}
.full-banner-entry {
  background-attachment: scroll;
  background-attachment: initial;
}
.full-banner-entry::after, .full-banner-entry::before {
  height: 100%;
  width: 100%;
  top: 0;
  right: -93%;
  content: "";
  background: #414042;
  background: var(--color-primary);
  position: absolute;
  transition: all 0.3s ease-in-out;
  transform: rotate(220deg) translateY(-50%) translateX(33%);
  opacity: 0.25;
}
.full-banner-entry::before {
  background: #fff;
  right: auto;
  transform: rotate(220deg) translateY(-40%) translateX(0);
}
[dir=ltr] .full-banner-entry::before {
  left: -52%;
}
@media (max-width: 1330px) {
  .full-banner-entry::after {
    top: -50%;
  }
}
@media (max-width: 480px) {
  .full-banner-entry::before {
    top: 20%;
  }
  .full-banner-entry::after {
    top: -80%;
  }
}

/*
  Tabs Block
*/
.tabs-wrapper .tabs__item{
    display: none;
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 300ms;
}
.tabs-wrapper .tabs__item.is-active{
    display: block;
}

.s-block--tabs-produtcs .tabs{
    margin-left: -0.625rem;
    margin-right: -0.625rem;
}

.s-block--tabs-produtcs .tabs > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(0.25rem * 0);
    margin-right: calc(0.25rem * var(--tw-space-x-reverse));
    margin-left: calc(0.25rem * (1 - 0));
    margin-left: calc(0.25rem * (1 - var(--tw-space-x-reverse)));
    margin-left: calc(0.25rem * calc(1 - 0));
    margin-left: calc(0.25rem * calc(1 - var(--tw-space-x-reverse)));
}

.s-block--tabs-produtcs .tabs{
    overflow-x: auto;
    white-space: nowrap;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    padding-bottom: 1.5rem;
    text-align: center;
}

@media (min-width: 640px){
    .s-block--tabs-produtcs .tabs{
        margin-left: -1.25rem;
        margin-right: -1.25rem;
        padding-bottom: 2.5rem;
    }
}

@media (min-width: 768px){
    .s-block--tabs-produtcs .tabs > :not([hidden]) ~ :not([hidden]){
        --tw-space-x-reverse: 0;
        margin-right: calc(1rem * 0);
        margin-right: calc(1rem * var(--tw-space-x-reverse));
        margin-left: calc(1rem * (1 - 0));
        margin-left: calc(1rem * (1 - var(--tw-space-x-reverse)));
        margin-left: calc(1rem * calc(1 - 0));
        margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse)));
    }
}

@media (min-width: 1024px){
    .s-block--tabs-produtcs .tabs{
        margin-left: 0px;
        margin-right: 0px;
    }
}

.s-block--tabs-produtcs .tabs:where([dir="rtl"], [dir="rtl"] *) > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 1;
}
.s-block--tabs-produtcs .tab-trigger{
    --tw-text-opacity: 1;
    color: rgba(31, 41, 55, 1);
    color: rgba(31, 41, 55, var(--tw-text-opacity, 1));
}
.s-block--tabs-produtcs .tab-trigger.is-active button{
    border-color: var(--color-primary-dark);
    background-color: var(--color-primary-dark);
    color: #ff6767;
    color: var(--color-primary-reverse);
}

.s-block--special-products .tabs{
    margin-bottom: 1rem;
}

.s-block--special-products .tabs > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(0.5rem * 0);
    margin-right: calc(0.5rem * var(--tw-space-x-reverse));
    margin-left: calc(0.5rem * (1 - 0));
    margin-left: calc(0.5rem * (1 - var(--tw-space-x-reverse)));
    margin-left: calc(0.5rem * calc(1 - 0));
    margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));
}

.s-block--special-products .tabs{
    overflow-x: auto;
    white-space: nowrap;
}

@media (min-width: 640px){
    .s-block--special-products .tabs{
        margin-bottom: 0px;
    }
}

@media (min-width: 768px){
    .s-block--special-products .tabs > :not([hidden]) ~ :not([hidden]){
        --tw-space-x-reverse: 0;
        margin-right: calc(2rem * 0);
        margin-right: calc(2rem * var(--tw-space-x-reverse));
        margin-left: calc(2rem * (1 - 0));
        margin-left: calc(2rem * (1 - var(--tw-space-x-reverse)));
        margin-left: calc(2rem * calc(1 - 0));
        margin-left: calc(2rem * calc(1 - var(--tw-space-x-reverse)));
    }
}

.s-block--special-products .tabs:where([dir="rtl"], [dir="rtl"] *) > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 1;
}
.s-block--special-products .tabs__item{
    flex: 1 1 0%;
    gap: 0.625rem;
}
@media (min-width: 640px){
    .s-block--special-products .tabs__item{
        gap: 2rem;
    }
}
.s-block--special-products .tabs__item.is-active {
  display: grid;
}
.s-block--special-products .tab-trigger{
    font-weight: 700;
    line-height: 1.75rem;
    --tw-text-opacity: 1;
    color: rgba(31, 41, 55, 1);
    color: rgba(31, 41, 55, var(--tw-text-opacity, 1));
}
.s-block--special-products .tab-trigger.is-active button{
    border-color: var(--color-primary-dark);
    color: var(--color-primary-dark);
}

.s-block--tabs-produtcs:not(.tabs-initialized) .tabs-wrapper > div:not(:first-child),
.s-block--special-products:not(.tabs-initialized) .tabs-wrapper > div:not(:first-child) {
  display: none;
}

/* feature products*/
.s-block--features-products.two-cols .inner {
  display: grid;
  grid-gap: 1.25rem;
  gap: 1.25rem;
}
@media (min-width: 1024px){
    .s-block--features-products.two-cols .inner{
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* slider with bg block */
.s-block--slider-with-bg{
    margin-top: 2rem;
    --tw-bg-opacity: 1;
    background-color: rgba(243, 244, 246, 1);
    background-color: rgba(243, 244, 246, var(--tw-bg-opacity, 1));
    padding-bottom: 2rem;
}
.s-block--slider-with-bg:first-of-type{
    margin-top: 0px;
}
@media (min-width: 640px){
    .s-block--slider-with-bg{
        margin-top: 4rem;
        padding-bottom: 4rem;
    }
}
.s-block--slider-with-bg .slider-bg{
    position: relative;
    height: 24rem;
    background-size: cover;
    background-position: center;
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, 1);
    color: rgba(255, 255, 255, var(--tw-text-opacity, 1));
    transition-property: opacity;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
@media (min-width: 640px){
    .s-block--slider-with-bg .slider-bg{
        height: 464px;
    }
}
.s-block--slider-with-bg .slider-bg:before {
  content: "";
  position: absolute;
  top: 0px;
  left: 0px;
  height: 100%;
  width: 100%;
  --tw-bg-opacity: 1;
  background-color: rgba(0, 0, 0, 1);
  background-color: rgba(0, 0, 0, var(--tw-bg-opacity, 1));
  opacity: 0.6;
}
input[type=radio].sr-only div.s-block--slider-with-bg .slider-bg:before {
  transition: all 0.3s;
}
input[type=radio].sr-only:checked ~ div.s-block--slider-with-bg .slider-bg:before {
  border-color: var(--color-main);
}
.s-block--slider-with-bg .s-slider-block__title-right{
    display: none;
}
.s-block--slider-with-bg .s-slider-block__title-left{
    display: flex;
    width: 100%;
    justify-content: space-between;
}
.s-block--slider-with-bg .s-slider-block__display-all{
    display: block;
    display: inline-flex;
    flex: 1 1 0%;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    border-radius: 0.375rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    padding-bottom: 0.625rem;
    padding-top: 0.5rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 700;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 300ms;
}
.s-block--slider-with-bg .s-slider-block__display-all:hover{
    opacity: 0.8;
}
.s-block--slider-with-bg .s-slider-block__display-all .loader {
  width: 0;
  opacity: 0;
  height: 16px;
  transform: scale(0);
  transition: 0.3s;
}
.s-block--slider-with-bg .s-slider-block__display-all {
  /* Disabled state */
}
.s-block--slider-with-bg .s-slider-block__display-all.btn:disabled{
    cursor: default;
    border-width: 1px;
    --tw-border-opacity: 1;
    border-color: rgba(229, 231, 235, 1);
    border-color: rgba(229, 231, 235, var(--tw-border-opacity, 1));
    background-color: transparent;
    --tw-text-opacity: 1;
    color: rgba(209, 213, 219, 1);
    color: rgba(209, 213, 219, var(--tw-text-opacity, 1));
    --tw-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
    box-shadow: 0 0 rgba(0,0,0,0), 0 0 rgba(0,0,0,0), 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 rgba(0,0,0,0)), var(--tw-ring-shadow, 0 0 rgba(0,0,0,0)), var(--tw-shadow);
}
.s-block--slider-with-bg .s-slider-block__display-all.btn:disabled:hover{
    background-color: transparent;
}
.s-block--slider-with-bg .s-slider-block__display-all:disabled .s-button-text{
    opacity: 0.7;
}
.s-block--slider-with-bg .s-slider-block__display-all {
  /* Button Variants */
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgba(229, 231, 235, 1);
  border-color: rgba(229, 231, 235, var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgba(255, 255, 255, 1);
  background-color: rgba(255, 255, 255, var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgba(156, 163, 175, 1);
  color: rgba(156, 163, 175, var(--tw-text-opacity, 1));
  --tw-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: 0 0 rgba(0,0,0,0), 0 0 rgba(0,0,0,0), 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 rgba(0,0,0,0)), var(--tw-ring-shadow, 0 0 rgba(0,0,0,0)), var(--tw-shadow)
}
.s-block--slider-with-bg .s-slider-block__display-all:hover{
    border-color: #414042;
    border-color: var(--color-primary);
    background-color: #414042;
    background-color: var(--color-primary);
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, 1);
    color: rgba(255, 255, 255, var(--tw-text-opacity, 1));
}
.s-block--slider-with-bg .s-slider-block__display-all.light{
    --tw-border-opacity: 1;
    border-color: rgba(255, 255, 255, 1);
    border-color: rgba(255, 255, 255, var(--tw-border-opacity, 1));
    background-color: transparent;
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, 1);
    color: rgba(255, 255, 255, var(--tw-text-opacity, 1));
}
.btn--outline.s-block--slider-with-bg .s-slider-block__display-all{
    --tw-border-opacity: 1;
    border-color: rgba(255, 255, 255, 1);
    border-color: rgba(255, 255, 255, var(--tw-border-opacity, 1));
    background-color: transparent;
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, 1);
    color: rgba(255, 255, 255, var(--tw-text-opacity, 1));
}
.s-block--slider-with-bg .s-slider-block__display-all{
    border-radius: 9999px;
}
@media only screen and (min-width: 1024px) {
  .main-menu .sub-menu .s-block--slider-with-bg .s-slider-block__display-all {
    padding: 8px 10px 10px;
  }
}
.s-block--slider-with-bg .s-slider-block__display-all{
    background-color: transparent !important;
    --tw-text-opacity: 1 !important;
    color: rgba(255, 255, 255, 1) !important;
    color: rgba(255, 255, 255, var(--tw-text-opacity, 1)) !important;
  flex-grow: 0 !important;
}

/*
  Main Links Block
*/
.slide--cat-entry{
    display: flex;
    height: 9rem;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: 0.375rem;
    border-width: 1px;
    --tw-border-opacity: 1;
    border-color: rgba(243, 244, 246, 1);
    border-color: rgba(243, 244, 246, var(--tw-border-opacity, 1));
    --tw-bg-opacity: 1;
    background-color: rgba(255, 255, 255, 1);
    background-color: rgba(255, 255, 255, var(--tw-bg-opacity, 1));
    padding: 0.75rem;
    text-align: center;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 500ms;
}
.slide--cat-entry:hover{
    --tw-text-opacity: 1;
    color: rgba(107, 114, 128, 1);
    color: rgba(107, 114, 128, var(--tw-text-opacity, 1));
    --tw-shadow: 5px 10px 30px #2B2D340D;;
    --tw-shadow-colored: 5px 10px 30px var(--tw-shadow-color);
    box-shadow: 0 0 rgba(0,0,0,0), 0 0 rgba(0,0,0,0), 5px 10px 30px #2B2D340D;;
    box-shadow: var(--tw-ring-offset-shadow, 0 0 rgba(0,0,0,0)), var(--tw-ring-shadow, 0 0 rgba(0,0,0,0)), var(--tw-shadow);
}
.slide--cat-entry i{
    margin-bottom: 1rem;
    display: inline-block;
    font-size: 33px;
    color: #414042;
    color: var(--color-primary);
}
.slide--cat-entry h2{
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 700;
}

/*
  offers slider
*/
.slide--offer-entry{
    display: flex;
    height: 9rem;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    border-radius: 0.375rem;
    border-width: 1px;
    --tw-border-opacity: 1;
    border-color: rgba(229, 231, 235, 1);
    border-color: rgba(229, 231, 235, var(--tw-border-opacity, 1));
    --tw-bg-opacity: 1;
    background-color: rgba(255, 255, 255, 1);
    background-color: rgba(255, 255, 255, var(--tw-bg-opacity, 1));
    text-align: center;
    --tw-text-opacity: 1;
    color: rgba(75, 85, 99, 1);
    color: rgba(75, 85, 99, var(--tw-text-opacity, 1));
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 500ms;
}
.slide--offer-entry:hover{
    --tw-shadow: 5px 10px 30px #2B2D340D;;
    --tw-shadow-colored: 5px 10px 30px var(--tw-shadow-color);
    box-shadow: 0 0 rgba(0,0,0,0), 0 0 rgba(0,0,0,0), 5px 10px 30px #2B2D340D;;
    box-shadow: var(--tw-ring-offset-shadow, 0 0 rgba(0,0,0,0)), var(--tw-ring-shadow, 0 0 rgba(0,0,0,0)), var(--tw-shadow);
}

.s-block{
    margin-top: 2rem;
}

@media (min-width: 640px){
    .s-block{
        margin-top: 4rem;
    }
}
.s-block--full-bg + footer,
.s-block--full-bg + .s-block--full-bg, .s-block--full-bg:first-of-type{
    margin-top: 0px;
}
.s-block--full-bg + .merge-with-top-component{
    z-index: 1;
    margin-top: -7rem;
}
@media (min-width: 768px){
    .s-block--full-bg + .merge-with-top-component{
        margin-top: -8rem;
    }
}
.s-block--full-bg + .merge-with-top-component .s-slider-block__title {
  color: #fff !important;
  text-align: center;
}
@media (min-width: 640px){
    .s-block--full-bg + .merge-with-top-component .s-slider-block__title{
        margin-bottom: 1rem;
        text-align: left;
    }
}
.s-block--full-bg + .merged-has-no-title{
    margin-top: -4rem;
}
@media (min-width: 768px){
    .s-block--full-bg + .merged-has-no-title{
        margin-top: -74px;
    }
}
@media (min-width: 640px){
    .s-block--full-bg + .merged-has-no-title .s-slider-block__title{
        margin-bottom: 0px;
    }
}
.s-block--categories{
    position: relative;
    overflow: hidden;
}
.s-block--categories__title{
    position: relative;
    z-index: 1;
    min-height: 28px;
    font-size: 1rem;
    line-height: 1.5rem;
    font-weight: 700;
}
@media (min-width: 640px){
    .s-block--categories__title{
        margin-bottom: 1rem;
        font-size: 1.125rem;
        line-height: 1.75rem;
    }
}
.s-block--features__item{
    display: flex;
    flex-grow: 1;
    cursor: pointer;
    flex-direction: column;
    align-items: center;
    border-radius: 0.375rem;
    --tw-bg-opacity: 1;
    background-color: rgba(255, 255, 255, 1);
    background-color: rgba(255, 255, 255, var(--tw-bg-opacity, 1));
    padding-left: 1rem;
    padding-right: 1rem;
    padding-top: 2rem;
    padding-bottom: 2rem;
    text-align: center;
    transition-property: box-shadow;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 500ms;
}
.s-block--features__item * {
  pointer-events: none;
}
.s-block--features__item:hover{
    --tw-shadow: 5px 10px 30px #2B2D340D;;
    --tw-shadow-colored: 5px 10px 30px var(--tw-shadow-color);
    box-shadow: 0 0 rgba(0,0,0,0), 0 0 rgba(0,0,0,0), 5px 10px 30px #2B2D340D;;
    box-shadow: var(--tw-ring-offset-shadow, 0 0 rgba(0,0,0,0)), var(--tw-ring-shadow, 0 0 rgba(0,0,0,0)), var(--tw-shadow);
}
@media (min-width: 768px){
    .s-block--features__item{
        padding-left: 2rem;
        padding-right: 2rem;
    }
}
.s-block--features__item:first-child{
    grid-column: span 2 / span 2;
}
@media (min-width: 768px){
    .s-block--features__item:first-child{
        grid-column: span 1 / span 1;
    }
}
.s-block--features__item .feature-icon{
    margin-bottom: 0.75rem;
    display: flex;
    height: 4rem;
    width: 4rem;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 9999px;
    background-color: #414042;
    background-color: var(--color-primary);
}
.s-block--features__item .feature-icon i{
    font-size: 1.875rem;
    line-height: 2.25rem;
    color: #ff6767;
    color: var(--color-primary-reverse);
}
.s-block--features__item h2{
    margin-bottom: 0.25rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 700;
    --tw-text-opacity: 1;
    color: rgba(31, 41, 55, 1);
    color: rgba(31, 41, 55, var(--tw-text-opacity, 1));
}
.s-block--features__item p{
    font-size: 0.875rem;
    line-height: 1.25rem;
    --tw-text-opacity: 1;
    color: rgba(107, 114, 128, 1);
    color: rgba(107, 114, 128, var(--tw-text-opacity, 1));
}
.s-block--features__item:hover .feature-icon i {
  animation: toRightFromLeft 0.3s forwards;
}

.s-block--features + .s-block--features,
.s-block--fixed-banner + .s-block--fixed-banner,
.s-block--banners + .s-block--banners {
  margin-top: 2em;
}

.s-block--tabs-produtcs + .s-block--tabs-produtcs {
  padding-top: 2em;
}

.s-blocks-wrapper:empty{
    display: none;
}
.s-blocks-wrapper :not(.s-information-page) .s-block:first-child{
    margin-top: 0px;
}
.s-blocks-wrapper:empty + .container--products-list,
.s-blocks-wrapper:empty + .container--product-details{
    margin-top: 0px !important;
}
.s-blocks-wrapper.s-information-page.s-block.s-block--full-bg:first-of-type{
    margin-top: 0px;
}

.container--breadcrumbs, .container--breadcrumbs + .s-blocks-wrapper{
    margin-top: 0px !important;
}

/* =========================================================
   AMBIENT GLOW — js-ambient-glow
   (partials/ambient-glow.js)
   ========================================================= */
.js-ambient-glow {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

/* On <body> the rule above would be fatal: body's overflow propagates to the
   viewport, so `hidden` on both axes stops the page scrolling entirely. Keep
   the horizontal clip the theme already had and let the Y axis scroll. */
body.js-ambient-glow {
  overflow: visible;
  overflow-x: hidden;
}

/* The orb's clipping box when the glow runs on <body> — same shape as
   .store-bg. Dropped straight into the page the orb sat in a box as tall as
   the whole document: it orbited around the document's midpoint (so it was
   nowhere near the screen on mobile) and its width let the page pan sideways.
   A fixed, clipped, viewport-sized layer fixes both, and lines the orb's
   coordinates up with the pointer. */
.ambient-glow__layer {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  overflow: hidden;
  pointer-events: none;
  z-index: 1;
  contain: strict;
}

/* .store-bg and .ambient-glow__layer are excluded on purpose: both are
   `position: fixed`, and forcing them to relative collapses them onto the page
   flow. Layer order stays store-bg (0) → glow (1) → content (2). */
.js-ambient-glow > section:not(.ambient-glow__orb):not(.store-bg):not(.ambient-glow__layer) {
  position: relative;
  z-index: 2;
}

.ambient-glow__orb {
  position: absolute;
  top: 0;
  left: 0;
  width: 70%;
  width: var(--glow-size, 70%);
  aspect-ratio: 1;
  background: radial-gradient(circle, var(--glow-color-start) 0%, var(--glow-color-mid) 50%, var(--glow-color-end) 70%);
  filter: blur(90px);
  filter: blur(var(--glow-blur, 90px));
  pointer-events: none;
  will-change: transform;
  z-index: 1;
}

/* =========================================================
   ANIMATED BORDER — rotating gradient border effect
   Usage: add class "animated-border" to any div / button / tag.
   Customise via CSS custom properties on the element:
     --ab-color-1  : first  gradient colour  (default: var(--color-primary))
     --ab-color-2  : second gradient colour  (default: #fff)
     --ab-size     : border thickness        (default: 2px)
     --ab-speed    : one full spin duration  (default: 3s)
     --ab-radius   : border-radius           (default: inherit)
     --ab-bg       : inner background mask   (default: transparent)
   ========================================================= */
/* Register --rotation as an animatable CSS custom property */
@property --ab-rotation {
  syntax: "<angle>";
  inherits: true;
  initial-value: 0deg;
}
@keyframes ab-spin {
  0% {
    --ab-rotation: 0deg;
  }
  to {
    --ab-rotation: 360deg;
  }
}
.animated-border {
  position: relative;
  isolation: isolate;
  /* Spinning gradient ring lives in ::before */
}
.animated-border::before {
  content: "";
  position: absolute;
  top: calc(-1 * 2px);
  right: calc(-1 * 2px);
  bottom: calc(-1 * 2px);
  left: calc(-1 * 2px);
  top: calc(-1 * var(--ab-size, 2px));
  right: calc(-1 * var(--ab-size, 2px));
  bottom: calc(-1 * var(--ab-size, 2px));
  left: calc(-1 * var(--ab-size, 2px));
  border-radius: inherit;
  border-radius: var(--ab-radius, inherit);
  z-index: -1;
  background: conic-gradient(from var(--ab-rotation), transparent 10%, #414042 35%, #ffffff 50%, #414042 65%, transparent 90%);
  background: conic-gradient(from var(--ab-rotation), transparent 10%, var(--ab-color-1, var(--color-primary, #00eaff)) 35%, var(--ab-color-2, #ffffff) 50%, var(--ab-color-1, var(--color-primary, #00eaff)) 65%, transparent 90%);
  animation: ab-spin 3s linear infinite;
  animation: ab-spin var(--ab-speed, 3s) linear infinite;
  -webkit-animation: ab-spin 3s linear infinite;
  -webkit-animation: ab-spin var(--ab-speed, 3s) linear infinite;
}
.animated-border {
  /* Inner fill mask — set --ab-bg on the element to match its background */
}
.animated-border::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  border-radius: inherit;
  border-radius: var(--ab-radius, inherit);
  background: transparent;
  background: var(--ab-bg, transparent);
  z-index: -1;
}

/* Pause spin on hover */
.animated-border--pause-on-hover:hover::before {
  animation-play-state: paused;
}

/* Reveal only on hover — the ring keeps spinning underneath, so it fades in
   already in motion instead of starting from 0deg every time. */
.animated-border--on-hover::before {
  opacity: 0;
  transition: opacity 0.25s;
}

.animated-border--on-hover:hover::before {
  opacity: 1;
}

/* Thicker border variant */
.animated-border--thick {
  --ab-size: 3px;
}

/* Square corners — the default is `inherit` */
.animated-border--square {
  --ab-radius: 0;
}

/* Slower spin */
.animated-border--slow {
  --ab-speed: 5s;
}

/* =========================================================
   GRADIENT BORDER — a 1px ring whose colour fades out through
   the middle. `border-color` can't take a gradient, so the ring
   is a masked pseudo-element instead.

   Usage: add class "gradient-border" to any box. It inherits the
   element's own border-radius, so pair it with rounded-* freely.
     <div class="gradient-border rounded-card p-8">…</div>

   Colour is optional — pass one on the element and it takes over,
   otherwise it falls back to the store border colour:
     <div class="gradient-border" style="--global-border-color: #8B5CF6">

   Customise via CSS custom properties on the element:
     --global-border-color   : ring colour      (default: var(--store-border-color))
     --gb-size    : ring thickness   (default: 1px)
     --gb-angle   : gradient angle   (default: 135deg)
     --gb-fade    : opacity at the fade point, as a % (default: 10%)
     --gb-radius  : corner radius    (default: inherit)
   ========================================================= */
.gradient-border {
  position: relative;
}
.gradient-border::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  border-radius: inherit;
  border-radius: var(--gb-radius, inherit);
  padding: 1px;
  padding: var(--gb-size, 1px);
  pointer-events: none;
  background: linear-gradient(135deg, var(--global-border-color, var(--store-border-color)) 0%, color-mix(in srgb, var(--global-border-color, var(--store-border-color)) 10%, transparent) 50%, var(--global-border-color, var(--store-border-color)) 100%);
  /* Punch out the inner area so only the padding ring survives */
  -webkit-mask: linear-gradient(#000 0, #000 0) content-box, linear-gradient(#000 0, #000 0);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask: linear-gradient(#000 0, #000 0) content-box, linear-gradient(#000 0, #000 0);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
          mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}

@supports (color: color-mix(in lch, red, blue)){
.gradient-border::before {
  background: linear-gradient(var(--gb-angle, 135deg), var(--global-border-color, var(--store-border-color)) 0%, color-mix(in srgb, var(--global-border-color, var(--store-border-color)) var(--gb-fade, 10%), transparent) 50%, var(--global-border-color, var(--store-border-color)) 100%);
}
}

/* Thicker ring */
.gradient-border--thick {
  --gb-size: 2px;
}

/* Fades to fully transparent in the middle */
.gradient-border--fade-out {
  --gb-fade: 0%;
}

/* Ring only from md up — matches the common "no border on mobile" pattern */
@media (max-width: 767px) {
  .gradient-border--md::before {
    display: none;
  }
}
/* =========================================================
   GLASS — global glassmorphism effect.
   Usage: add class "glass" to any card / box / section.
     <div class="glass glass--hover rounded-2xl p-6">…</div>

   Modifiers (compose freely):
     glass--sm / glass--lg   blur strength
     glass--light            light surface variant
     glass--flat             drop the top sheen highlight
     glass--hover            lift + brighten on hover
     glass--active           selected state (accent border + glow)
     glass-inset             nested translucent row inside a .glass card

   Customise via CSS custom properties on the element:
     --glass-bg              tint channel, space separated RGB (default: 255 255 255)
     --glass-opacity         tint strength           (default: .055)
     --glass-blur            backdrop blur radius    (default: 16px)
     --glass-saturate        backdrop saturation     (default: 140%)
     --glass-border          border channel, RGB     (default: 255 255 255)
     --glass-border-opacity  border strength         (default: .11)
     --glass-radius          corner radius           (default: var(--border-radius-card))
     --glass-shadow          drop shadow             (default: soft dark)
     --glass-accent          highlight colour        (default: var(--color-primary))
   ========================================================= */
.glass {
  --glass-bg: 255 255 255;
  --glass-opacity: 0.07;
  --glass-blur: 7px;
  --glass-saturate: 130%;
  --glass-border: 255 255 255;
  --glass-border-opacity: 0.14;
  --glass-shadow: 0 8px 32px rgba(0, 0, 0, 0.28);
  --glass-accent: var(--color-primary);
  position: relative;
  isolation: isolate;
  border-radius: var(--glass-radius, var(--border-radius-card));
  background-color: rgba(255, 255, 255, 0.07);
  background-color: rgb(var(--glass-bg)/var(--glass-opacity));
  border: 1px solid var(--store-border-color);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.28);
  box-shadow: var(--glass-shadow);
}
@supports (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)) {
  .glass {
    backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate));
  }
}
.glass {
  /* No backdrop-filter support — lean on a denser tint instead */
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .glass {
    background-color: rgb(var(--glass-bg)/calc(var(--glass-opacity) * 3));
  }
}
.glass {
  /* Top sheen — light catching the upper edge of the pane */
}
.glass::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  border-radius: var(--glass-radius, var(--border-radius-card));
  pointer-events: none;
  z-index: -1;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.09) 0%, rgba(255, 255, 255, 0) 42%);
}
.glass {
  /* Keep content above the sheen layer */
}
.glass > * {
  position: relative;
}

.glass--sm {
  --glass-blur: 8px;
  --glass-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
}

.glass--lg {
  --glass-blur: 28px;
  --glass-opacity: 0.075;
  --glass-shadow: 0 16px 48px rgba(0, 0, 0, 0.35);
}

/* Light surface variant — for glass sitting on a light background */
.glass--light {
  --glass-opacity: 0.62;
  --glass-border-opacity: 0.7;
  --glass-shadow: 0 8px 32px rgba(0, 0, 0, 0.08);
}
.glass--light::before {
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0) 50%);
}

.glass--flat::before {
  display: none;
}

.glass--hover {
  transition: transform 0.28s ease, box-shadow 0.28s ease, background-color 0.28s ease, border-color 0.28s ease;
}
.glass--hover:hover {
  transform: translateY(-4px);
  background-color: rgb(var(--glass-bg)/calc(var(--glass-opacity) * 1.7));
  border-color: color-mix(in srgb, var(--store-border-color) 70%, white);
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.38);
}

.glass--active {
  border-color: var(--glass-accent);
  box-shadow: var(--glass-shadow), 0 0 0 1px var(--glass-accent), 0 0 28px -6px var(--glass-accent);
}

/* Nested rows/pills inside a .glass card — no second backdrop-filter,
   stacking them is expensive and barely visible. */
.glass-inset {
  position: relative;
  border-radius: calc(var(--border-radius-card) * 0.6);
  background-color: rgba(255, 255, 255, 0.05);
  background-color: rgb(var(--glass-bg, 255 255 255)/0.05);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border: 1px solid rgb(var(--glass-border, 255 255 255)/0.08);
}
.glass-inset.is-selected, .glass-inset.glass--active {
  background-color: rgba(255, 255, 255, 0.09);
  background-color: rgb(var(--glass-bg, 255 255 255)/0.09);
  border-color: #414042;
  border-color: var(--glass-accent, var(--color-primary));
  box-shadow: 0 0 20px -8px #414042;
  box-shadow: 0 0 20px -8px var(--glass-accent, var(--color-primary));
}

@media (prefers-reduced-motion: reduce) {
  .glass--hover {
    transition: none;
  }
  .glass--hover:hover {
    transform: none;
  }
}
.s-slider-container {
  margin: 0 !important;
  margin: initial !important;
  padding: 0 !important;
  padding: initial !important;
}

.has-mask {
  padding-top: 2rem;
  padding-bottom: 2rem;
  -webkit-mask-image: linear-gradient(to right, transparent 0%, black 15%, black 85%, transparent 100%);
  mask-image: linear-gradient(to right, transparent 0%, black 15%, black 85%, transparent 100%);
}

[id^=B_].s-block {
  margin-top: 0;
  margin-top: initial;
}

.s-block:not([id^=B_]){
    margin-bottom: 2rem;
}

@media (min-width: 640px){
    .s-block:not([id^=B_]){
        margin-bottom: 4rem;
    }
}

[id^=B_explor_product_banner] .carousel-slider,
[id^=B_explor_product_banner] .carousel-slider .swiper {
  padding-left: 0 !important;
  padding-right: 0 !important;
  overflow: hidden !important;
}
[id^=B_explor_product_banner] .hero-slide {
  position: relative;
  overflow: hidden;
  width: 100%;
  /* desktop */
}
[id^=B_explor_product_banner] .hero-content {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 20;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
[id^=B_explor_product_banner] {
  /* The inner block is what align_h moves around; its own children always stack
     from the start edge, so a block sitting at the end still reads left-aligned
     inside itself. fit-content keeps the block as narrow as its content. */
}
[id^=B_explor_product_banner] .hero-content__inner {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
}
[id^=B_explor_product_banner] .hero-content__inner.is-centered {
  align-items: center !important;
  text-align: center !important;
  margin-left: auto;
  margin-right: auto;
}
[id^=B_explor_product_banner] .hero-content__inner.is-centered .promo-title__heading,
[id^=B_explor_product_banner] .hero-content__inner.is-centered .promo-title__desc {
  text-align: center !important;
}
[id^=B_explor_product_banner] .hero-content__inner.is-centered .promo-title__desc {
  margin-left: auto;
  margin-right: auto;
}
[id^=B_explor_product_banner] .hero-slide.is-centered .hero-content {
  align-items: center !important;
}
[id^=B_explor_product_banner] .hero-slide.is-centered .hero-content__inner {
  align-items: center !important;
  text-align: center !important;
  margin-left: auto;
  margin-right: auto;
}
[id^=B_explor_product_banner] .hero-slide.is-centered .hero-content__inner .promo-title__heading,
[id^=B_explor_product_banner] .hero-slide.is-centered .hero-content__inner .promo-title__desc {
  text-align: center !important;
}
[id^=B_explor_product_banner] .hero-slide.is-centered .hero-content__inner .promo-title__desc {
  margin-left: auto;
  margin-right: auto;
}
[id^=B_explor_product_banner] .hero-slide.is-centered .hero-content__inner .hero-btn-wrap,
[id^=B_explor_product_banner] .hero-slide.is-centered .hero-content__inner .hero-customers-wrap {
  justify-content: center !important;
}
[id^=B_explor_product_banner] {
  /* ── Split layout ──
     With a cut-out object and side-aligned text, the slide stops being an
     overlay and becomes two halves: text on its side, object on the other.
     --split-dir is set inline per slide (row / row-reverse) so the object
     always lands opposite the copy. */
}
@media (min-width: 768px) {
  [id^=B_explor_product_banner] .hero-slide.is-split {
    display: flex;
    flex-direction: row;
    flex-direction: var(--split-dir, row);
    align-items: stretch;
  }
  [id^=B_explor_product_banner] .hero-slide.is-split .hero-content,
  [id^=B_explor_product_banner] .hero-slide.is-split .hero-object {
    position: static;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    flex: 1 1 50%;
    min-width: 0;
  }
  [id^=B_explor_product_banner] .hero-slide.is-split .hero-content {
    padding-left: max(1.5rem, min(4vw, 3.5rem));
    padding-right: max(1.5rem, min(4vw, 3.5rem));
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }
  [id^=B_explor_product_banner] {
    /* The half is already the placement — centre inside it and let the image
       scale to fit instead of being cropped. */
  }
  [id^=B_explor_product_banner] .hero-slide.is-split .hero-object {
    justify-content: center !important;
  }
  [id^=B_explor_product_banner] .hero-slide.is-split .hero-object img {
    max-width: 100%;
    max-height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
  }
}
@media (max-width: 767px) {
  [id^=B_explor_product_banner] .hero-content {
    padding: 1.5rem 1.25rem;
    justify-content: flex-start !important;
  }
  [id^=B_explor_product_banner] .hero-content__inner {
    gap: 0.75rem;
  }
  [id^=B_explor_product_banner] .hero-slide:not(.is-centered) .hero-content,
  [id^=B_explor_product_banner] .hero-slide:not(.is-centered) .hero-content__inner {
    align-items: flex-start !important;
  }
  [id^=B_explor_product_banner] .hero-slide:not(.is-centered) .hero-content__inner > *,
  [id^=B_explor_product_banner] .hero-slide:not(.is-centered) .promo-title__badge,
  [id^=B_explor_product_banner] .hero-slide:not(.is-centered) .promo-title__heading,
  [id^=B_explor_product_banner] .hero-slide:not(.is-centered) .promo-title__desc {
    text-align: right !important;
  }
  [dir=ltr] [id^=B_explor_product_banner] .hero-slide:not(.is-centered) .hero-content__inner > *,
  [dir=ltr] [id^=B_explor_product_banner] .hero-slide:not(.is-centered) .promo-title__badge,
  [dir=ltr] [id^=B_explor_product_banner] .hero-slide:not(.is-centered) .promo-title__heading,
  [dir=ltr] [id^=B_explor_product_banner] .hero-slide:not(.is-centered) .promo-title__desc {
    text-align: left !important;
  }
  [id^=B_explor_product_banner] .hero-slide:not(.is-centered) .hero-btn-wrap,
  [id^=B_explor_product_banner] .hero-slide:not(.is-centered) .hero-customers-wrap {
    justify-content: flex-start !important;
  }
  [id^=B_explor_product_banner] .hero-slide.is-centered .hero-content,
  [id^=B_explor_product_banner] .hero-slide.is-centered .hero-content__inner {
    align-items: center !important;
    text-align: center !important;
    margin-left: auto;
    margin-right: auto;
  }
  [id^=B_explor_product_banner] .hero-slide.is-centered .promo-title__heading,
  [id^=B_explor_product_banner] .hero-slide.is-centered .promo-title__desc {
    text-align: center !important;
  }
  [id^=B_explor_product_banner] .hero-slide.is-centered .promo-title__desc {
    margin-left: auto;
    margin-right: auto;
  }
  [id^=B_explor_product_banner] .hero-slide.is-centered .hero-btn-wrap,
  [id^=B_explor_product_banner] .hero-slide.is-centered .hero-customers-wrap {
    justify-content: center !important;
  }
  [id^=B_explor_product_banner] .hero-slide.is-object {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
  }
  [id^=B_explor_product_banner] {
    /* Alignment is handled by the shared mobile block above — this only has
       to take the content out of the overlay and into the grid's first row. */
  }
  [id^=B_explor_product_banner] .hero-slide.is-object .hero-content {
    position: static;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    grid-row: 1;
    padding-bottom: 0.75rem;
  }
  [id^=B_explor_product_banner] {
    /* Full-bleed and centred on mobile — the cut-out is the visual anchor of
       the slide, so it gets the whole row with no padding eating into it. */
  }
  [id^=B_explor_product_banner] .hero-slide.is-object .hero-object {
    position: static;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    grid-row: 2;
    min-height: 0;
    padding: 0;
    justify-content: center !important;
  }
  [id^=B_explor_product_banner] .hero-slide.is-object .hero-object img {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
    -o-object-position: center center;
       object-position: center center;
  }
}
[id^=B_explor_product_banner] .hero-title {
  font-weight: 800;
  line-height: 1.2;
  margin: 0;
  max-width: 820px;
  font-size: max(1.9rem, min(5vw, 4rem));
}
@media (max-width: 767px) {
  [id^=B_explor_product_banner] .hero-title {
    font-size: max(1.5rem, min(6.5vw, 2.2rem));
    max-width: 100%;
  }
}
[id^=B_explor_product_banner] .hero-description {
  opacity: 0.75;
  line-height: 1.6;
  margin: 0;
  max-width: 620px;
  font-size: max(1.05rem, min(1.4vw, 1.35rem));
}
@media (max-width: 767px) {
  [id^=B_explor_product_banner] .hero-description {
    font-size: 0.9rem;
  }
}
[id^=B_explor_product_banner] {
  /* The button itself is the shared glow-button component — see
     04-components/button.scss. Only its placement belongs here. */
}
[id^=B_explor_product_banner] .hero-btn-wrap {
  width: -moz-fit-content;
  width: fit-content;
  margin-top: 0.5rem;
}
@media (max-width: 767px) {
  [id^=B_explor_product_banner] .hero-btn-wrap {
    margin-top: 0.25rem;
  }
}
[id^=B_explor_product_banner] .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #414042;
  background: var(--color-primary);
  opacity: 0.4;
}
[id^=B_explor_product_banner] .swiper-pagination-bullet-active {
  width: 35px;
  height: 8px;
  border-radius: 20px;
  background: #414042;
  background: var(--color-primary);
  opacity: 1;
}
[id^=B_explor_product_banner] .s-slider-container {
  height: 100%;
}
[id^=B_explor_product_banner].hero--fixed-height {
  height: var(--hero-height-pc);
}
@media (min-width: 768px) and (max-width: 1024px) {
  [id^=B_explor_product_banner].hero--fixed-height {
    height: var(--hero-height-tablet);
  }
}
@media (max-width: 767px) {
  [id^=B_explor_product_banner].hero--fixed-height {
    height: var(--hero-height-sm);
  }
}
[id^=B_explor_product_banner].hero--ratio {
  height: auto;
  aspect-ratio: var(--hero-ratio);
}

[id^=B_blog_posts] .s-slider-container {
  padding-top: 8px !important;
  padding-bottom: 8px !important;
  margin-top: -8px !important;
  margin-bottom: -8px !important;
}

[id^=B_blog_posts] .swiper-wrapper > div {
  padding: 0 !important;
  padding: initial !important;
}

[id^=B_blog_posts] .swiper-slide {
  height: auto;
  display: flex;
}

/* Border colour comes from the merchant's store border setting (border_color →
   --store-border-color in variables.twig); applies to solid and .glass cards. */
[id^=B_blog_posts] .B_articals__card {
  border-color: #D6D6D6;
  border-color: var(--store-border-color, #D6D6D6);
}

/* Solid surface (merchant colour) — only when glass is off, so it doesn't
    paint over the global .glass translucency. */
[id^=B_blog_posts] .B_articals__card:not(.glass) {
  background-color: #171717;
  background-color: var(--bp-card-bg, #171717);
}

/* Keep the .glass sheen matching the card corners. */
[id^=B_blog_posts] .B_articals__card.glass,
[id^=B_blog_posts] .B_articals__card.glass::before {
  border-radius: var(--border-radius-card);
}

/* =========================================================
   B_FAQ — accordion (B_FAQ.twig)
   Header (promo pill + title + subtitle) sits inline-start (right in RTL);
   questions are bordered cards on the other column. Colours come from the
   section's --bt-* custom properties (merchant settings, set in the twig).
   ========================================================= */
.B_FAQ {
  /* ---- header: start-aligned by default (RTL → right); centred only while
     stacked above the list, below the lg layout switch. Base has no text-align
     so the text keeps its natural inline-start alignment in either direction. ---- */
}
.B_FAQ .faq-header {
  align-items: flex-start;
}
@media (max-width: 1023.98px) {
  .B_FAQ .faq-header {
    align-items: center;
    text-align: center;
  }
}
.B_FAQ {
  /* ---- question card ---- */
}
.B_FAQ .S_faq_item {
  position: relative;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  border: 1px solid #D6D6D6;
  border: 1px solid var(--store-border-color, #D6D6D6);
  border-radius: 1rem;
  transition: border-color 0.25s ease, box-shadow 0.25s ease, background-color 0.25s ease;
}
.B_FAQ {
  /* ---- glass variant of the card ----------------------------------------
     The FAQ card's own border (--store-border-color) would otherwise beat
     the global .glass border, so give the glass card its light glass border
     back. (The .is-open rules below come later in source and still win the
     border for the open card.) */
}
.B_FAQ .S_faq_item.glass {
  border-color: rgba(255, 255, 255, 0.14);
}
.B_FAQ .faq-num {
  color: #414042;
  color: var(--color-primary);
}
.B_FAQ .faq-question {
  color: var(--bt-question-text);
}
.B_FAQ .faq-answer p {
  color: var(--bt-answer-text);
}
.B_FAQ {
  /* ---- plus / minus indicator — same colour as the question text ---- */
}
.B_FAQ .faq-icon {
  width: 1.75rem;
  height: 1.75rem;
  color: var(--bt-question-text);
  font-size: 1rem;
}
.B_FAQ .faq-icon-minus {
  display: none;
}
.B_FAQ .S_faq_item.is-open .faq-icon-plus {
  display: none;
}
.B_FAQ .S_faq_item.is-open .faq-icon-minus {
  display: inline-flex;
}
.B_FAQ {
  /* ---- answer panel (height/opacity animated inline by the script) ---- */
}
.B_FAQ .faq-panel {
  overflow: hidden;
  transition: height 0.32s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.28s ease;
}
.B_FAQ {
  /* ---- open state: primary glow ring + top accent, like the design ---- */
}
.B_FAQ .S_faq_item.is-open {
  border-color: rgba(65, 64, 66, 0.55);
  box-shadow: 0 0 0 1px rgba(65, 64, 66, 0.35), 0 8px 30px -8px rgba(65, 64, 66, 0.45);
}

@supports (color: color-mix(in lch, red, blue)){
.B_FAQ .S_faq_item.is-open {
  border-color: color-mix(in srgb, var(--color-primary) 55%, transparent);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--color-primary) 35%, transparent), 0 8px 30px -8px color-mix(in srgb, var(--color-primary) 45%, transparent);
}
}
.B_FAQ .S_faq_item.is-open::before {
  content: "";
  position: absolute;
  left: 1.5rem;
  right: 1.5rem;
  top: -1px;
  height: 2px;
  border-radius: 2px;
  background: linear-gradient(to right, transparent, #414042 20%, rgb(141, 140, 142) 50%, #414042 80%, transparent);
  box-shadow: 0 0 12px 1px rgba(65, 64, 66, 0.6);
  pointer-events: none;
}

@supports (color: color-mix(in lch, red, blue)){
.B_FAQ .S_faq_item.is-open::before {
  background: linear-gradient(to right, transparent, var(--color-primary) 20%, color-mix(in srgb, var(--color-primary) 60%, #fff 40%) 50%, var(--color-primary) 80%, transparent);
  box-shadow: 0 0 12px 1px color-mix(in srgb, var(--color-primary) 60%, transparent);
}
}

salla-slider{
    display: block;
}
salla-slider.details-slider .s-slider-container{
    border-radius: 0.375rem;
    border-width: 1px;
    --tw-bg-opacity: 1;
    background-color: rgba(255, 255, 255, 1);
    background-color: rgba(255, 255, 255, var(--tw-bg-opacity, 1));
}
salla-slider.details-slider .swiper-slide{
    position: relative;
    border-radius: 0.375rem;
    --tw-bg-opacity: 1;
    background-color: rgba(255, 255, 255, 1);
    background-color: rgba(255, 255, 255, var(--tw-bg-opacity, 1));
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: /*!*/ /*!*/ 0 0 0 0px #fff, /*!*/ /*!*/ 0 0 0 calc(1px + 0px) #2563eb, 0 0 rgba(0,0,0,0);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0,0,0,0));
    --tw-ring-inset: inset;
    --tw-ring-opacity: 1;
    --tw-ring-color: rgba(243, 244, 246, var(--tw-ring-opacity, 1));
}
salla-slider.details-slider salla-button.btn--wishlist{
    position: absolute;
    bottom: 1rem;
    z-index: 2;
}
input[type=radio].sr-only divsalla-slider.details-slider salla-button.btn--wishlist {
  transition: all 0.3s;
}
input[type=radio].sr-only:checked ~ divsalla-slider.details-slider salla-button.btn--wishlist {
  border-color: var(--color-main);
}
@media (min-width: 640px){
    salla-slider.details-slider salla-button.btn--wishlist{
        display: none;
    }
}
salla-slider.details-slider salla-button.btn--wishlist:where([dir="ltr"], [dir="ltr"] *){
    left: 1rem;
}
salla-slider.details-slider salla-button.btn--wishlist:where([dir="rtl"], [dir="rtl"] *){
    right: 1rem;
}
salla-slider.details-slider .s-slider-block__title-nav{
    display: none;
}
@media (min-width: 640px){
    salla-slider.details-slider .s-slider-block__title-nav{
        display: flex;
    }
}
salla-slider .slide--one-fourth{
    height: auto;
    width: 100%;
    max-width: 250px;
}
@media (min-width: 640px){
    salla-slider .slide--one-fourth{
        width: 50%;
        max-width: 320px;
    }
}
@media (min-width: 768px){
    salla-slider .slide--one-fourth{
        width: 33.333333%;
    }
}
@media (min-width: 1024px){
    salla-slider .slide--one-fourth{
        width: 25%;
    }
}
salla-slider .slide--one-sixth{
    width: 50%;
}
@media (min-width: 640px){
    salla-slider .slide--one-sixth{
        width: 33.333333%;
    }
}
@media (min-width: 768px){
    salla-slider .slide--one-sixth{
        width: 25%;
    }
}
@media (min-width: 1024px){
    salla-slider .slide--one-sixth{
        width: 16.666667%;
    }
}
salla-slider .swiper-slide {
  -webkit-transform: translateZ(0);
  -webkit-backface-visibility: hidden;
}

.promotion-title{
    position: absolute;
    top: 1rem;
    z-index: 10;
    --tw-bg-opacity: 1;
    background-color: rgba(153, 27, 27, 1);
    background-color: rgba(153, 27, 27, var(--tw-bg-opacity, 1));
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 700;
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, 1);
    color: rgba(255, 255, 255, var(--tw-text-opacity, 1));
}

input[type=radio].sr-only div.promotion-title {
  transition: all 0.3s;
}

input[type=radio].sr-only:checked ~ div.promotion-title {
  border-color: var(--color-main);
}

.promotion-title:where([dir="ltr"], [dir="ltr"] *){
    left: 0px;
    border-top-right-radius: 0.375rem;
    border-bottom-right-radius: 0.375rem;
}

.promotion-title:where([dir="rtl"], [dir="rtl"] *){
    right: 0px;
    border-top-left-radius: 0.375rem;
    border-bottom-left-radius: 0.375rem;
}

.promotion-title{
    margin: 0px !important;
    width: auto !important;
    padding-left: 0.75rem !important;
    padding-right: 0.75rem !important;
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
}

.home-slider__slide {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
.home-slider__slide:not(.loaded) .overlay {
  opacity: 0;
}

salla-slider.photos-slider .swiper-pagination-bullets.swiper-pagination-horizontal{
    bottom: 0px;
}
salla-slider.photos-slider .swiper{
    padding-bottom: 2.5rem;
}
salla-slider.photos-slider .swiper:where([dir="ltr"], [dir="ltr"] *){
    padding-right: 1.5rem;
}
@media (min-width: 768px){
    salla-slider.photos-slider .swiper:where([dir="ltr"], [dir="ltr"] *){
        padding-right: 3rem;
    }
}
salla-slider.photos-slider .swiper:where([dir="rtl"], [dir="rtl"] *){
    padding-left: 1.5rem;
}
@media (min-width: 768px){
    salla-slider.photos-slider .swiper:where([dir="rtl"], [dir="rtl"] *){
        padding-left: 3rem;
    }
}
salla-slider.photos-slider .swiper{
    margin-left: 0px;
    margin-right: 0px;
    width: 100%;
}
salla-slider.photos-slider:not(.hydrated) > div{
    justify-content: center;
}
salla-slider.photos-slider .swiper-slide{
    position: relative;
    margin-left: 0.375rem;
    margin-right: 0.375rem;
    height: auto;
    width: 100%;
    overflow: hidden;
    border-radius: 0.375rem;
}
@media (min-width: 768px){
    salla-slider.photos-slider .swiper-slide{
        margin-left: 0.75rem;
        margin-right: 0.75rem;
    }
}
@media (min-width: 1024px){
    salla-slider.photos-slider .swiper-slide{
        margin-left: 1rem;
        margin-right: 1rem;
        width: 80%;
    }
}
salla-slider.photos-slider .swiper-pagination-bullet:not(.swiper-pagination-bullet-active){
    --tw-bg-opacity: 1;
    background-color: rgba(209, 213, 219, 1);
    background-color: rgba(209, 213, 219, var(--tw-bg-opacity, 1));
}
@media (max-width: 1024px) {
  salla-slider.photos-slider .swiper:where([dir="ltr"], [dir="ltr"] *){
        padding-left: 1rem;
    }
  salla-slider.photos-slider .swiper:where([dir="rtl"], [dir="rtl"] *){
        padding-right: 1rem;
    }
  salla-slider.photos-slider .swiper-slide{
        padding-left: 0px;
        padding-right: 0px;
    }
}

.swiper:not(.swiper-initialized) .swiper-button {
  opacity: 0;
}

.s-block--testimonials.container{
    padding: 0px;
}

@media (min-width: 1024px){
    .s-block--testimonials.container{
        padding-left: 0.625rem;
        padding-right: 0.625rem;
    }
}
.s-block--testimonials .s-slider-block__title{
    padding-left: 0.625rem;
    padding-right: 0.625rem;
}
@media (min-width: 1024px){
    .s-block--testimonials .s-slider-block__title{
        padding-left: 0px;
        padding-right: 0px;
    }
}
.s-block--testimonials .s-slider-block__title-nav{
    top: 65% !important;
    display: none !important;
    max-width: 88% !important;
}
@media (min-width: 1024px){
    .s-block--testimonials .s-slider-block__title-nav{
        display: flex !important;
    }
}
.s-block--testimonials .s-slider-block__title-nav button{
    --tw-border-opacity: 1 !important;
    border-color: rgba(243, 244, 246, 1) !important;
    border-color: rgba(243, 244, 246, var(--tw-border-opacity, 1)) !important;
    --tw-shadow-color: #d1d5db !important;
    --tw-shadow: var(--tw-shadow-colored) !important;
}

@media screen and (min-width: 768px) {
  .best-products-slider .swiper-wrapper {
    height: 510px;
  }
  .best-products-slider .swiper-wrapper .swiper-slide {
    height: calc((100% - 30px) / 2);
  }
}

.swiper-button-disabled {
  opacity: 0.5;
}

salla-slider .swiper-pagination-bullet {
  width: 20px;
  border-radius: 5px;
  background: #fff;
  opacity: 0.3;
}
salla-slider .swiper-pagination-bullet-active {
  opacity: 1;
  background-color: #414042;
  background-color: var(--color-primary);
}
salla-slider .swiper-pagination-bullets.swiper-pagination-horizontal{
    bottom: 0.75rem;
}
@media (min-width: 640px){
    salla-slider .swiper-pagination-bullets.swiper-pagination-horizontal{
        bottom: 1.5rem;
    }
}

.offer-slider .s-slider-block__title{
    position: relative;
    margin-bottom: 1.25rem;
}
.offer-slider .s-slider-block__title:before{
    position: absolute;
    top: 1rem;
    font-size: 3rem;
    font-weight: 400;
    line-height: 1;
    --tw-text-opacity: 1;
    color: rgba(254, 242, 242, 1);
    color: rgba(254, 242, 242, var(--tw-text-opacity, 1));
}
input[type=radio].sr-only div.offer-slider .s-slider-block__title:before {
  transition: all 0.3s;
}
input[type=radio].sr-only:checked ~ div.offer-slider .s-slider-block__title:before {
  border-color: var(--color-main);
}
.offer-slider .s-slider-block__title:where([dir="ltr"], [dir="ltr"] *):before{
    left: 0px;
}
.offer-slider .s-slider-block__title:where([dir="rtl"], [dir="rtl"] *):before{
    right: 0px;
}
.offer-slider .s-slider-block__title:before {
  content: "\ee30";
  font-family: "sallaicons";
}
.offer-slider .s-slider-block__title h2{
    font-size: 1.125rem;
    line-height: 1.75rem;
    --tw-text-opacity: 1;
    color: rgba(248, 113, 113, 1);
    color: rgba(248, 113, 113, var(--tw-text-opacity, 1));
}
.offer-slider .s-slider-block__title p{
    margin-top: 0.25rem;
    overflow: visible;
    display: block;
    -webkit-box-orient: horizontal;
    -webkit-line-clamp: none;
    line-height: 1.5rem;
}

.bank-offer .s-slider-block__title{
    display: none;
}

model-viewer[style*=width]:before{
    display: none;
}

.blog-slider .swiper-slide img{
    max-height: 480px;
    min-height: 380px;
}

@media (min-width: 768px){
    .blog-slider .swiper-slide img{
        max-height: 680px;
    }
}

.product-entry{
    position: relative;
    display: flex;
    height: 100%;
    justify-content: space-between;
    border-radius: 0.5rem;
    --tw-bg-opacity: 1;
    background-color: rgba(255, 255, 255, 1);
    background-color: rgba(255, 255, 255, var(--tw-bg-opacity, 1));
    transition-property: box-shadow;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 300ms;
}

.product-entry:hover{
    --tw-shadow: 5px 10px 30px #2B2D340D;;
    --tw-shadow-colored: 5px 10px 30px var(--tw-shadow-color);
    box-shadow: 0 0 rgba(0,0,0,0), 0 0 rgba(0,0,0,0), 5px 10px 30px #2B2D340D;;
    box-shadow: var(--tw-ring-offset-shadow, 0 0 rgba(0,0,0,0)), var(--tw-ring-shadow, 0 0 rgba(0,0,0,0)), var(--tw-shadow);
}
.product-entry--wishlist{
    flex-direction: column;
    justify-content: space-between;
    padding: 1rem;
}
@media (min-width: 640px){
    .product-entry--wishlist{
        flex-direction: row;
    }
}
.product-entry--wishlist .product-entry__image{
    height: 3rem;
    width: 4rem;
    overflow: hidden;
    border-radius: 0.375rem;
}
@media (min-width: 768px){
    .product-entry--wishlist .product-entry__image{
        height: 4rem;
        width: 5rem;
    }
}
.product-entry--wishlist salla-button{
    display: flex;
}

.share-btns-list{
    position: absolute;
    top: 3rem;
    z-index: 10;
    display: flex;
    flex-direction: column;
    align-items: center;
    overflow: hidden;
    border-radius: 1.5rem;
    --tw-bg-opacity: 1;
    background-color: rgba(255, 255, 255, 1);
    background-color: rgba(255, 255, 255, var(--tw-bg-opacity, 1));
    opacity: 0;
    --tw-shadow: 0px 3px 6px rgba(0,0,0,0.16078);
    --tw-shadow-colored: 0px 3px 6px var(--tw-shadow-color);
    box-shadow: 0 0 rgba(0,0,0,0), 0 0 rgba(0,0,0,0), 0px 3px 6px rgba(0,0,0,0.16078);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 rgba(0,0,0,0)), var(--tw-ring-shadow, 0 0 rgba(0,0,0,0)), var(--tw-shadow);
}

input[type=radio].sr-only div.share-btns-list {
  transition: all 0.3s;
}

input[type=radio].sr-only:checked ~ div.share-btns-list {
  border-color: var(--color-main);
}
.share-btns-list a{
    display: block;
    padding: 0.75rem;
}
.share-btns-list a:hover{
    color: #414042;
    color: var(--color-primary);
}

.cart-item salla-conditional-fields > section{
    padding-left: 0px;
    padding-right: 0px;
    padding-top: 0px;
}

.cart-item salla-conditional-fields > section:last-child{
    margin-bottom: 0px;
    padding-bottom: 0px;
}

.s-product-card-content-pie-svg-base {
  transition: stroke-dashoffset 1s linear;
  stroke: #e8edf2;
  stroke-width: 2px;
  stroke-linecap: round;
  fill: none;
}

.s-product-card-content-pie-svg-bar {
  fill: none;
  stroke: #414042;
  stroke: var(--color-primary);
  stroke-dasharray: 100 100;
  stroke-dashoffset: 100;
}

.s-product-card-content-sub{
    justify-content: flex-start;
    gap: 0.75rem;
}
.s-product-card-starting-price{
    width: auto;
}
.s-product-card-content-title {
  word-break: break-word;
}

.pie-wrapper{
    position: absolute;
    top: 0.625rem;
    display: flex;
    height: 72px;
    width: 72px;
    align-items: center;
    justify-content: center;
    color: #414042;
    color: var(--color-primary);
}

input[type=radio].sr-only div.pie-wrapper {
  transition: all 0.3s;
}

input[type=radio].sr-only:checked ~ div.pie-wrapper {
  border-color: var(--color-main);
}

.pie-wrapper:where([dir="ltr"], [dir="ltr"] *){
    right: 1.25rem;
}

.pie-wrapper:where([dir="rtl"], [dir="rtl"] *){
    left: 1.25rem;
}
.pie-wrapper .pie-svg circle {
  transition: stroke-dashoffset 1s linear;
  stroke: #e8edf2;
  stroke-width: 2px;
  stroke-linecap: round;
  fill: none;
}
.pie-wrapper .pie-svg circle.circle_bar {
  stroke: #414042;
  stroke: var(--color-primary);
  stroke-dasharray: 100 100;
  stroke-dashoffset: 100;
}
.pie-wrapper span {
  display: block;
  color: #7c8082;
  color: var(--color-text);
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  line-height: 1;
  font-size: var(--font-xsm);
}
.pie-wrapper span b {
  font-size: var(--font-md) !important;
  margin-bottom: 3px;
  color: #414042;
  color: var(--color-primary);
}

/* Add to cart sticky bar */
@media (max-width: 640px) {
  .is-sticky-product-bar.product-single{
        padding-bottom: 7rem;
    }
  .is-sticky-product-bar .sticky-product-bar{
        position: fixed;
        bottom: 0px;
        left: 0px;
        z-index: 2;
        display: flex;
        width: 100%;
        --tw-translate-y: 28rem;
        transform: translate(var(--tw-translate-x), 28rem) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
        transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
        flex-direction: column;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: 0.625rem;
        padding: 0.75rem;
        opacity: 0;
        transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
        transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
        transition-delay: 500ms;
        transition-duration: 700ms;
        transition-timing-function: cubic-bezier(0.55, 0, 0.1, 1);
    }
  @media (min-width: 640px){
        .is-sticky-product-bar .sticky-product-bar{
            gap: 1rem;
        }
    }
  .is-sticky-product-bar .sticky-product-bar {
    /* The lip that lifts the bar off the page. Mixed from the text colour
       rather than black, so it still shows on a dark `--store-bg`. */
    box-shadow: -1px -2px 9px 0 color-mix(in srgb, var(--text-primary) 12%, transparent);
  }
  .is-sticky-product-bar .sticky-product-bar__quantity,
  .is-sticky-product-bar .sticky-product-bar salla-add-product-button{
        width: 100%;
        --tw-translate-y: 1.25rem;
        transform: translate(var(--tw-translate-x), 1.25rem) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
        transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
        opacity: 0;
        transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
        transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
        transition-duration: 700ms;
        transition-timing-function: cubic-bezier(0.55, 0, 0.1, 1);
    }
  .is-sticky-product-bar .sticky-product-bar__price,
  .is-sticky-product-bar .sticky-product-bar .form-label{
        display: none;
    }
  .is-sticky-product-bar .sticky-product-bar__quantity salla-quantity-input{
        width: 100%;
    }
  .is-sticky-product-bar .sticky-product-bar__quantity salla-quantity-input .s-quantity-input-container{
        width: 100%;
    }
  .is-sticky-product-bar .sticky-product-bar__quantity salla-quantity-input .s-quantity-input-input{
        width: 80%;
    }
  .is-sticky-product-bar .sticky-product-bar__quantity{
        margin: 0px;
        transition-delay: 900ms;
    }
  .is-sticky-product-bar .sticky-product-bar salla-add-product-button{
        margin: 0px;
        width: auto;
        flex: 1 1 0%;
        transition-delay: 1000ms;
    }
  .hydrated .is-sticky-product-bar .sticky-product-bar, .hydrated .is-sticky-product-bar .sticky-product-bar__quantity,
  .hydrated .is-sticky-product-bar .sticky-product-bar salla-add-product-button{
        --tw-translate-y: 0px;
        transform: translate(var(--tw-translate-x), 0px) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
        transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
        opacity: 1;
    }
}
/*
 * Keep the bar's containing block the viewport.
 *
 * `position: fixed` resolves against the nearest ancestor that establishes a
 * containing block, and `backdrop-filter` is one of the triggers — alongside
 * `transform`, `filter`, `perspective` and `contain`. The details column wears
 * the glass plate whenever the merchant sets a tab/details background:
 * `.p-details-plate` in the `classic` and `tabs_below` layouts, and
 * `.s-tabs-content-wrapper` in `info_tabs`, where the details render inside the
 * first tab. Either one swallows the bar — it pins itself to the bottom of the
 * product column, halfway down the page, instead of the bottom of the screen.
 *
 * So below sm, where the bar is the fixed one, the plates give up the blur and
 * keep their tint. At that width the plate is a full-bleed panel and a 5px
 * blur behind it reads as nothing; the colour is what the setting is actually
 * for. Anything wider keeps the glass — the bar is an in-flow row there.
 */
@media (max-width: 640px) {
  /* `body` is only here for the weight: the merged-tabs skin sets the header's
     blur from `.p-tabs--merged.p-tabs--tinted .s-tabs-header`, further down the
     file and at the same class count. */
  body.is-sticky-product-bar .p-details-plate,
  body.is-sticky-product-bar .p-tabs--tinted .s-tabs-content-wrapper,
  body.is-sticky-product-bar .p-tabs--tinted .s-tabs-header {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
}
.s-tabs-header * {
  pointer-events: auto !important;
}

.product__description ul,
.product__description li {
  list-style: inherit !important;
}
.product__description ul,
.product__description ol{
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}
.product__description ol {
  list-style: auto !important;
}
.product__description a{
    --tw-text-opacity: 1;
    color: rgba(29, 78, 216, 1);
    color: rgba(29, 78, 216, var(--tw-text-opacity, 1));
}

.model-viewer-wrapper{
    position: relative;
    margin-bottom: 1rem;
    width: 100%;
}

@media (min-width: 768px){
    .model-viewer-wrapper{
        margin-bottom: 0px;
    }
}

.switcher-3d-view{
    position: absolute;
    top: 1.25rem;
}

input[type=radio].sr-only div.switcher-3d-view {
  transition: all 0.3s;
}

input[type=radio].sr-only:checked ~ div.switcher-3d-view {
  border-color: var(--color-main);
}

.switcher-3d-view:where([dir="ltr"], [dir="ltr"] *){
    right: 1rem;
}

.switcher-3d-view:where([dir="rtl"], [dir="rtl"] *){
    left: 1rem;
}

.model-viewer{
    height: 100%;
    width: 100%;
}
.model-viewer__poster{
    position: absolute;
    top: 0px;
    right: 0px;
    bottom: 0px;
    left: 0px;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}
input[type=radio].sr-only div.model-viewer__poster {
  transition: all 0.3s;
}
input[type=radio].sr-only:checked ~ div.model-viewer__poster {
  border-color: var(--color-main);
}

.s-toggle .s-toggle-switcher-has-text:before{
    text-align: center;
    font-size: 0.75rem;
    line-height: 1rem;
    font-weight: 700;
    line-height: 22px;
    --tw-text-opacity: 1;
    color: rgba(156, 163, 175, 1);
    color: rgba(156, 163, 175, var(--tw-text-opacity, 1));
    --tw-content: attr(data-switcher-text);
    content: attr(data-switcher-text);
    content: var(--tw-content);
  font-family: arial, serif;
}

.s-toggle .s-toggle-input:checked + div.s-toggle-switcher-bg-white:before{
    --tw-border-opacity: 1;
    border-color: rgba(255, 255, 255, 1);
    border-color: rgba(255, 255, 255, var(--tw-border-opacity, 1));
    --tw-bg-opacity: 1;
    background-color: rgba(255, 255, 255, 1);
    background-color: rgba(255, 255, 255, var(--tw-bg-opacity, 1));
    --tw-text-opacity: 1;
    color: rgba(75, 85, 99, 1);
    color: rgba(75, 85, 99, var(--tw-text-opacity, 1));
}

/* File upload dropzone (`<salla-file-upload>`, FilePond under the hood).

   FilePond ships its own white panel and Salla injects that stylesheet at
   runtime, so the surfaces below are forced with `!important` — there is no
   guaranteed order against app.css. Everything else is a custom property from
   layouts/variables.twig, so the zone follows the merchant palette instead of
   the plugin's grey.

   Rendered on the product page and in the cart, from
   pages/partials/product/options.twig. */
.product-option-uploader {
  display: block;
  --uploader-h: 8.75rem;
}
.product-option-uploader .s-file-upload-wrapper {
  min-height: var(--uploader-h);
}
.product-option-uploader .s-file-upload-wrapper .filepond--list-scroller {
  overflow-y: inherit !important;
}
.product-option-uploader .s-file-upload-wrapper {
  /* A faint brand wash rather than a plain outline: at this size an empty
     dashed rectangle reads as a disabled field, not as a drop target. */
}
.product-option-uploader .s-file-upload-wrapper .filepond--drop-label {
  min-height: var(--uploader-h) !important;
  cursor: pointer;
  border-width: 1px;
  border-style: dashed;
}
.product-option-uploader .s-file-upload-wrapper .filepond--drop-label * {
  pointer-events: none;
}
.product-option-uploader .s-file-upload-wrapper .filepond--drop-label {
  background: color-mix(in srgb, var(--store-brand-color) 4%, transparent) !important;
  border-color: var(--store-border-color) !important;
  border-radius: var(--border-radius-card) !important;
  color: var(--text-primary);
  transition: background-color 0.2s ease, border-color 0.2s ease;
}
.product-option-uploader .s-file-upload-wrapper {
  /* FilePond stamps the hopper while a file is dragged over the page, so the
     zone answers the drag as well as the pointer. */
}
.product-option-uploader .s-file-upload-wrapper:hover .filepond--drop-label, .product-option-uploader .s-file-upload-wrapper[data-hopper-state=drag-over] .filepond--drop-label {
  background: color-mix(in srgb, var(--store-brand-color) 10%, transparent) !important;
  border-color: var(--store-brand-color) !important;
}
.product-option-uploader .s-file-upload-wrapper .product-option-uploader-placholder{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding-left: 1rem;
    padding-right: 1rem;
    text-align: center;
}
.product-option-uploader .s-file-upload-wrapper .product-option-uploader-placholder-icon{
    margin-bottom: 0px;
    display: flex;
    height: 2.75rem;
    width: 2.75rem;
    align-items: center;
    justify-content: center;
    border-radius: 9999px;
    transition-property: transform;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 200ms;
  background: color-mix(in srgb, var(--store-brand-color) 14%, transparent);
}
.product-option-uploader .s-file-upload-wrapper .product-option-uploader-placholder-icon i{
    font-size: 1.25rem;
    line-height: 1.75rem;
  color: var(--store-brand-color);
}
.product-option-uploader .s-file-upload-wrapper .product-option-uploader-placholder .profile-filepond-placholder-text{
    font-size: 0.75rem;
    line-height: 1rem;
    font-weight: 500;
  color: var(--text-secondary);
}
.product-option-uploader .s-file-upload-wrapper .product-option-uploader-placholder {
  /* The browse affordance is a button, so it looks like one — FilePond
     renders it as a bare underlined span. */
}
.product-option-uploader .s-file-upload-wrapper .product-option-uploader-placholder .filepond--label-action{
    display: inline-flex;
    align-items: center;
    border-width: 1px;
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
    font-size: 10px;
    font-weight: 700;
    text-decoration-line: none;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 200ms;
  border-radius: var(--border-radius-button);
  border-color: var(--store-brand-color);
  color: var(--store-brand-color);
}
.product-option-uploader .s-file-upload-wrapper:hover .product-option-uploader-placholder-icon {
  transform: translateY(-2px);
}
.product-option-uploader .s-file-upload-wrapper:hover .filepond--label-action {
  background: color-mix(in srgb, var(--store-brand-color) 15%, transparent);
}
.product-option-uploader .s-file-upload-wrapper {
  /* The plugin's own panels: the white card behind the zone and behind every
     queued file. Both would punch a light rectangle through a dark theme. */
}
.product-option-uploader .s-file-upload-wrapper .filepond--panel-root {
  background: transparent !important;
  border: 0 !important;
}
.product-option-uploader .s-file-upload-wrapper .filepond--item-panel {
  background: color-mix(in srgb, var(--store-brand-color) 12%, transparent) !important;
  border-radius: var(--border-radius-button) !important;
}
.product-option-uploader .s-file-upload-wrapper .filepond--file {
  color: var(--text-primary);
}
.product-option-uploader .s-file-upload-wrapper .filepond--drip {
  background: color-mix(in srgb, var(--store-brand-color) 8%, transparent);
  border-radius: var(--border-radius-card);
}

@media (max-width: 640px) {
  .s-offer-modal-slider-centered .s-offer-modal-slider-item {
    max-width: 46% !important;
  }
}
salla-add-product-button[product-status=out-and-notify] .s-button-solid.s-button-primary,
salla-add-product-button[product-status=out-and-notify] .s-button-primary,
.s-product-availability-wrap .s-button-solid.s-button-primary,
.s-product-availability-wrap .s-button-primary{
    --tw-border-opacity: 1;
    border-color: rgba(209, 213, 219, 1);
    border-color: rgba(209, 213, 219, var(--tw-border-opacity, 1));
    --tw-bg-opacity: 1;
    background-color: rgba(229, 231, 235, 1);
    background-color: rgba(229, 231, 235, var(--tw-bg-opacity, 1));
    --tw-text-opacity: 1;
    color: rgba(31, 41, 55, 1);
    color: rgba(31, 41, 55, var(--tw-text-opacity, 1));
}
salla-add-product-button[product-status=out-and-notify] .s-button-solid.s-button-primary:hover,
salla-add-product-button[product-status=out-and-notify] .s-button-primary:hover,
.s-product-availability-wrap .s-button-solid.s-button-primary:hover,
.s-product-availability-wrap .s-button-primary:hover{
    --tw-bg-opacity: 1;
    background-color: rgba(209, 213, 219, 1);
    background-color: rgba(209, 213, 219, var(--tw-bg-opacity, 1));
    --tw-text-opacity: 1;
    color: rgba(17, 24, 39, 1);
    color: rgba(17, 24, 39, var(--tw-text-opacity, 1));
}
salla-add-product-button[product-status=out-and-notify] .s-button-solid.s-button-primary .s-button-text,
salla-add-product-button[product-status=out-and-notify] .s-button-primary .s-button-text,
.s-product-availability-wrap .s-button-solid.s-button-primary .s-button-text,
.s-product-availability-wrap .s-button-primary .s-button-text{
    --tw-text-opacity: 1;
    color: rgba(31, 41, 55, 1);
    color: rgba(31, 41, 55, var(--tw-text-opacity, 1));
}
salla-add-product-button[product-status=out-and-notify] .s-product-availability-subscribed,
.s-product-availability-wrap .s-product-availability-subscribed{
    padding-left: 0.6rem;
    padding-right: 0.6rem;
    font-size: 0.7rem;
}
salla-add-product-button[product-status=out-and-notify] .s-product-availability-subscribed svg,
.s-product-availability-wrap .s-product-availability-subscribed svg{
    height: 1rem;
    width: 1rem;
}

.s-product-card-full-image salla-add-product-button{
    border-radius: .75rem;
    --tw-bg-opacity: 1;
    background-color: rgba(255, 255, 255, 1);
    background-color: rgba(255, 255, 255, var(--tw-bg-opacity, 1));
}
.s-product-card-wishlist-added i{
    --tw-text-opacity: 1;
    color: rgba(239, 68, 68, 1);
    color: rgba(239, 68, 68, var(--tw-text-opacity, 1));
}
.s-product-card-fit-height.s-product-card-vertical .s-product-card-image{
    flex: none;
}
@media (min-width: 640px){
    .s-product-card-fit-height.s-product-card-vertical .s-product-card-image{
        flex: 1 1 0%;
    }
}
.s-product-options-colors-wrapper{
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}
.s-product-options-colors-wrapper .s-product-options-colors-item{
    margin: 0px;
    width: auto;
}
.s-product-options-colors-wrapper .s-product-options-colors-item:where([dir="ltr"], [dir="ltr"] *){
    margin: 0px;
}
.s-product-options-colors-wrapper .s-product-options-colors-item:where([dir="rtl"], [dir="rtl"] *){
    margin: 0px;
}

.s-product-card-minimal .s-product-card-image:where([dir="ltr"], [dir="ltr"] *){
    border-top-left-radius: .75rem;
    border-bottom-left-radius: .75rem;
}

.s-product-card-minimal .s-product-card-image:where([dir="rtl"], [dir="rtl"] *){
    border-top-right-radius: .75rem;
    border-bottom-right-radius: .75rem;
}

.s-product-card-starting-price{
    justify-content: flex-start;
    gap: 0.625rem;
}
.s-product-card-starting-price h4 {
  color: var(--product-card-price-color);
}

.s-product-card-minimal salla-button.s-product-card-wishlist-btn{
    top: 0.625rem;
}

.s-product-card-minimal salla-button.s-product-card-wishlist-btn:where([dir="ltr"], [dir="ltr"] *){
    right: 0.625rem;
}

.s-product-card-minimal salla-button.s-product-card-wishlist-btn:where([dir="rtl"], [dir="rtl"] *){
    left: 0.625rem;
}

.magnify-wrapper .img-magnifier-glass{
    display: none;
}

@media (min-width: 640px){
    .magnify-wrapper .img-magnifier-glass{
        display: block;
    }
}

.magnify-wrapper .img-magnifier-glass {
  position: absolute;
  z-index: 3;
  border-radius: 50%;
  cursor: none;
  /*Set the size of the magnifier glass:*/
  width: 300px;
  height: 300px;
  opacity: 0;
  pointer-events: none;
  transform: scale(0);
  transition: transform 0.5s ease;
  box-shadow: inset 0px 0px 30px #949494;
}
.magnify-wrapper:hover .img-magnifier-glass {
  opacity: 1;
  pointer-events: initial;
  transform: scale(1);
  transition-delay: 0.3s;
}

.s-product-card-image img{
    opacity: 1;
}

.s-product-card-horizontal .s-product-card-content{
    margin-bottom: 0px;
}
@media (max-width: 480px) {
  .s-product-card-horizontal salla-button.s-product-card-wishlist-btn{
        position: absolute;
        bottom: 0.625rem;
    }

input[type=radio].sr-only div.s-product-card-horizontal salla-button.s-product-card-wishlist-btn {
  transition: all 0.3s;
}
input[type=radio].sr-only:checked ~ div.s-product-card-horizontal salla-button.s-product-card-wishlist-btn {
  border-color: var(--color-main);
}
  .s-product-card-horizontal salla-button.s-product-card-wishlist-btn:where([dir="ltr"], [dir="ltr"] *){
        left: -3rem;
    }
  .s-product-card-horizontal salla-button.s-product-card-wishlist-btn:where([dir="rtl"], [dir="rtl"] *){
        right: -3rem;
    }
}
.s-product-card-horizontal salla-progress-bar{
    display: flex;
    flex-grow: 1;
    flex-direction: column;
}

.s-rating-stars-reviews{
    --tw-text-opacity: 1;
    color: rgba(107, 114, 128, 1);
    color: rgba(107, 114, 128, var(--tw-text-opacity, 1));
}

.s-product-card-promotion-title {
  background-color: var(--product-card-promotion-bg);
  color: var(--product-card-promotion-text-color);
}

.s-product-card-price {
  color: var(--product-card-price-color);
  font-size: 1.5rem !important;
}

.s-product-card-sale-price h4 {
  color: var(--product-card-price-color);
  font-size: 1.5rem !important;
  font-weight: bold;
}
.s-product-card-sale-price span {
  color: var(--product-card-discount-price-color);
  -webkit-text-decoration: line-through;
  text-decoration: line-through;
}

@media (max-width: 1024px) {
  salla-filters,
  salla-filters > *{
        padding-left: 1.25rem !important;
        padding-right: 1.25rem !important;
    }
}
#offer-corner-badge{
    position: absolute;
    z-index: 1;
    float: left;
    margin: 0px;
    height: auto;
    width: auto;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    border-width: 0px;
    --tw-bg-opacity: 1;
    background-color: rgba(220, 38, 38, 1);
    background-color: rgba(220, 38, 38, var(--tw-bg-opacity, 1));
    padding-left: 3rem;
    padding-right: 3rem;
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, 1);
    color: rgba(255, 255, 255, var(--tw-text-opacity, 1));
}
input[type=radio].sr-only div#offer-corner-badge {
  transition: all 0.3s;
}
input[type=radio].sr-only:checked ~ div#offer-corner-badge {
  border-color: var(--color-main);
}
#offer-corner-badge:where([dir="ltr"], [dir="ltr"] *){
    top: 1.25rem;
    right: -3.5rem;
    --tw-rotate: 45deg;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(45deg) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
#offer-corner-badge:where([dir="rtl"], [dir="rtl"] *){
    top: 0.75rem;
    left: -3rem;
    --tw-rotate: -45deg;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(-45deg) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.cart-options{
    border-radius: 0.375rem;
    border-width: 1px;
    border-style: dashed;
    --tw-border-opacity: 1;
    border-color: rgba(156, 163, 175, 1);
    border-color: rgba(156, 163, 175, var(--tw-border-opacity, 1));
    --tw-bg-opacity: 1;
    background-color: rgba(255, 255, 255, 1);
    background-color: rgba(255, 255, 255, var(--tw-bg-opacity, 1));
}
.cart-options salla-product-options{
    margin-bottom: 0px;
    padding-top: 0px;
}
.cart-options salla-product-options .s-product-options-option:not(div.s-product-options-option-booking){
    display: block !important;
}
.cart-options salla-product-options-label{
    margin-bottom: 0.75rem;
}
.cart-options salla-product-options .s-form-control{
    border-radius: 0.375rem;
    --tw-border-opacity: 1;
    border-color: rgba(229, 231, 235, 1);
    border-color: rgba(229, 231, 235, var(--tw-border-opacity, 1));
}
.cart-options salla-product-options .s-datetime-picker-input{
    border-radius: 0.375rem;
    --tw-border-opacity: 1;
    border-color: rgba(229, 231, 235, 1);
    border-color: rgba(229, 231, 235, var(--tw-border-opacity, 1));
}
.cart-options salla-product-options .s-product-options-multiple-options-wrapper{
    display: block !important;
}

salla-quantity-input[max="1"] input{
    pointer-events: none;
    opacity: 0.5;
}
salla-quantity-input[max="1"] .s-quantity-input-button{
    cursor: not-allowed;
}

@keyframes pulseGlow {
  0% {
    box-shadow: 0 0 0 0 var(--status-color);
  }
  70% {
    box-shadow: 0 0 0 8px transparent;
  }
  100% {
    box-shadow: 0 0 0 0 transparent;
  }
}
.animate-pulse-glow {
  animation: pulseGlow 1.5s infinite;
}

.s-product-card-status-dot {
  --status-color: var(--product-card-status-color);
  display: inline-block;
  width: 0.5rem;
  height: 0.5rem;
  flex-shrink: 0;
  border-radius: 9999px;
  background-color: var(--status-color);
}

.s-product-card-title-line{
    display: flex;
    align-items: flex-start;
    gap: 0.375rem;
}
.s-product-card-title-line .s-product-card-status-dot {
  margin-top: 0.45em;
}
.s-product-card-title-line .s-product-card-content-title{
    min-width: 0px;
    flex: 1 1 0%;
}

.s-product-card-out-of-stock .s-product-card-status-dot {
  --status-color: #AE0A0A;
}

custom-salla-product-card {
  display: block;
  background-color: var(--product-card-bg) !important;
  border: 1px solid var(--product-card-border-color) !important;
  border-radius: var(--product-card-radius) !important;
}
custom-salla-product-card.s-product-card-no-border {
  border-color: transparent !important;
}
custom-salla-product-card.s-product-card-vertical .s-product-card-image {
  border-top-left-radius: var(--product-card-radius) !important;
  border-top-right-radius: var(--product-card-radius) !important;
}
custom-salla-product-card.s-product-card-minimal .s-product-card-image:where([dir=rtl], [dir=rtl] *) {
  border-bottom-right-radius: var(--product-card-radius) !important;
  border-top-right-radius: var(--product-card-radius) !important;
}
custom-salla-product-card.s-product-card-horizontal .s-product-card-image:where([dir=rtl], [dir=rtl] *) {
  border-bottom-right-radius: var(--product-card-radius) !important;
  border-top-right-radius: var(--product-card-radius) !important;
}
custom-salla-product-card .s-product-card-countdown {
  display: flex !important;
  flex: 0 0 auto;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin-top: 0.625rem;
}
custom-salla-product-card .s-product-card-countdown salla-count-down {
  display: block !important;
  flex: 1 1 auto;
  width: 100%;
  min-width: 0;
}
custom-salla-product-card .s-product-card-countdown ul.s-count-down-list,
custom-salla-product-card .s-product-card-countdown ul.s-count-down-list.s-count-down-md.s-count-down-dark {
  margin: 0;
  padding: 0;
  width: 100%;
  background-color: transparent;
  color: var(--product-card-countdown-color);
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: center;
  gap: 0.25rem;
  border-radius: 0;
}
custom-salla-product-card .s-product-card-countdown-on-image {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0.625rem;
  z-index: 2;
  width: auto;
  margin-top: 0;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  pointer-events: none;
}
custom-salla-product-card li.s-count-down-item {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1 1 auto;
  width: auto;
  min-width: -moz-max-content;
  min-width: max-content;
  margin: 0;
  padding: max(0.28rem, min(1.1vw, 0.5rem)) 0.4rem;
  background-color: var(--product-card-countdown-box-bg);
  border: 1px solid color-mix(in srgb, var(--product-card-countdown-bg) 70%, transparent);
  border-radius: var(--product-card-actions-radius) !important;
}
custom-salla-product-card li.s-count-down-item::after {
  display: none !important;
  content: none !important;
}
custom-salla-product-card .s-count-down-item-value {
  color: var(--product-card-countdown-color);
  font-size: max(0.75rem, min(1.5vw, 0.9375rem));
  font-weight: 700;
  line-height: 1.25;
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum";
  white-space: nowrap;
}
custom-salla-product-card salla-count-down.s-count-down-ended {
  display: block !important;
  position: relative !important;
  width: 100%;
}
custom-salla-product-card salla-count-down.s-count-down-ended ul.s-count-down-list,
custom-salla-product-card salla-count-down.s-count-down-ended ul.s-count-down-list.s-count-down-md.s-count-down-dark {
  display: none !important;
}
custom-salla-product-card .s-product-card-countdown .s-count-down-end-text,
custom-salla-product-card .s-product-card-countdown .s-count-down-text-center {
  position: static !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  transform: none !important;
  display: block !important;
  width: 100% !important;
  max-width: 100%;
  margin: 0 !important;
  padding: 0.35rem 0.5rem;
  text-align: center;
  font-size: 0.6875rem;
  font-weight: 600;
  line-height: 1.4;
  color: var(--product-card-countdown-color);
  border: 1px solid color-mix(in srgb, var(--product-card-countdown-bg) 70%, transparent);
  border-radius: var(--product-card-actions-radius) !important;
}
custom-salla-product-card .s-product-card-promotion-title {
  top: 0.5rem;
  left: 0.5rem;
  max-width: 50%;
  text-wrap: nowrap;
  text-overflow: ellipsis;
  right: auto;
  border-radius: var(--product-card-promotion-radius);
  display: inline-block;
  overflow: hidden;
  white-space: nowrap;
}
custom-salla-product-card .product-action {
  position: absolute;
  right: 0.5rem !important;
  left: auto !important;
  top: 0.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: start;
  gap: 5px;
}
custom-salla-product-card.s-product-card-horizontal .product-action, custom-salla-product-card.s-product-card-minimal .product-action {
  top: 1rem;
  gap: 2px;
}
custom-salla-product-card .s-product-card-category-title p {
  color: var(--product-card-category-color);
}
custom-salla-product-card .s-product-card-content-title a {
  color: var(--product-card-title-color);
}
custom-salla-product-card .s-product-card-content-subtitle {
  color: var(--product-card-subtitle-color);
}
custom-salla-product-card .s-product-card-meta-line{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.375rem;
    font-size: 0.75rem;
    line-height: 1rem;
    line-height: 1.25;
}
custom-salla-product-card .s-product-card-brand{
    font-weight: 600;
}
custom-salla-product-card .s-product-card-meta-sep{
    opacity: 0.6;
}
custom-salla-product-card .s-product-card-tags{
    margin-top: 0.375rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.375rem;
}
custom-salla-product-card .s-product-card-tag{
    display: inline-flex;
    align-items: center;
    padding-left: 0.375rem;
    padding-right: 0.375rem;
    padding-top: 0.125rem;
    padding-bottom: 0.125rem;
    font-size: 0.6875rem;
    line-height: 1.375;
  color: var(--product-card-tags-color);
  border: 1px solid color-mix(in srgb, var(--product-card-tags-color) 35%, transparent);
  border-radius: calc(var(--product-card-radius) / 2);
}
custom-salla-product-card.s-product-card-entry .s-product-card-rating{
    display: flex;
    flex-shrink: 0;
    align-items: center;
    font-size: 0.75rem;
    line-height: 1rem;
    line-height: 1;
  margin-left: auto;
  margin-top: 0.2em;
  color: var(--product-card-subtitle-color);
}
custom-salla-product-card .s-product-card-rating-value{
    font-weight: 600;
  color: var(--product-card-title-color);
}
custom-salla-product-card.s-product-card-title-one-line .s-product-card-content-title a {
  display: block !important;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
custom-salla-product-card.s-product-card-subtitle-one-line .s-product-card-content-subtitle{
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
custom-salla-product-card.s-product-card-centered .s-product-card-content-main,
custom-salla-product-card.s-product-card-centered .s-product-card-category-title{
    text-align: center;
}
custom-salla-product-card.s-product-card-centered .s-product-card-meta-line,
custom-salla-product-card.s-product-card-centered .s-product-card-title-line,
custom-salla-product-card.s-product-card-centered .s-product-card-tags,
custom-salla-product-card.s-product-card-centered .s-product-card-content-sub{
    justify-content: center;
}
custom-salla-product-card.s-product-card-centered .s-product-card-title-line .s-product-card-content-title{
    flex: 0 1 auto;
}
custom-salla-product-card.s-product-card-centered .product-options-wrapper .s-product-options-grid-mode{
    justify-content: center;
}
custom-salla-product-card.s-product-card-centered .product-options-wrapper .s-product-options-colors-wrapper{
    text-align: center;
}
custom-salla-product-card.s-product-card-centered.s-product-card-entry .s-product-card-rating {
  margin-left: 0;
}
custom-salla-product-card salla-add-product-button:not([product-status=out-and-notify]) .s-button-primary {
  background-color: var(--product-card-add-btn-bg);
  border-color: var(--product-card-add-btn-bg);
  color: var(--product-card-add-btn-text-color);
}
custom-salla-product-card salla-add-product-button:not([product-status=out-and-notify]) .s-button-primary .s-button-text,
custom-salla-product-card salla-add-product-button:not([product-status=out-and-notify]) .s-button-primary i {
  color: var(--product-card-add-btn-text-color);
}
custom-salla-product-card salla-add-product-button:not([product-status=out-and-notify]) .s-button-primary:hover {
  opacity: 0.9;
}
custom-salla-product-card salla-add-product-button salla-button > button {
  border-radius: var(--product-card-actions-radius) !important;
}
custom-salla-product-card salla-add-product-button .s-add-product-button-mini-checkout {
  --salla-fast-checkout-button-border-radius: var(
    --product-card-actions-radius
  );
}
custom-salla-product-card {
  --add-btn-icon-box: 24px;
  --add-btn-swap-duration: 0.5s;
  --add-btn-swap-ease: cubic-bezier(0.22, 1, 0.36, 1);
}
custom-salla-product-card salla-add-product-button.s-product-card-add-btn-icon-only .s-button-element,
custom-salla-product-card salla-add-product-button.s-product-card-add-btn-icon-only .s-button-primary {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  padding-top: 0.35rem !important;
  padding-bottom: 0.35rem !important;
}
custom-salla-product-card.s-product-card-full-image salla-add-product-button.s-product-card-add-btn-icon-only {
  background-color: transparent;
}
custom-salla-product-card:not(.s-product-card-vertical) salla-add-product-button.s-product-card-add-btn-icon-only .s-button-element {
  padding-left: 0.4rem !important;
  padding-right: 0.4rem !important;
}
custom-salla-product-card .add-btn-swap {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: var(--add-btn-icon-box);
  min-width: var(--add-btn-icon-box);
  max-width: 100%;
  overflow: hidden;
}
custom-salla-product-card .add-btn-layer {
  color: var(--product-card-add-btn-text-color);
  transition: transform var(--add-btn-swap-duration) var(--add-btn-swap-ease), opacity calc(var(--add-btn-swap-duration) * 0.6) ease;
}
custom-salla-product-card .add-btn-layer-label {
  display: block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  line-height: var(--add-btn-icon-box);
  transform: translateY(var(--add-btn-icon-box));
  opacity: 0;
}
custom-salla-product-card .add-btn-layer-icon {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
custom-salla-product-card .add-btn-layer-icon i {
  font-size: 1.125rem;
  line-height: 1;
  color: inherit;
}
custom-salla-product-card .add-btn-layer-icon i::before {
  color: inherit;
}
@media (hover: hover) {
  custom-salla-product-card:hover .add-btn-layer-icon {
    transform: translateY(calc(var(--add-btn-icon-box) * -1));
    opacity: 0;
  }
  custom-salla-product-card:hover .add-btn-layer-label {
    transform: translateY(0);
    opacity: 1;
    transition-delay: 0.08s;
  }
}
@media (prefers-reduced-motion: reduce) {
  custom-salla-product-card .add-btn-layer {
    transition: none;
  }
}
custom-salla-product-card {
  --product-card-footer-control-h: 40px;
}
custom-salla-product-card .s-product-card-content-footer {
  display: flex;
  gap: 0.5rem;
  align-items: stretch;
  min-width: 0;
}
custom-salla-product-card .s-product-card-content-footer salla-add-product-button {
  flex: 1 1 auto;
  min-width: 0;
}
custom-salla-product-card .s-product-card-content-footer salla-add-product-button salla-product-availability,
custom-salla-product-card .s-product-card-content-footer salla-add-product-button .s-product-availability-wrap {
  display: block;
  width: 100%;
  min-width: 0;
}
custom-salla-product-card .s-product-card-content-footer salla-add-product-button salla-button {
  display: block;
  width: 100%;
}
custom-salla-product-card .s-product-card-content-footer salla-add-product-button salla-button > button,
custom-salla-product-card .s-product-card-content-footer salla-add-product-button button.s-button-element {
  width: 100%;
  height: var(--product-card-footer-control-h);
  min-height: var(--product-card-footer-control-h);
}
custom-salla-product-card .s-product-card-content-footer salla-add-product-button .s-product-availability-subscribed {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: var(--product-card-footer-control-h);
  min-height: var(--product-card-footer-control-h);
  border-radius: 0.5rem;
  border-radius: var(--product-card-actions-radius, 0.5rem);
}
custom-salla-product-card {
  overflow: hidden;
  overflow: clip;
}
custom-salla-product-card .s-product-card-content {
  min-width: 0;
}
custom-salla-product-card .s-product-card-quantity-input {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  align-self: stretch;
  height: auto !important;
}
custom-salla-product-card .s-product-card-quantity-input .s-quantity-input-container {
  height: var(--product-card-footer-control-h) !important;
  min-height: 0;
  border-color: var(--product-card-countdown-bg);
  border-radius: var(--product-card-actions-radius) !important;
  overflow: hidden;
}
custom-salla-product-card .s-product-card-quantity-input .s-quantity-input-input {
  width: 2.25rem;
  height: 100% !important;
  padding-left: 0;
  padding-right: 0;
  background-color: transparent !important;
  color: var(--product-card-countdown-color);
}
custom-salla-product-card .s-product-card-quantity-input .s-quantity-input-button {
  height: auto !important;
  color: var(--product-card-countdown-color);
}
@media (max-width: 640px) {
  custom-salla-product-card.s-product-card-vertical .s-product-card-content-footer, custom-salla-product-card.s-product-card-minimal .s-product-card-content-footer, custom-salla-product-card.s-product-card-horizontal .s-product-card-content-footer {
    flex-wrap: wrap;
  }
  custom-salla-product-card.s-product-card-vertical .s-product-card-content-footer .s-product-card-quantity-input, custom-salla-product-card.s-product-card-minimal .s-product-card-content-footer .s-product-card-quantity-input, custom-salla-product-card.s-product-card-horizontal .s-product-card-content-footer .s-product-card-quantity-input {
    flex: 1 1 100%;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
  }
  custom-salla-product-card.s-product-card-vertical .s-product-card-content-footer .s-product-card-quantity-input .s-quantity-input-container, custom-salla-product-card.s-product-card-minimal .s-product-card-content-footer .s-product-card-quantity-input .s-quantity-input-container, custom-salla-product-card.s-product-card-horizontal .s-product-card-content-footer .s-product-card-quantity-input .s-quantity-input-container {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }
  custom-salla-product-card.s-product-card-vertical .s-product-card-content-footer .s-product-card-quantity-input .s-quantity-input-input, custom-salla-product-card.s-product-card-minimal .s-product-card-content-footer .s-product-card-quantity-input .s-quantity-input-input, custom-salla-product-card.s-product-card-horizontal .s-product-card-content-footer .s-product-card-quantity-input .s-quantity-input-input {
    width: auto;
    flex: 1 1 auto;
    min-width: 0;
  }
  custom-salla-product-card.s-product-card-vertical .s-product-card-content-footer salla-add-product-button, custom-salla-product-card.s-product-card-minimal .s-product-card-content-footer salla-add-product-button, custom-salla-product-card.s-product-card-horizontal .s-product-card-content-footer salla-add-product-button {
    flex: 1 1 100%;
    min-width: 0;
    max-width: 100%;
  }
}
custom-salla-product-card .product-options-form {
  display: flex;
  flex-direction: column;
  margin-top: auto;
}
custom-salla-product-card .s-product-card-options-collapse {
  margin-bottom: 0.75rem;
}
custom-salla-product-card .s-product-card-options-toggle{
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 600;
  color: var(--product-card-title-color);
}
custom-salla-product-card .s-product-card-options-toggle i{
    font-size: 1rem;
    line-height: 1.5rem;
    line-height: 1;
    transition-property: transform;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 300ms;
}
custom-salla-product-card .s-product-card-options-panel {
  display: grid;
  grid-template-rows: 0fr;
  grid-template-columns: minmax(0, 1fr);
  visibility: hidden;
  transition: grid-template-rows 0.3s ease, visibility 0.3s;
}
custom-salla-product-card .s-product-card-options-panel-inner {
  min-height: 0;
  min-width: 0;
  overflow: hidden;
  overflow: clip;
}
custom-salla-product-card .s-product-card-options-panel-inner .product-options-wrapper .s-product-options-wrapper {
  margin-bottom: 0.5rem;
}
custom-salla-product-card .s-product-card-options-collapse.is-open .s-product-card-options-panel {
  grid-template-rows: 1fr;
  visibility: visible;
}
custom-salla-product-card .s-product-card-options-collapse.is-open .s-product-card-options-toggle i {
  transform: rotate(45deg);
}
@media (prefers-reduced-motion: reduce) {
  custom-salla-product-card .s-product-card-options-panel,
  custom-salla-product-card .s-product-card-options-toggle i {
    transition: none;
  }
}
custom-salla-product-card .product-options-wrapper {
  display: block;
}
custom-salla-product-card .product-options-wrapper .s-product-options-wrapper {
  background-color: transparent;
  margin-bottom: 0.75rem;
}
custom-salla-product-card .product-options-wrapper .s-product-options-option-label small{
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}
input[type=radio]custom-salla-product-card .product-options-wrapper .s-product-options-option-label small div.absolute {
  transition: all 0.3s;
}
input[type=radio]custom-salla-product-card .product-options-wrapper .s-product-options-option-label small:checked ~ div.absolute {
  border-color: var(--color-main);
}
custom-salla-product-card .product-options-wrapper .s-product-options-option-label {
  background-color: transparent;
  color: var(--product-card-title-color);
}
custom-salla-product-card .product-options-wrapper .s-product-options-option {
  display: block;
}
custom-salla-product-card .product-options-wrapper .s-product-options-option-content {
  margin-top: 0;
}
custom-salla-product-card .product-options-wrapper .s-product-options-option-container {
  margin-bottom: 0.5rem;
}
custom-salla-product-card .product-options-wrapper .s-product-options-option-container:last-child {
  margin-bottom: 0;
}
custom-salla-product-card .product-options-wrapper .s-product-options-grid-mode{
    display: flex;
    flex-wrap: wrap;
    gap: 0.375rem;
  margin-bottom: 0;
}
custom-salla-product-card .product-options-wrapper .s-product-options-grid-mode > label{
    position: relative;
    margin: 0px;
    max-width: none;
    flex-shrink: 0;
  flex: 0 0 auto;
}
custom-salla-product-card .product-options-wrapper .s-product-options-grid-mode input[type=radio]{
    pointer-events: none;
    position: absolute;
    top: 0px;
    right: 0px;
    bottom: 0px;
    left: 0px;
    margin: 0px;
    height: 100%;
    width: 100%;
    opacity: 0;
}
input[type=radio].sr-only divcustom-salla-product-card .product-options-wrapper .s-product-options-grid-mode input[type=radio] {
  transition: all 0.3s;
}
input[type=radio].sr-only:checked ~ divcustom-salla-product-card .product-options-wrapper .s-product-options-grid-mode input[type=radio] {
  border-color: var(--color-main);
}
custom-salla-product-card .product-options-wrapper .s-product-options-grid-mode-span{
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    text-align: center;
    font-size: 0.75rem;
    line-height: 1rem;
    font-weight: 600;
  min-width: 3rem;
  width: auto;
  padding: 0.375rem 0.625rem;
  min-height: 2.25rem;
  background-color: transparent;
  color: var(--product-card-title-color);
  border-color: color-mix(in srgb, var(--product-card-subtitle-color) 45%, transparent);
  border-radius: var(--product-card-actions-radius);
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.s-product-card-options-scroll .product-options-wrapper .s-product-options-grid-mode,
body.product-card-options-scroll custom-salla-product-card .product-options-wrapper .s-product-options-grid-mode{
    display: flex;
    gap: 0.375rem;
    overflow-x: auto;
    overflow-y: hidden;
  flex-wrap: nowrap !important;
  justify-content: flex-start !important;
  padding-bottom: 0.375rem;
  scrollbar-width: thin;
  scrollbar-color: #8b5cf6 rgba(139, 92, 246, 0.15);
  scrollbar-color: var(--color-primary-light, #8b5cf6) var(--color-primary-lighter, rgba(139, 92, 246, 0.15));
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
}
.s-product-card-options-scroll .product-options-wrapper .s-product-options-grid-mode::-webkit-scrollbar,
body.product-card-options-scroll custom-salla-product-card .product-options-wrapper .s-product-options-grid-mode::-webkit-scrollbar {
  height: 5px;
}
.s-product-card-options-scroll .product-options-wrapper .s-product-options-grid-mode::-webkit-scrollbar-track,
body.product-card-options-scroll custom-salla-product-card .product-options-wrapper .s-product-options-grid-mode::-webkit-scrollbar-track {
  background: rgba(139, 92, 246, 0.15);
  background: var(--color-primary-lighter, rgba(139, 92, 246, 0.15));
  border-radius: 9999px;
}
.s-product-card-options-scroll .product-options-wrapper .s-product-options-grid-mode::-webkit-scrollbar-thumb,
body.product-card-options-scroll custom-salla-product-card .product-options-wrapper .s-product-options-grid-mode::-webkit-scrollbar-thumb {
  background: #8b5cf6;
  background: var(--color-primary-light, #8b5cf6);
  border-radius: 9999px;
}
.s-product-card-options-scroll .product-options-wrapper .s-product-options-grid-mode::-webkit-scrollbar-thumb:hover,
body.product-card-options-scroll custom-salla-product-card .product-options-wrapper .s-product-options-grid-mode::-webkit-scrollbar-thumb:hover {
  background: #414042;
  background: var(--color-primary, #7c3aed);
}
.s-product-card-options-scroll .product-options-wrapper .s-product-options-grid-mode > label,
body.product-card-options-scroll custom-salla-product-card .product-options-wrapper .s-product-options-grid-mode > label{
    max-width: none;
    flex-shrink: 0;
  flex: 0 0 auto;
}
.s-product-card-options-scroll .product-options-wrapper .s-product-options-grid-mode .s-product-options-grid-mode-span,
body.product-card-options-scroll custom-salla-product-card .product-options-wrapper .s-product-options-grid-mode .s-product-options-grid-mode-span{
    flex-shrink: 0;
    white-space: nowrap;
  min-width: 3rem;
  width: auto;
}

custom-salla-product-card .product-options-wrapper .s-product-options-grid-mode-span:hover {
  background-color: color-mix(in srgb, var(--product-card-title-color) 10%, transparent);
  border-color: color-mix(in srgb, var(--product-card-subtitle-color) 75%, transparent);
}
custom-salla-product-card .product-options-wrapper .s-product-options-grid-mode input:checked + .s-product-options-grid-mode-span {
  background-color: var(--product-card-add-btn-bg);
  border-color: var(--product-card-add-btn-bg);
  color: var(--product-card-add-btn-text-color);
}
custom-salla-product-card .product-options-wrapper .s-form-control {
  background-color: transparent;
  color: var(--product-card-title-color);
  border-color: color-mix(in srgb, var(--product-card-subtitle-color) 45%, transparent);
  border-radius: var(--product-card-actions-radius);
}
custom-salla-product-card .product-options-wrapper .s-form-control::-moz-placeholder {
  color: var(--product-card-subtitle-color);
}
custom-salla-product-card .product-options-wrapper .s-form-control::placeholder {
  color: var(--product-card-subtitle-color);
}
custom-salla-product-card .product-options-wrapper .s-form-control:focus {
  border-color: var(--product-card-add-btn-bg);
}
custom-salla-product-card .product-options-wrapper select.s-form-control option {
  background-color: var(--product-card-bg);
  color: var(--product-card-title-color);
}
custom-salla-product-card .s-quantity-input-input {
  border: none;
}
custom-salla-product-card .s-quantity-input-increase-button svg,
custom-salla-product-card .s-quantity-input-decrease-button svg {
  fill: var(--product-card-countdown-bg);
}
custom-salla-product-card.s-product-card-vertical:not(.s-product-card-special) .s-product-card-image {
  max-height: var(--product-card-image-height-vertical);
}
custom-salla-product-card {
  --product-card-action-size: 36px;
  --product-card-action-icon-size: 20px;
  --product-card-action-border: 1px solid
    color-mix(in srgb, var(--product-card-action-icon-color) 40%, transparent);
}
custom-salla-product-card .product-action {
  z-index: 2;
}
custom-salla-product-card .product-action > * {
  box-sizing: border-box;
  flex: 0 0 auto;
  width: var(--product-card-action-size) !important;
  height: var(--product-card-action-size) !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  padding: 0 !important;
  margin: 0 !important;
}
custom-salla-product-card .product-action button,
custom-salla-product-card .product-action .s-product-card-wishlist-btn button {
  width: var(--product-card-action-size);
  height: var(--product-card-action-size);
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--product-card-action-bg-color) !important;
  color: var(--product-card-action-icon-color) !important;
  border: var(--product-card-action-border) !important;
  border-radius: var(--product-card-actions-radius) !important;
}
custom-salla-product-card .product-action button:hover,
custom-salla-product-card .product-action .s-product-card-wishlist-btn button:hover {
  opacity: 1;
}
custom-salla-product-card {
  /*
   * Hover reveal (`product_card_actions_on_hover`). Off by default, so an
   * untouched Theme Editor keeps the icons static — the switch is opt-in.
   *
   * Gated on `@media (hover: hover)`: a touch device has no hover to reveal
   * with, so the icons stay permanently visible there whatever the merchant
   * picked. `visibility` rides along with the opacity so the hidden buttons
   * are also unclickable and skipped by the tab order.
   *
   * `:focus-within` keeps the pair reachable by keyboard — tabbing onto the
   * wishlist button reveals the stack the same way the pointer does.
   */
}
@media (hover: hover) {
  body.has-hover-card-actions custom-salla-product-card .product-action {
    opacity: 0;
    visibility: hidden;
    transform: translateY(-0.35rem);
    transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s;
  }
  body.has-hover-card-actions custom-salla-product-card:hover .product-action, body.has-hover-card-actions custom-salla-product-card:focus-within .product-action {
    opacity: 1;
    visibility: visible;
    transform: none;
  }
}
@media (hover: hover) and (prefers-reduced-motion: reduce) {
  body.has-hover-card-actions custom-salla-product-card .product-action {
    transform: none;
    transition: none;
  }
}
custom-salla-product-card .quick-view-icon {
  width: var(--product-card-action-icon-size);
  height: var(--product-card-action-icon-size);
}
custom-salla-product-card .s-product-card-wishlist-btn i {
  font-size: var(--product-card-action-icon-size);
}
custom-salla-product-card salla-button.s-product-card-wishlist-btn,
custom-salla-product-card .s-product-card-wishlist-btn button {
  position: relative !important;
  top: auto !important;
  top: initial !important;
  left: auto !important;
  left: initial !important;
  right: auto !important;
  right: initial !important;
  height: var(--product-card-action-size);
  width: var(--product-card-action-size);
}
custom-salla-product-card .s-product-card-wishlist-btn .s-button-text {
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

/* Social-proof strip above the add-to-cart form — a stack of avatars, the star
   row and the positive-review count, on one pill.

   Every colour resolves from a custom property declared in
   layouts/variables.twig (`--success`, `--warning`, `--text-primary`,
   `--text-secondary`, `--store-bg`), so a merchant palette change carries
   through instead of being pinned here. The tints are `color-mix` over
   --store-bg rather than translucent overlays, so the avatars can punch a
   solid ring through the strip and still read as separated. */
.p-social-proof {
  --sp-accent: var(--success);
  margin-top: 0.625rem;
  margin-bottom: 0.625rem;
  display: flex;
  width: 100%;
  align-items: center;
  gap: 0.625rem;
  border-radius: var(--border-radius-card);
  border-width: 1px;
  border-style: dashed;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 0.625rem;
  padding-right: 0.625rem;
}
@media (min-width: 640px){
    .p-social-proof{
        gap: 0.75rem;
        padding-left: 0.875rem;
        padding-right: 0.875rem;
    }
}
.p-social-proof {
  border-color: color-mix(in srgb, var(--sp-accent) 32%, transparent);
  background: color-mix(in srgb, var(--sp-accent) 7%, var(--store-bg));
}

/* Overlapping circles — each one after the first is pulled back over its
   neighbour, and the ring in the strip's own tint keeps the edge visible. */
.p-social-proof__avatars{
    display: flex;
    flex-shrink: 0;
    align-items: center;
}
.p-social-proof__avatars > i{
    display: flex;
    height: 2rem;
    width: 2rem;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    border-radius: 9999px;
    font-size: 0.875rem;
    line-height: 1.25rem;
    line-height: 1;
}
@media (min-width: 640px){
    .p-social-proof__avatars > i{
        height: 2.25rem;
        width: 2.25rem;
    }
}
.p-social-proof__avatars > i {
  color: var(--sp-accent);
  background: color-mix(in srgb, var(--sp-accent) 16%, var(--store-bg));
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--sp-accent) 7%, var(--store-bg));
}
.p-social-proof__avatars > i:not(:first-child):where([dir="ltr"], [dir="ltr"] *){
    margin-left: -13px;
}
.p-social-proof__avatars > i:not(:first-child):where([dir="rtl"], [dir="rtl"] *){
    margin-right: -13px;
}
.p-social-proof__avatars {
  /* Narrow phones: the strip is one line, and three faces carry the same
     message as five without pushing the count onto a second row. */
}
@media (max-width: 400px) {
  .p-social-proof__avatars > i:nth-child(n+4){
        display: none;
    }
}

.p-social-proof__body{
    display: flex;
    min-width: 0px;
    flex-direction: column;
    gap: 0.125rem;
}

.p-social-proof__stars{
    display: flex;
    align-items: center;
    gap: 1px;
    line-height: 1;
  color: var(--warning);
}
.p-social-proof__stars > i{
    font-size: 0.75rem;
    line-height: 1rem;
}
@media (min-width: 640px){
    .p-social-proof__stars > i{
        font-size: 0.875rem;
        line-height: 1.25rem;
    }
}

.p-social-proof__text{
    margin: 0px;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    -moz-column-gap: 0.25rem;
         column-gap: 0.25rem;
    font-size: 0.75rem;
    line-height: 1.25rem;
}

@media (min-width: 640px){
    .p-social-proof__text{
        font-size: 0.875rem;
        line-height: 1.25rem;
    }
}

.p-social-proof__text {
  color: var(--text-secondary);
}

.p-social-proof__count{
    font-size: 1rem;
    line-height: 1.5rem;
    font-weight: 700;
    line-height: 1;
}

@media (min-width: 640px){
    .p-social-proof__count{
        font-size: 1.125rem;
        line-height: 1.75rem;
    }
}

.p-social-proof__count {
  color: var(--sp-accent);
  font-feature-settings: "tnum";
}

/* The quick-view modal prints the same pair as classes — an id cannot be
   duplicated when the modal opens over a product page's related-products card. */
div#custom-discount-amount,
div#custom-discount-percentage,
.qv-discount-amount,
.qv-discount-percentage{
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    -moz-column-gap: 0.25rem;
         column-gap: 0.25rem;
    white-space: nowrap;
    border-radius: 9999px;
    border-width: 1px;
    padding-left: 0.375rem;
    padding-right: 0.375rem;
    padding-top: 1px;
    padding-bottom: 1px;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.25rem;
  /* The icons are authored at 24px in product.js so they stay legible if reused
     at a larger size; here they are chip-sized. */
}
div#custom-discount-amount svg,
div#custom-discount-percentage svg,
.qv-discount-amount svg,
.qv-discount-percentage svg{
    height: 0.875rem;
    width: 0.875rem;
    flex-shrink: 0;
}
div#custom-discount-amount i,
div#custom-discount-percentage i,
.qv-discount-amount i,
.qv-discount-percentage i{
    font-size: 0.7rem;
}

div#custom-discount-amount,
.qv-discount-amount {
  background-color: #ecfdf3;
  color: #00af6c;
  border-color: #abefc6;
}

div#custom-discount-percentage,
.qv-discount-percentage {
  background-color: #fef3f2;
  color: #f55157;
  border-color: #fecdca;
}

.c-timer-pp {
  --timer-accent: #f55157;
  --timer-ink: color-mix(
    in srgb,
    var(--timer-accent) 55%,
    var(--main-text-color)
  );
  display: flex;
  width: 100%;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-around;
  -moz-column-gap: 0.75rem;
       column-gap: 0.75rem;
  row-gap: 0.5rem;
  border-radius: 0.75rem;
  border-width: 1px;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  background: color-mix(in srgb, #f55157 10%, var(--store-bg));
  border-color: rgba(245, 81, 87, 0.32);
}

@supports (color: color-mix(in lch, red, blue)){
.c-timer-pp {
  background: color-mix(in srgb, var(--timer-accent) 10%, var(--store-bg));
  border-color: color-mix(in srgb, var(--timer-accent) 32%, transparent);
}
}
.c-timer-pp__msg{
    display: flex;
    min-width: 0px;
    align-items: center;
    gap: 0.625rem;
}
.c-timer-pp__icon{
    display: flex;
    height: 1.75rem;
    width: 1.75rem;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    border-radius: 9999px;
  color: var(--timer-accent);
  background: color-mix(in srgb, var(--timer-accent) 18%, transparent);
}
.c-timer-pp__label{
    min-width: 0px;
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1.25rem;
}
@media (min-width: 640px){
    .c-timer-pp__label{
        font-size: 0.875rem;
        line-height: 1.25rem;
    }
}
.c-timer-pp__label {
  color: var(--timer-ink);
}
.c-timer-pp__clock{
    flex-shrink: 0;
  direction: ltr;
}
.c-timer-pp ul.s-count-down-list{
    display: flex;
    align-items: flex-start;
    gap: 0.375rem;
  padding: 0 !important;
  margin: 0 !important;
}
.c-timer-pp li.s-count-down-item{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.25rem;
  height: auto !important;
  min-width: 2.375rem;
  flex: initial;
}
.c-timer-pp li.s-count-down-item::after {
  content: none !important;
}
.c-timer-pp .s-count-down-item-value{
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: center;
    border-radius: 0.5rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 700;
    --tw-numeric-spacing: tabular-nums;
    font-feature-settings: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) tabular-nums var(--tw-numeric-fraction);
    font-feature-settings: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
    font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) tabular-nums var(--tw-numeric-fraction);
    font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
    line-height: 1;
  color: #fff;
  background: var(--timer-accent);
  padding: 0.375rem !important;
}
.c-timer-pp .s-count-down-item-label{
    white-space: nowrap;
    font-size: 10px;
    font-weight: 600;
    line-height: 1;
  color: var(--timer-ink);
  opacity: 1;
}
.c-timer-pp li.s-count-down-item:last-child .s-count-down-item-value {
  animation: c-timer-pp-tick 1s ease-out infinite;
}
.c-timer-pp .s-count-down-end-text{
    font-size: 0.75rem;
    line-height: 1rem;
    font-weight: 700;
  color: var(--timer-ink);
}

@keyframes c-timer-pp-tick {
  0% {
    box-shadow: 0 0 0 0 color-mix(in srgb, var(--timer-accent) 50%, transparent);
  }
  70%, 100% {
    box-shadow: 0 0 0 0.35rem transparent;
  }
}
@media (prefers-reduced-motion: reduce) {
  .c-timer-pp li.s-count-down-item:last-child .s-count-down-item-value {
    animation: none;
  }
}
/* Product options — the page renders them full width, the card does not. */
/* Product options (`<salla-product-options>`) on the product page.

   Salla ships each option as a filled grey card. On a page that already carries
   a countdown strip, two discount chips and a features row, that is one more
   surface competing for the eye — so every surface here is transparent and only
   the picked value is filled. That single filled pill is what makes the current
   selection readable at a glance.

   Every colour is a custom property from layouts/variables.twig
   (`--store-brand-color`, `--text-primary`, `--text-secondary`,
   `--store-border-color`, `--warning`, `--border-radius-button`), so a merchant
   palette change carries through instead of being overridden here. */
.product-form .s-product-options-wrapper{
    display: block;
  background: transparent;
}
.product-form {
  /* One option group per row. Two side by side leave each too narrow to carry a
     name at one end and a price at the other, which is what the rows at the
     foot of this file are built to do. */
}
.product-form salla-conditional-fields{
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    grid-gap: 1rem;
    gap: 1rem;
  background: transparent;
}
.product-form {
  /* Label above its values. */
}
.product-form .s-product-options-option{
    display: flex;
    width: 100%;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
    padding: 0px;
  background: transparent;
}
.product-form .s-product-options-option-content{
    width: 100%;
}
.product-form .s-product-options-option-label{
    margin-bottom: 0px;
    display: flex;
    width: 100%;
    align-items: baseline;
    gap: 0.5rem;
}
.product-form .s-product-options-option-label b{
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 700;
  color: var(--text-primary);
  /* Salla prints the required marker in a nested span. Red, because that is
     what a required marker means — `--danger` is declared beside
     --success/--warning/--info in layouts/variables.twig. */
}
.product-form .s-product-options-option-label b span {
  color: var(--danger);
}
.product-form .s-product-options-option-label {
  /* Salla prints its own "اختر" placeholder next to the label. The required
     marker already says the option has to be picked, and the pills below say
     what picking looks like — the word only lengthens the row. */
}
.product-form .s-product-options-option-label small{
    display: none;
}
.product-form .s-product-options-grid-mode{
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}
.product-form .s-product-options-grid-mode > label{
    position: relative;
    margin: 0px;
    max-width: 100%;
    cursor: pointer;
}
.product-form .s-product-options-grid-mode > label * {
  pointer-events: none;
}
.product-form .s-product-options-grid-mode > label {
  flex: 0 1 auto;
}
.product-form .s-product-options-grid-mode {
  /* The radio still has to be focusable and form-associated, so it is hidden
     by size rather than by `display: none`. */
}
.product-form .s-product-options-grid-mode input[type=radio]{
    position: absolute;
    height: 0px;
    width: 0px;
    opacity: 0;
}
input[type=radio].sr-only div.product-form .s-product-options-grid-mode input[type=radio] {
  transition: all 0.3s;
}
input[type=radio].sr-only:checked ~ div.product-form .s-product-options-grid-mode input[type=radio] {
  border-color: var(--color-main);
}
.product-form .s-product-options-grid-mode {
  /* The weight is the same selected or not. These chips are sized by their
     own text, so going medium -> bold on `:checked` widens the box and the
     whole row reflows as the shopper clicks through the options. Colour, the
     tint and the inset ring carry the state instead. */
}
.product-form .s-product-options-grid-mode .s-product-options-grid-mode-span{
    display: flex;
    min-height: 2.5rem;
    align-items: center;
    justify-content: center;
    white-space: normal;
    word-wrap: break-word;
    border-width: 1px;
    padding-left: 1rem;
    padding-right: 1rem;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 700;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 200ms;
  border-radius: var(--border-radius-button);
  background: transparent;
  border-color: var(--store-border-color);
  color: var(--text-primary);
}
.product-form .s-product-options-grid-mode > label:hover input[type=radio]:not(:disabled) + .s-product-options-grid-mode-span {
  border-color: var(--store-brand-color);
  color: var(--store-brand-color);
}
.product-form .s-product-options-grid-mode {
  /* The inset ring doubles the border weight without moving the pill by a
     pixel — a 2px border would reflow the row on every change of selection. */
}
.product-form .s-product-options-grid-mode input[type=radio]:checked + .s-product-options-grid-mode-span {
  background: color-mix(in srgb, var(--store-brand-color) 12%, transparent);
  border-color: var(--store-brand-color);
  color: var(--store-brand-color);
  box-shadow: inset 0 0 0 1px var(--store-brand-color);
}
.product-form .s-product-options-grid-mode input[type=radio]:focus-visible + .s-product-options-grid-mode-span {
  outline: 2px solid var(--store-brand-color);
  outline-offset: 2px;
}
.product-form .s-product-options-grid-mode input[type=radio]:disabled + .s-product-options-grid-mode-span,
.product-form .s-product-options-grid-mode > label.is-out .s-product-options-grid-mode-span{
    cursor: not-allowed;
    text-decoration-line: line-through;
    opacity: 0.4;
}
.cart-item__price.product-form .s-product-options-grid-mode input[type=radio]:disabled + .s-product-options-grid-mode-span,.cart-item__price
.product-form .s-product-options-grid-mode > label.is-out .s-product-options-grid-mode-span {
  font-size: 0.85rem;
  font-weight: 500;
  opacity: 0.6;
}

/* Notes / attachments / weight panel — pages/partials/product/options.twig, so
   this is shared by the product page and the cart.

   The stock markup was a `bg-white` slab: invisible on a light storefront and a
   bright block on a dark one. Transparent with a themed border instead, matching
   the options above it. Every colour is a custom property from
   layouts/variables.twig. */
.product-extras{
    padding: 1rem;
  background: transparent;
  border: 1px solid var(--store-border-color);
  border-radius: var(--border-radius-card);
  color: var(--text-primary);
}
.product-extras .form-label b,
.product-extras b.form-label {
  color: var(--text-primary);
}
.product-extras .product-weight{
    font-size: 0.875rem;
    line-height: 1.25rem;
  color: var(--text-secondary);
}
.product-extras {
  /* The two triggers. Outline pills that pick up the brand colour once their
     panel is open, so the row says which one you are looking at — `is-opened`
     is set by initiateCollapse() in app.js. */
}
.product-extras .btn-tab.btn--collapse{
    display: flex;
    width: auto;
    flex: 1 1 0%;
    align-items: center;
    justify-content: center;
    gap: 0.375rem;
    border-width: 1px;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 500;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 200ms;
  background: transparent;
  border-color: var(--store-border-color);
  border-radius: var(--border-radius-button);
  color: var(--text-primary);
}
.product-extras .btn-tab.btn--collapse:hover {
  border-color: var(--store-brand-color);
  color: var(--store-brand-color);
}
.product-extras .btn-tab.btn--collapse.is-opened {
  background: color-mix(in srgb, var(--store-brand-color) 12%, transparent);
  border-color: var(--store-brand-color);
  color: var(--store-brand-color);
}
.product-extras .btn-tab.btn--collapse i{
    font-size: 1rem;
    line-height: 1.5rem;
    line-height: 1;
}
.product-extras textarea.form-input {
  background: transparent;
  border: 1px solid var(--store-border-color);
  border-radius: var(--border-radius-button);
  color: var(--text-primary);
}
.product-extras textarea.form-input::-moz-placeholder {
  color: var(--text-secondary);
}
.product-extras textarea.form-input::placeholder {
  color: var(--text-secondary);
}
.product-extras textarea.form-input:focus {
  border-color: var(--store-brand-color);
  box-shadow: 0 0 0 1px var(--store-brand-color);
}

.s-product-options-thumbnails-wrapper div input[type=radio] + label img {
  -o-object-fit: contain !important;
     object-fit: contain !important;
}

.s-product-options-thumbnails-wrapper div p,
.s-product-options-colors-wrapper input[type=radio] + label div {
  font-size: 10px !important;
}

.s-product-options-colors-wrapper input[type=radio] + label span {
  border-radius: 4px !important;
}

/*
 * Share + wishlist, on the product title line.
 */
.p-title-actions {
  --p-action-size: 2.25rem;
  --p-action-line: color-mix(in srgb, var(--text-primary) 18%, transparent);
}
.p-title-actions salla-social-share,
.p-title-actions salla-button,
.p-title-actions .s-social-share-wrapper{
    flex-shrink: 0;
}
.p-title-actions button {
  width: var(--p-action-size) !important;
  height: var(--p-action-size) !important;
  margin: 0 !important;
  border-radius: 9999px !important;
  background-color: transparent !important;
  border: 1px solid var(--p-action-line) !important;
  color: var(--text-primary) !important;
  transition: color 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
}
.p-title-actions button:hover {
  border-color: #414042 !important;
  border-color: var(--color-primary) !important;
  color: #414042 !important;
  color: var(--color-primary) !important;
  background-color: rgba(65, 64, 66, 0.1) !important;
}

@supports (color: color-mix(in lch, red, blue)){
.p-title-actions button:hover {
  background-color: color-mix(in srgb, var(--color-primary) 10%, transparent) !important;
}
}
.p-title-actions {
  /* the share glyph is an inline <svg> with no fill of its own, the wishlist an
     icon font — `currentColor` puts both on the button's colour */
}
.p-title-actions button i,
.p-title-actions button svg {
  color: inherit;
  fill: currentColor;
}
.p-title-actions {
  /* saved: the one state that earns a colour of its own, and `--danger` is the
     palette's own red rather than a Tailwind step */
}
.p-title-actions .btn--wishlist.is-added button,
.p-title-actions button.btn--wishlist.is-added {
  border-color: color-mix(in srgb, var(--danger) 45%, transparent) !important;
  color: var(--danger) !important;
  background-color: color-mix(in srgb, var(--danger) 12%, transparent) !important;
}

/*
 * Stock dot. It leads the product name from *inside* the heading, so it is
 * laid out as a word: inline-block keeps it on the first line's inline start
 * in both directions, and the trailing margin stands in for the flex gap it
 * used to get. `align-middle` centres it against the line's x-height instead
 * of dropping it to the baseline. The margin is spelled per-direction rather
 * than `margin-inline-end`, which postcss-preset-env flattens to a physical
 * `margin-right` and would put the gap on the wrong side in RTL.
 */
.p-availability{
    position: relative;
    display: inline-block;
    height: 0.625rem;
    width: 0.625rem;
    flex-shrink: 0;
    border-radius: 9999px;
    vertical-align: middle;
}
.p-availability:where([dir="ltr"], [dir="ltr"] *){
    margin-right: 0.5rem;
}
.p-availability:where([dir="rtl"], [dir="rtl"] *){
    margin-left: 0.5rem;
}
.p-availability {
  background: var(--success);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--success) 18%, transparent);
}
.p-availability::after {
  content: "";
  position: absolute;
  top: 0px;
  right: 0px;
  bottom: 0px;
  left: 0px;
  border-radius: 9999px;
}
input[type=radio].sr-only div.p-availability::after {
  transition: all 0.3s;
}
input[type=radio].sr-only:checked ~ div.p-availability::after {
  border-color: var(--color-main);
}
.p-availability::after {
  background: var(--success);
  animation: p-availability-pulse 2s ease-out infinite;
}

@keyframes p-availability-pulse {
  from {
    opacity: 0.6;
    transform: scale(1);
  }
  to {
    opacity: 0;
    transform: scale(3);
  }
}
@media (prefers-reduced-motion: reduce) {
  .p-availability::after {
    animation: none;
  }
}
.btn--wishlist .wishlist-effect-group{
    pointer-events: none;
    position: absolute;
    top: 0px;
    right: 0px;
    bottom: 0px;
    left: 0px;
    display: flex;
    align-items: center;
    justify-content: center;
}
input[type=radio].sr-only div.btn--wishlist .wishlist-effect-group {
  transition: all 0.3s;
}
input[type=radio].sr-only:checked ~ div.btn--wishlist .wishlist-effect-group {
  border-color: var(--color-main);
}

.s-tabs-header{
    display: flex;
    justify-content: center;
}

/*
 * Product tabs (`<salla-tabs class="p-tabs p-tabs--*">`).
 *
 * Twilight's stock skin is folder tabs: `.s-tabs-header-item` is `bg-gray-200
 * rounded-t-lg`, `.s-tabs-active` is `bg-primary text-white`, and the header
 * carries a full-width `border-b-2 border-primary`. Everything below replaces
 * that — the base block neutralises it once, then one of three merchant-picked
 * skins (`product_page_tabs_style`) dresses it. Salla's rules are all single
 * class, so `.p-tabs <class>` outranks them without `!important`.
 */
.p-tabs salla-tab-header{
    cursor: pointer;
}
.p-tabs salla-tab-header * {
  pointer-events: none;
}
.p-tabs .s-tabs-header{
    display: flex;
    align-items: stretch;
    justify-content: center;
    overflow-x: auto;
  border-bottom: 0;
  scrollbar-width: none;
}
.p-tabs .s-tabs-header::-webkit-scrollbar{
    display: none;
}
.p-tabs .s-tabs-header {
  /* Salla ships `overflow-x: auto` here, and `hidden` from md up. Any
     non-visible overflow on one axis makes the *other* axis compute to
     `auto` — so the strip was a scroll container vertically too, and clipped
     itself top and bottom: the pill skin's active shadow and the underline
     skin's indicator both sit outside the padding box.

     `clip` is the one value that does not force the other axis, so the strip
     keeps its horizontal clipping and stops cutting itself vertically. Only
     from md up: below that the strip may genuinely need to scroll sideways,
     and scrolling costs a real scroll container. Salla gives up on scrolling
     at that breakpoint anyway, so nothing is lost.

     Raw query rather than a `md:` utility — `overflow-x: clip` is not one
     Tailwind emits. */
}
@media (min-width: 768px) {
  .p-tabs .s-tabs-header {
    overflow-x: clip;
    overflow-y: visible;
  }
}
.p-tabs .s-tabs-header-item{
    position: relative;
    display: flex;
    height: 100%;
    align-items: center;
    justify-content: center;
    background-color: transparent;
    font-size: 0.875rem;
    line-height: 1.25rem;
    color: var(--text-secondary);
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 300ms;
}
.p-tabs {
  /* the header slot is icon + label (+ stars on the reviews tab) — they take
     their colour from the item so each skin only has to set one property */
}
.p-tabs .s-tabs-header-item i{
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 300ms;
}
.p-tabs {
  /* the panels themselves carry nothing but `w-full` — all of their padding is
     here, so the tint below wraps the content instead of sitting behind it */
}
.p-tabs .s-tabs-content-wrapper{
    padding-left: 0.5rem;
    padding-right: 0.5rem;
    padding-top: 1rem;
    padding-bottom: 1rem;
}
@media (min-width: 1024px){
    .p-tabs .s-tabs-content-wrapper{
        padding-left: 1rem;
        padding-right: 1rem;
        padding-top: 1.5rem;
        padding-bottom: 1.5rem;
    }
}

/* ── Skin: segmented ── one track, the active tab is a filled pill inside it. */
.p-tabs--pill .s-tabs-header{
    margin-left: auto;
    margin-right: auto;
    width: -moz-max-content;
    width: max-content;
    max-width: 100%;
    gap: 0.25rem;
    border-radius: 9999px;
    padding: 0.25rem;
  background-color: rgb(242, 242, 242);
  border: 1px solid rgba(65, 64, 66, 0.1);
}

@supports (color: color-mix(in lch, red, blue)){
.p-tabs--pill .s-tabs-header{
  background-color: color-mix(in srgb, var(--color-primary) 7%, var(--store-bg, #fff));
  border: 1px solid color-mix(in srgb, var(--color-primary) 10%, transparent);
    }
}
.p-tabs--pill .s-tabs-header-item{
    white-space: nowrap;
    border-radius: 9999px;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
    font-weight: 700;
}
.p-tabs--pill salla-tab-header:hover .s-tabs-header-item:not(.s-tabs-active) {
  background-color: rgba(65, 64, 66, 0.09);
}

@supports (color: color-mix(in lch, red, blue)){
.p-tabs--pill salla-tab-header:hover .s-tabs-header-item:not(.s-tabs-active) {
  background-color: color-mix(in srgb, var(--color-primary) 9%, transparent);
}
}
.p-tabs--pill .s-tabs-active {
  background-color: #414042;
  background-color: var(--color-primary);
  color: #ff6767;
  color: var(--color-primary-reverse);
  box-shadow: 0 8px 18px -10px rgba(65, 64, 66, 0.85);
}

@supports (color: color-mix(in lch, red, blue)){
.p-tabs--pill .s-tabs-active {
  box-shadow: 0 8px 18px -10px color-mix(in srgb, var(--color-primary) 85%, transparent);
}
}

/* ── Skin: underline ── no plates; a rule grows under the active tab. */
.p-tabs--underline .s-tabs-header{
    gap: 1.5rem;
}
@media (min-width: 768px){
    .p-tabs--underline .s-tabs-header{
        gap: 2.5rem;
    }
}
.p-tabs--underline .s-tabs-header {
  border-bottom: 1px solid rgba(65, 64, 66, 0.16);
}

@supports (color: color-mix(in lch, red, blue)){
.p-tabs--underline .s-tabs-header {
  border-bottom: 1px solid color-mix(in srgb, var(--color-primary) 16%, transparent);
}
}
.p-tabs--underline .s-tabs-header-item{
    border-radius: 0px;
    padding-left: 0.25rem;
    padding-right: 0.25rem;
    padding-bottom: 0.75rem;
    padding-top: 0.5rem;
    font-weight: 700;
  /* sits on the header's own hairline rather than above it */
}
.p-tabs--underline .s-tabs-header-item::after {
  content: "";
  position: absolute;
  left: 0px;
  right: 0px;
  height: 0.125rem;
  --tw-scale-x: 0;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(0) scaleY(var(--tw-scale-y));
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  border-radius: 9999px;
}
input[type=radio].sr-only div.p-tabs--underline .s-tabs-header-item::after {
  transition: all 0.3s;
}
input[type=radio].sr-only:checked ~ div.p-tabs--underline .s-tabs-header-item::after {
  border-color: var(--color-main);
}
.p-tabs--underline .s-tabs-header-item::after {
  bottom: -1px;
  background-color: #414042;
  background-color: var(--color-primary);
  transition: transform 0.3s ease;
}
.p-tabs--underline salla-tab-header:hover .s-tabs-header-item{
    color: var(--text-primary);
}
.p-tabs--underline .s-tabs-active {
  color: #414042;
  color: var(--color-primary);
}
.p-tabs--underline .s-tabs-active::after{
    --tw-scale-x: 1;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(1) scaleY(var(--tw-scale-y));
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

/* ── Skin: cards ── each tab its own bordered card, matching .pp-feature__item. */
.p-tabs--cards .s-tabs-header{
    gap: 0.625rem;
}
.p-tabs--cards .s-tabs-header-item{
    padding-left: 1rem;
    padding-right: 1rem;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
    font-weight: 700;
  border-radius: var(--border-radius-card);
  background-color: #fff;
  background-color: var(--store-bg, #fff);
  border: 1px solid rgba(65, 64, 66, 0.15);
}

@supports (color: color-mix(in lch, red, blue)){
.p-tabs--cards .s-tabs-header-item{
  border: 1px solid color-mix(in srgb, var(--color-primary) 15%, transparent);
    }
}
.p-tabs--cards salla-tab-header:hover .s-tabs-header-item:not(.s-tabs-active) {
  border-color: rgba(65, 64, 66, 0.32);
}

@supports (color: color-mix(in lch, red, blue)){
.p-tabs--cards salla-tab-header:hover .s-tabs-header-item:not(.s-tabs-active) {
  border-color: color-mix(in srgb, var(--color-primary) 32%, transparent);
}
}
.p-tabs--cards .s-tabs-active{
    --tw-translate-y: -0.125rem;
    transform: translate(var(--tw-translate-x), -0.125rem) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  color: #414042;
  color: var(--color-primary);
  border-color: #414042;
  border-color: var(--color-primary);
  background-color: rgb(240, 240, 240);
  box-shadow: 0 12px 24px -18px rgba(65, 64, 66, 0.85);
}

@supports (color: color-mix(in lch, red, blue)){
.p-tabs--cards .s-tabs-active{
  background-color: color-mix(in srgb, var(--color-primary) 8%, var(--store-bg, #fff));
  box-shadow: 0 12px 24px -18px color-mix(in srgb, var(--color-primary) 85%, transparent);
    }
}

/* ── Modifiers ───────────────────────────────────────────────
/*
 * `info_tabs` — the strip stands in for the details column beside the image, so
 * it opens at the top of that column rather than floating under the content.
 * Everything shrinks a step to survive a 3/5-width column, and the reviews tab
 * drops its stars: they would make that one tab a row taller than its
 * neighbours. The track keeps whatever width its skin gives it.
 */
.p-tabs--beside .s-tabs-header{
    max-width: 100%;
    justify-content: flex-start;
}
.p-tabs--beside .s-tabs-header-item{
    width: 100%;
    -moz-column-gap: 0.25rem;
         column-gap: 0.25rem;
    font-size: 0.75rem;
    line-height: 1rem;
}
@media (min-width: 768px){
    .p-tabs--beside .s-tabs-header-item{
        font-size: 0.875rem;
        line-height: 1.25rem;
    }
}
.p-tabs--beside .s-tabs-header-item i{
    font-size: 1.25rem;
    line-height: 1.75rem;
}
.p-tabs--beside .s-tabs-header salla-rating-stars{
    display: none;
}
.p-tabs--beside.p-tabs--pill .s-tabs-header-item{
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}
.p-tabs--beside .s-tabs-content-wrapper{
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
}
@media (min-width: 1024px){
    .p-tabs--beside .s-tabs-content-wrapper{
        padding-left: 0.75rem;
        padding-right: 0.75rem;
        padding-top: 1rem;
        padding-bottom: 1rem;
    }
}

/*
 * The tinted plate (`product_page_tabs_content_bg_enabled`). Off, the surfaces
 * are transparent and sit straight on the page; on, the merchant's colour
 * arrives as `--p-tabs-content-bg` from the Twig side.
 *
 * The plate is glass, not paint: half the merchant's colour over a blur of
 * whatever the page is wearing behind it. On a dark or patterned background the
 * tint picks that up instead of flattening it into one solid block.
 *
 * Two things wear it, and which one depends on the layout. Under `info_tabs`
 * the details column *is* the first tab panel, so plating the panel covers it.
 * Under `tabs_below` the details column stands beside the image on its own —
 * the tab strip is somewhere else entirely — so it takes the plate directly.
 * Both derive from the same tokens, so the two layouts can never drift apart.
 */
.p-tabs,
.p-details-plate {
  --p-tabs-plate-bg: color-mix(
    in srgb,
    var(--p-tabs-content-bg, transparent) 50%,
    transparent
  );
  --p-tabs-plate-blur: blur(5px);
}

.p-tabs--tinted .s-tabs-content-wrapper,
.p-details-plate {
  background-color: var(--p-tabs-plate-bg);
  backdrop-filter: var(--p-tabs-plate-blur);
  -webkit-backdrop-filter: var(--p-tabs-plate-blur);
  border-radius: var(--border-radius-card);
}

.p-tabs--tinted .s-tabs-content-wrapper{
    margin-top: 1rem;
}

/* Its own padding, in place of the column gutter the Twig side drops when the
   plate is on — the content has to sit inside the colour, not on its edge. */
.p-details-plate{
    padding: 1rem;
}
@media (min-width: 1024px){
    .p-details-plate{
        padding: 1.5rem;
    }
}

/*
 * `product_page_tabs_merged`
 */
.p-tabs--merged {
  /* `w-max` from the pill skin lets the strip stop short of the plate edge on a
     narrow screen, which leaves the squared content corner below it hanging
     with no bar over it. On phones the strip takes the full plate width so it
     covers both corners it is supposed to cap. */
}
.p-tabs--merged .s-tabs-header{
    border-bottom-width: 0px;
  margin: 0;
  margin: initial;
  border-radius: var(--border-radius-card) var(--border-radius-card) 0 0;
  /* raw query rather than a `max-md:` utility — the preset's `screens` mix
     min/max objects, so Tailwind generates no `max-*` variants here. */
}
@media (max-width: 767px) {
  .p-tabs--merged .s-tabs-header {
    width: 100%;
  }
}
.p-tabs--merged .s-tabs-header-item {
  border-radius: var(--border-radius-card) var(--border-radius-card) 0 0;
}
.p-tabs--merged {
  /* Only the corner the strip actually sits on goes square — the strip is flush
  */
}
.p-tabs--merged .s-tabs-content-wrapper{
    margin-top: 0px;
    border-top-left-radius: 0px;
    border-top-right-radius: 0px;
}
@media (min-width: 768px){
    .p-tabs--merged .s-tabs-content-wrapper:where([dir="ltr"], [dir="ltr"] *){
        border-top-right-radius: var(--border-radius-card);
    }
    .p-tabs--merged .s-tabs-content-wrapper:where([dir="rtl"], [dir="rtl"] *){
        border-top-left-radius: var(--border-radius-card);
    }
}
.p-tabs--merged {
  /* Only when merged: the strip IS the top of the plate there, so it has to
     take the same glass. Unmerged, the strip stays transparent. */
}
.p-tabs--merged.p-tabs--tinted .s-tabs-header {
  background-color: var(--p-tabs-plate-bg);
  backdrop-filter: var(--p-tabs-plate-blur);
  -webkit-backdrop-filter: var(--p-tabs-plate-blur);
}
.p-tabs--merged {
  /* the pill skin drops a shadow below the active tab; at a join that reads as
     a seam rather than a lift */
}
.p-tabs--merged.p-tabs--pill .s-tabs-active {
  box-shadow: none;
}

@media (prefers-reduced-motion: reduce) {
  .p-tabs .s-tabs-header-item,
  .p-tabs .s-tabs-header-item::after,
  .p-tabs .s-tabs-header-item i {
    transition: none;
  }
}
/*
 * Spec sheet inside the "additional info" tab. A <dl> of label/value rows —
 * the tint is the striping, so rows need no borders of their own, and the
 * label column keeps a fixed share so every value starts on the same line.
 */
.p-specs{
    width: 100%;
    overflow: hidden;
    font-size: 0.875rem;
    line-height: 1.25rem;
  border-radius: var(--border-radius-card);
  border: 1px solid rgba(65, 64, 66, 0.12);
}

@supports (color: color-mix(in lch, red, blue)){
.p-specs{
  border: 1px solid color-mix(in srgb, var(--color-primary) 12%, transparent);
    }
}
.p-specs__row{
    display: grid;
    grid-template-columns: 42% 58%;
    grid-gap: 0.5rem;
    gap: 0.5rem;
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
}
@media (min-width: 768px){
    .p-specs__row{
        grid-template-columns: 30% 70%;
        padding-left: 1rem;
        padding-right: 1rem;
    }
}
.p-specs__row:nth-child(odd) {
  background-color: rgba(65, 64, 66, 0.06);
}

@supports (color: color-mix(in lch, red, blue)){
.p-specs__row:nth-child(odd) {
  background-color: color-mix(in srgb, var(--color-primary) 6%, transparent);
}
}
.p-specs__row dt{
    color: var(--text-secondary);
}
.p-specs__row dd{
    margin: 0px;
    word-wrap: break-word;
    font-weight: 700;
    color: var(--text-primary);
}

salla-add-product-button salla-button > button {
  border-radius: var(--border-radius-button) !important;
}
salla-add-product-button .s-add-product-button-mini-checkout {
  --salla-fast-checkout-button-border-radius: var(--border-radius-button);
}

salla-add-product-button.sticky-product-bar__btn {
  --product-btn-h: 2.5rem;
  --product-btn-pad-x: 0.75rem;
  /* `!important` for the same reason as the radius above. */
}
salla-add-product-button.sticky-product-bar__btn salla-button > button {
  height: var(--product-btn-h) !important;
  padding-left: var(--product-btn-pad-x) !important;
  padding-right: var(--product-btn-pad-x) !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
salla-add-product-button.sticky-product-bar__btn .s-add-product-button-mini-checkout {
  height: var(--product-btn-h);
}

.s-button-icon .s-button-text {
  padding: 1px !important;
  gap: 0.5rem;
}

/* Quantity stepper in the price row (`#c-p-price`) */
.custome-p-price__quantity .form-label{
    margin: 0px;
}
.custome-p-price__quantity salla-quantity-input{
    display: block;
}
.custome-p-price__quantity .s-quantity-input-container{
    display: flex;
    align-items: center;
    gap: 0.25rem;
    border-radius: var(--border-radius-button);
    background-color: var(--store-bg);
    padding: 0.25rem;
  border: 1px solid rgba(65, 64, 66, 0.22);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

@supports (color: color-mix(in lch, red, blue)){
.custome-p-price__quantity .s-quantity-input-container{
  border: 1px solid color-mix(in srgb, var(--color-primary) 22%, transparent);
    }
}
.custome-p-price__quantity .s-quantity-input-container:focus-within {
  border-color: #414042;
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px rgba(65, 64, 66, 0.14);
}

@supports (color: color-mix(in lch, red, blue)){
.custome-p-price__quantity .s-quantity-input-container:focus-within {
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-primary) 14%, transparent);
}
}
.custome-p-price__quantity .s-quantity-input-button{
    display: inline-flex;
    height: 2rem;
    width: 2rem;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    border-radius: var(--border-radius-button);
    border-width: 0px;
    padding: 0px;
  background-color: rgba(65, 64, 66, 0.09);
  color: #414042;
  color: var(--color-primary);
  transition: background-color 0.18s ease, color 0.18s ease, transform 0.12s ease;
}

@supports (color: color-mix(in lch, red, blue)){
.custome-p-price__quantity .s-quantity-input-button{
  background-color: color-mix(in srgb, var(--color-primary) 9%, transparent);
    }
}
.custome-p-price__quantity .s-quantity-input-button svg{
    height: 0.75rem;
    width: 0.75rem;
  fill: currentColor;
}
.custome-p-price__quantity .s-quantity-input-button:hover {
  background-color: #414042;
  background-color: var(--color-primary);
  color: #ff6767;
  color: var(--color-primary-reverse);
}
.custome-p-price__quantity .s-quantity-input-button:active {
  transform: scale(0.92);
}
.custome-p-price__quantity .s-quantity-input-input{
    margin: 0px;
    width: 2.5rem;
    border-width: 0px;
    background-color: transparent;
    padding: 0px;
    text-align: center;
    font-size: 1rem;
    line-height: 1.5rem;
    font-weight: 700;
    color: var(--text-primary);
  box-shadow: none;
  outline: none;
  -moz-appearance: textfield;
}
.custome-p-price__quantity .s-quantity-input-input::-webkit-inner-spin-button, .custome-p-price__quantity .s-quantity-input-input::-webkit-outer-spin-button{
    margin: 0px;
    -webkit-appearance: none;
            appearance: none;
}

/* The component's DOM order is increase · input · decrease, which lands the
   right way round in RTL only — LTR needs the row flipped so `−` leads. */
[dir=ltr] .custome-p-price__quantity .s-quantity-input-container {
  flex-direction: row-reverse;
}

/* `max="1"` already kills the input above; the steps should read dead too. */
.custome-p-price__quantity salla-quantity-input[max="1"] .s-quantity-input-button{
    opacity: 0.4;
  background-color: rgba(65, 64, 66, 0.09);
  color: #414042;
  color: var(--color-primary);
}

@supports (color: color-mix(in lch, red, blue)){
.custome-p-price__quantity salla-quantity-input[max="1"] .s-quantity-input-button{
  background-color: color-mix(in srgb, var(--color-primary) 9%, transparent);
    }
}

/* One row at every width: the quantity stepper keeps its natural width beside
   the buttons, and add-to-cart / quick-buy stack in the rest of the bar, each
   filling it. Salla hard-codes `width: 50%` on both when quick-buy is on, so
   the fill has to be forced. */
section.sticky-product-bar.sticky-p-bar-prime{
    display: flex;
    align-items: stretch;
    justify-content: center;
    gap: 0.5rem;
}
section.sticky-product-bar.sticky-p-bar-prime > * {
  align-self: stretch;
}
section.sticky-product-bar.sticky-p-bar-prime .sticky-product-bar__quantity{
    flex-shrink: 0;
}
section.sticky-product-bar.sticky-p-bar-prime salla-quantity-input,
section.sticky-product-bar.sticky-p-bar-prime .s-quantity-input-container{
    height: 100%;
}
section.sticky-product-bar.sticky-p-bar-prime {
  /* `w-full` in the markup is a percentage of the bar, which a flex row still
     shrinks — the button column claims the leftover width instead. */
}
section.sticky-product-bar.sticky-p-bar-prime salla-add-product-button.sticky-product-bar__btn{
    min-width: 0px;
    flex: 1 1 0%;
}
section.sticky-product-bar.sticky-p-bar-prime .s-add-product-button-main{
    display: flex;
    width: 100%;
    gap: 0.5rem;
}
section.sticky-product-bar.sticky-p-bar-prime .s-add-product-button-main > * {
  width: 100% !important;
}

/* Below sm the merchant's sticky setting turns this same section into the
   fixed bottom bar, which stacks — see the `.is-sticky-product-bar` block near
   the top of this file. The row above outranks it on specificity, so the
   stacking is restored here. */
@media (max-width: 640px) {
  .is-sticky-product-bar section.sticky-product-bar.sticky-p-bar-prime{
        flex-direction: column;
        align-items: center;
    }
}
/* From md up the bar is just an inline row under the price block — the white
   plate it needs as the fixed mobile bar only reads as a stray panel there, so
   it drops out and add-to-cart / quick-buy sit side by side instead of stacked.
   `flex-1` supplies the basis, which outranks the `width: 100%` above. */
@media (min-width: 768px) {
  .sticky-p-bar-prime .s-add-product-button-main {
    flex-direction: row !important;
  }
}
/*
 * Floating product card (`product_page_floating_card_enabled`). Visibility is
 * driven by product.js — it toggles opacity/translate-x/pointer-events on the
 * root, so nothing here may set those.
 */
.custom-product-view{
    row-gap: 0.75rem;
    overflow: hidden;
    border-radius: var(--product-card-radius);
    border-width: 1px;
    padding: 0.75rem;
  background-color: #ffffff;
  background-color: var(--store-bg, #ffffff);
  border-color: #d6d6d6;
  border-color: var(--store-border-color, #d6d6d6);
  color: var(--text-primary);
  box-shadow: 0 10px 30px -12px color-mix(in srgb, var(--text-primary) 30%, transparent), 0 2px 8px -2px color-mix(in srgb, var(--text-primary) 12%, transparent);
}
.custom-product-view__img img{
    height: 5rem;
    width: 100%;
    border-radius: var(--product-card-radius);
    -o-object-fit: contain;
       object-fit: contain;
  /* A tint of the text colour instead of a grey: it has to read as an empty
     slot on a light *and* a dark store background. */
  background-color: color-mix(in srgb, var(--text-primary) 5%, transparent);
}
.custom-product-view__title{
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1.5rem;
  color: var(--text-primary);
}
.custom-product-view__price h2,
.custom-product-view__price h4{
    font-size: 1.125rem;
    line-height: 1.75rem;
}
.custom-product-view__price h2 {
  color: var(--text-primary);
}
.custom-product-view__price span{
    font-size: 0.75rem;
    line-height: 1rem;
}
.custom-product-view {
  /* Sale pair: the live figure takes the store's danger colour, the struck
     original drops to secondary text. */
}
.custom-product-view__price-sale {
  color: #dc2626;
  color: var(--danger, #dc2626);
}
.custom-product-view__price-old {
  color: var(--text-secondary);
}
.custom-product-view {
  /*
   * The footer row: add-to-cart and the fast-checkout widget split it evenly
   * and share one radius. Salla hard-codes `width: 50%` on each — for a flex
   * item `flex-basis` outranks `width`, so the even split has to come from
   * `flex-1`, and `min-w-0` stops the longer label from claiming more. The
   * widget's own button lives in a shadow root and is sized to match by the
   * stylesheet product.js adopts into it.
   */
}
.custom-product-view__btn .s-add-product-button-main{
    width: 100%;
    align-items: stretch;
    gap: 0.5rem;
}
.custom-product-view__btn .s-add-product-button-main > salla-button,
.custom-product-view__btn .s-add-product-button-main > .s-add-product-button-mini-checkout{
    min-width: 0px;
    flex: 1 1 0%;
}
.custom-product-view__btn {
  /* Documented hook for the widget's shadow-DOM button. */
}
.custom-product-view__btn .s-add-product-button-mini-checkout {
  --salla-fast-checkout-button-border-radius: var(--border-radius-button);
}
.custom-product-view__btn button{
    display: flex;
    height: 100%;
    width: 100%;
    align-items: center;
    justify-content: center;
    -moz-column-gap: 0.5rem;
         column-gap: 0.5rem;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
    padding-left: 1rem;
    padding-right: 1rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 700;
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 300ms;
  /* beats `.s-button-btn { border-radius: var(--s-radius) }` regardless of load order */
  border-radius: var(--border-radius-button) !important;
}
.custom-product-view__btn button:not([disabled]):hover{
    --tw-translate-y: -0.125rem;
    transform: translate(var(--tw-translate-x), -0.125rem) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  box-shadow: 0 8px 18px -8px rgba(65, 64, 66, 0.65);
}

@supports (color: color-mix(in lch, red, blue)){
.custom-product-view__btn button:not([disabled]):hover{
  box-shadow: 0 8px 18px -8px color-mix(in srgb, var(--color-primary) 65%, transparent);
    }
}
.custom-product-view__btn button:not([disabled]):active{
    --tw-translate-y: 0px;
    transform: translate(var(--tw-translate-x), 0px) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.custom-product-view__btn i{
    font-size: 1rem;
    line-height: 1.5rem;
    line-height: 1;
}

/*
 * Store features row under the payment icons.
 *
 * Two merchant-selectable skins (`product_page_features_style`): `filled` is a
 * tinted plate, `outline` is the same card hollowed out to a border on the page
 * background. Only the plate colours differ — sizing, hover and icon motion are
 * shared, so the two never drift apart.
 */
.pp-feature__item{
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.75rem;
    border-radius: 0.5rem;
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
  border: 1px solid transparent;
  transition: transform 0.25s ease, border-color 0.25s ease, background-color 0.25s ease, box-shadow 0.25s ease;
  /* A rule of primary that grows out of the inline-start edge on hover — the
     accent has to come from somewhere, and the merchant owns the text colours. */
}
.pp-feature__item::before {
  content: "";
  position: absolute;
  top: 0.5rem;
  bottom: 0.5rem;
  width: 3px;
  --tw-scale-y: 0;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(0);
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  border-radius: 9999px;
}
input[type=radio].sr-only div.pp-feature__item::before {
  transition: all 0.3s;
}
input[type=radio].sr-only:checked ~ div.pp-feature__item::before {
  border-color: var(--color-main);
}
.pp-feature__item::before {
  left: -1px;
  background-color: #414042;
  background-color: var(--color-primary);
  transition: transform 0.3s ease;
}
.pp-feature__item:hover{
    --tw-translate-y: -0.125rem;
    transform: translate(var(--tw-translate-x), -0.125rem) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  border-color: rgba(65, 64, 66, 0.32);
  box-shadow: 0 12px 24px -18px rgba(65, 64, 66, 0.75);
}

@supports (color: color-mix(in lch, red, blue)){
.pp-feature__item:hover{
  border-color: color-mix(in srgb, var(--color-primary) 32%, transparent);
  box-shadow: 0 12px 24px -18px color-mix(in srgb, var(--color-primary) 75%, transparent);
    }
}
.pp-feature__item:hover::before{
    --tw-scale-y: 1;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(1);
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.pp-feature__item .pp-feature__icon{
    display: flex;
    height: 3.5rem;
    width: 3.5rem;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
  /* the pop is on the box so it composes with the float on the glyph itself */
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.pp-feature__item .pp-feature__icon > img{
    height: 100%;
    width: 100%;
    -o-object-fit: contain;
       object-fit: contain;
}
.pp-feature__item .pp-feature__icon > i{
    font-size: 1.875rem;
    line-height: 2.25rem;
    line-height: 1;
  color: #414042;
  color: var(--color-primary);
}
.pp-feature__item .pp-feature__icon > img,
.pp-feature__item .pp-feature__icon > i {
  animation: pp-feature-float 3.4s ease-in-out infinite;
}
.pp-feature__item:hover .pp-feature__icon {
  transform: scale(1.1) rotate(-6deg);
}
.pp-feature__item .pp-feature__content{
    display: flex;
    min-width: 0px;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    row-gap: 0.25rem;
    text-align: left;
}
.pp-feature__item .pp-feature__content:where([dir="ltr"], [dir="ltr"] *){
    text-align: left;
}
.pp-feature__item .pp-feature__content:where([dir="rtl"], [dir="rtl"] *){
    text-align: right;
}
.pp-feature__item .pp-feature__title{
    width: 100%;
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1.5rem;
}
.pp-feature__item .pp-feature__description{
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    font-size: 0.75rem;
    line-height: 1.25rem;
}

/* Staggered so the three cards bob out of phase — in unison it reads as the
   whole row twitching rather than three separate icons. */
.pp-features .pp-feature__item:nth-child(2) .pp-feature__icon > * {
  animation-delay: -1.1s;
}

.pp-features .pp-feature__item:nth-child(3) .pp-feature__icon > * {
  animation-delay: -2.2s;
}

@keyframes pp-feature-float {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-4px);
  }
}
@media (prefers-reduced-motion: reduce) {
  .pp-feature__item .pp-feature__icon > * {
    animation: none;
  }
  .pp-feature__item,
  .pp-feature__item .pp-feature__icon {
    transition: none;
  }
}
/* ── Skin: filled ── tinted with the merchant primary rather than a flat grey,
   so the row belongs to the palette instead of sitting next to it. */
.pp-features--filled .pp-feature__item {
  background-color: rgb(245, 245, 246);
  border-color: rgba(65, 64, 66, 0.12);
}

@supports (color: color-mix(in lch, red, blue)){
.pp-features--filled .pp-feature__item {
  background-color: color-mix(in srgb, var(--color-primary) 5%, var(--store-bg, #fff));
  border-color: color-mix(in srgb, var(--color-primary) 12%, transparent);
}
}

/* ── Skin: outline ── nothing but the border; the page shows through. */
.pp-features--outline .pp-feature__item{
    background-color: transparent;
  border-color: rgba(65, 64, 66, 0.22);
}

@supports (color: color-mix(in lch, red, blue)){
.pp-features--outline .pp-feature__item{
  border-color: color-mix(in srgb, var(--color-primary) 22%, transparent);
    }
}

/*
 * "A customer is checking out now" toast.
 *
 * Pinned to the physical left corner in *both* directions, because the floating
 * product card (`.custom-product-view`) is physically right in both directions
 * too — mirroring this one per direction, as it used to, stacked the two on top
 * of each other on an RTL store.
 *
 * Solid store-background plate, never frosted: it floats over product
 * photography, and anything the page shows through robs a six-second
 * interruption of the contrast it needs. `--text-primary` is the ink that pairs
 * with `--store-bg` everywhere else in the theme, so the toast reads on any
 * merchant palette, light or dark.
 */
.p-checkout-toast{
    pointer-events: none;
    visibility: hidden;
    position: fixed;
    display: flex;
    align-items: center;
    gap: 0.625rem;
    border-radius: 9999px;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
    opacity: 0;
}
.p-checkout-toast:where([dir="ltr"], [dir="ltr"] *){
    padding-left: 0.75rem;
    padding-right: 1.125rem;
}
.p-checkout-toast:where([dir="rtl"], [dir="rtl"] *){
    padding-right: 0.75rem;
    padding-left: 1.125rem;
}
.p-checkout-toast {
  left: 1rem;
  right: auto;
  bottom: 1rem;
  z-index: 999998;
  max-width: calc(100vw - 2rem);
  color: var(--text-primary);
  background: #ffffff;
  background: var(--store-bg, #ffffff);
  border: 1px solid color-mix(in srgb, var(--text-primary) 12%, transparent);
  box-shadow: 0 14px 34px -14px color-mix(in srgb, var(--text-primary) 32%, transparent), 0 2px 6px -2px color-mix(in srgb, var(--text-primary) 12%, transparent);
  transform: translateY(0.75rem) scale(0.96);
  transition: opacity 0.3s ease, transform 0.45s cubic-bezier(0.2, 1.3, 0.4, 1), visibility 0.45s;
}
.p-checkout-toast.is-visible{
    visibility: visible;
    opacity: 1;
}
.p-checkout-toast.is-visible .tooltip-content {
  visibility: visible;
  opacity: 1;
  transform: translate(82px, -110px);
}
[dir=rtl] .icon-trigger.p-checkout-toast.is-visible .tooltip-content {
  transform: translate(53px, -63px);
}
[dir=ltr] .icon-trigger.p-checkout-toast.is-visible .tooltip-content {
  transform: translate(-54px, -65px);
}
@media (max-width: 991px) {
  [dir=rtl] .icon-trigger.mobile-shifted.p-checkout-toast.is-visible .tooltip-content {
    transform: translate(70px, -80px);
  }
  [dir=ltr] .icon-trigger.mobile-shifted.p-checkout-toast.is-visible .tooltip-content {
    transform: translate(-70px, -80px);
  }
}
.p-checkout-toast.is-visible {
  transform: none;
}
.p-checkout-toast [data-checkout-toast-text]{
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.p-checkout-toast__dot{
    position: relative;
    display: block;
    height: 0.625rem;
    width: 0.625rem;
    flex-shrink: 0;
    border-radius: 9999px;
  background: #067647;
  background: var(--success, #067647);
  box-shadow: 0 0 0 3px rgba(6, 118, 71, 0.3);
}

@supports (color: color-mix(in lch, red, blue)){
.p-checkout-toast__dot{
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--success, #067647) 30%, transparent);
    }
}
.p-checkout-toast__dot::after {
  content: "";
  position: absolute;
  top: 0px;
  right: 0px;
  bottom: 0px;
  left: 0px;
  border-radius: 9999px;
}
input[type=radio].sr-only div.p-checkout-toast__dot::after {
  transition: all 0.3s;
}
input[type=radio].sr-only:checked ~ div.p-checkout-toast__dot::after {
  border-color: var(--color-main);
}
.p-checkout-toast__dot::after {
  background: #067647;
  background: var(--success, #067647);
  animation: p-checkout-toast-pulse 1.9s ease-out infinite;
}
@media (max-width: 640px) {
  .is-sticky-product-bar .p-checkout-toast {
    bottom: 6.5rem;
  }
}

@keyframes p-checkout-toast-pulse {
  from {
    opacity: 0.55;
    transform: scale(1);
  }
  to {
    opacity: 0;
    transform: scale(2.8);
  }
}
/*
 * Sentences product.js fills from salla.lang (see initLangSentences). Their
 * chunks are empty markup until the translation lands, so the line is held
 * back for those few frames instead of being shown half-built.
 */
[data-lang-key]{
    opacity: 0;
  transition: opacity 0.25s ease;
}
[data-lang-key].is-ready{
    opacity: 1;
}
[data-lang-key] [data-lang-part]:empty{
    display: none;
}

@media (prefers-reduced-motion: reduce) {
  .p-checkout-toast {
    transition: opacity 0.2s ease, visibility 0.2s;
    transform: none;
  }
  .p-checkout-toast__dot::after {
    animation: none;
  }
}
.s-before-product-info > section {
  margin-top: 0 !important;
  margin-top: initial !important;
}

.index-review-note{
    margin-bottom: 0.25rem;
    font-size: 1rem;
    line-height: 1.5rem;
    font-weight: 500;
  color: var(--text-primary);
  opacity: 0.75;
}

.index-hero {
  position: relative;
  padding-top: max(1.5rem, min(5vw, 3rem));
  padding-bottom: max(1.5rem, min(5vw, 3rem));
  perspective: 2200px;
  z-index: 20;
  margin-top: 0 !important;
  margin-top: initial !important;
  padding-top: 0 !important;
  padding-top: initial !important;
}

.index-hero__stage {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}

@media (min-width: 768px) {
  .index-hero__stage {
    min-height: 420px;
    justify-content: flex-end;
  }
}
.index-hero__content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  width: 100%;
  max-width: 44rem;
  text-align: center;
}

/* ── Search bar  */
.index-hero__search {
  position: relative;
  z-index: 20;
  display: flex;
  align-items: center;
  width: 100%;
  max-width: 44rem;
  margin-top: 0.5rem;
  padding: 0.5rem 0.6rem;
}
.index-hero__search, .index-hero__search::before {
  border-radius: var(--border-radius-button);
}
.index-hero__search salla-search {
  flex: 1 1 auto;
  min-width: 0;
}
.index-hero__search .s-search-modal,
.index-hero__search .s-search-container,
.index-hero__search .s-search-input-wrapper {
  width: 100%;
}
.index-hero__search .s-search-input {
  background-color: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  color: var(--text-primary);
}
.index-hero__search .s-search-input::-moz-placeholder {
  color: var(--text-secondary);
}
.index-hero__search .s-search-input::placeholder {
  color: var(--text-secondary);
}
.index-hero__search .s-search-icon path {
  fill: var(--text-secondary);
}
.index-hero__search .s-search-results {
  border-radius: var(--border-radius-card);
}

/* ── Orbiting service logos ──────────────────────────────────────── */
.index-hero__orbit {
  position: relative;
  height: var(--orbit-zone-h);
  width: 100%;
  margin: 0 0 0.5rem;
  padding: 0;
  list-style: none;
}

@media (min-width: 768px) {
  .index-hero__orbit {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    height: auto;
    margin: 0;
    pointer-events: none;
    transform-style: preserve-3d;
  }
}
.index-hero__icon {
  position: absolute;
  width: var(--orbit-icon-m);
  height: var(--orbit-icon-m);
  left: clamp(var(--orbit-icon-m) / 2, var(--ix-m), 100% - var(--orbit-icon-m) / 2);
  top: clamp(var(--orbit-icon-m) / 2, var(--iy-m), var(--orbit-zone-h) - var(--orbit-icon-m) / 2);
  transform: translate(-50%, -50%);
}

@media (min-width: 768px) {
  .index-hero__icon {
    width: var(--orbit-icon-d);
    height: var(--orbit-icon-d);
    left: clamp(var(--orbit-icon-d) / 2, var(--ix), 100% - var(--orbit-icon-d) / 2);
    top: clamp(var(--orbit-icon-d) / 2, var(--iy), 100% - var(--orbit-icon-d) / 2);
  }
}
.index-hero__icon-motion {
  display: block;
  width: 100%;
  height: 100%;
  opacity: 1;
}

@media (min-width: 768px) {
  .index-hero__icon-motion {
    transform-style: preserve-3d;
    backface-visibility: hidden;
    transform: rotateY(0deg) rotateX(6deg);
    transform: rotateY(var(--orbit-tilt-end, 0deg)) rotateX(6deg);
  }
  .index-hero__icon-motion[data-side=left] {
    --orbit-tilt-end: -24deg;
    --orbit-tilt-start: -60deg;
    --orbit-slide: -48px;
  }
  .index-hero__icon-motion[data-side=right] {
    --orbit-tilt-end: 24deg;
    --orbit-tilt-start: 60deg;
    --orbit-slide: 48px;
  }
  .is-orbit-js:not(.is-orbit-revealed) .index-hero__icon-motion {
    opacity: 0;
    transform: translate(0, 24px) scale(0.5) rotateY(0deg) rotateX(20deg);
    transform: translate(var(--orbit-slide, 0), 24px) scale(0.5) rotateY(var(--orbit-tilt-start, 0deg)) rotateX(20deg);
  }
  .is-orbit-js.is-orbit-revealed .index-hero__icon-motion {
    transition: opacity 0.8s ease-out, transform 1s cubic-bezier(0.16, 1, 0.3, 1);
    transition-delay: 0s;
    transition-delay: var(--orbit-delay, 0s);
  }
}
.index-hero__icon-float {
  width: 100%;
  height: 100%;
  animation: index-hero-float 2.6s ease-in-out infinite alternate;
}

@keyframes index-hero-float {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(-8px);
  }
}
@media (prefers-reduced-motion: reduce) {
  .index-hero__icon-float {
    animation: none;
  }
}
.index-hero__icon-card {
  pointer-events: auto;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: 16px;
}
.index-hero__icon-card img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

@media (min-width: 768px) {
  .index-hero__icon-card {
    border-radius: 22px;
  }
}
/* ── Sub-category chips (enable_sub_category) ────────────────────── */
.index-hero__chips {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem;
  margin-top: 0.25rem;
}

.index-hero__chip {
  display: inline-flex;
  align-items: center;
  padding: 0.4rem 1rem;
  border-radius: 9999px;
  border: 1px solid var(--store-border-color);
  background-color: color-mix(in srgb, var(--text-primary) 8%, transparent);
  color: var(--text-primary);
  font-size: 0.8125rem;
  line-height: 1.4;
  white-space: nowrap;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.index-hero__chip:hover {
  border-color: #414042;
  border-color: var(--color-primary);
}
.index-hero__chip.is-active {
  background-color: #414042;
  background-color: var(--color-primary);
  border-color: #414042;
  border-color: var(--color-primary);
  color: #ff6767;
  color: var(--color-primary-reverse);
}

@media (max-width: 640px) {
  .index-hero__chips {
    flex-wrap: wrap;
    justify-content: center;
    overflow-x: auto;
    scrollbar-width: none;
    padding-left: 0.25rem;
    padding-right: 0.25rem;
  }
  .index-hero__chips::-webkit-scrollbar {
    display: none;
  }
}
#product-filter.form-input {
  color: #414042;
  color: var(--color-primary);
  background-color: #ff6767;
  background-color: var(--color-primary-reverse);
  border-color: #414042;
  border-color: var(--color-primary);
  border-radius: var(--border-radius-button);
  cursor: pointer;
}
#product-filter.form-input:focus {
  border-color: #414042;
  border-color: var(--color-primary);
}
#product-filter.form-input option {
  color: #414042;
  color: var(--color-primary);
  background-color: #ff6767;
  background-color: var(--color-primary-reverse);
}

.sort-select {
  position: relative;
}
.sort-select::after {
  content: "";
  position: absolute;
  right: 0.75rem;
  top: 50%;
  width: 14px;
  height: 14px;
  transform: translateY(-50%);
  pointer-events: none;
  background-color: #ff6767;
  background-color: var(--color-primary-reverse);
  -webkit-mask: var(--sort-select-chevron) center/14px 14px no-repeat;
  mask: var(--sort-select-chevron) center/14px 14px no-repeat;
}
.sort-select {
  --sort-select-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
}

#filters-menu {
  border-radius: var(--border-radius-card);
  /* A hairline drawn from the card's own text colour, so the rail reads as a
     panel on both a dark and a light plate without a second rule. Desktop
     only — on mobile the panel fills the drawer and has no edge to describe. */
}
@media (min-width: 1025px) {
  #filters-menu {
    border: 1px solid color-mix(in srgb, var(--filters-card-text-color) 12%, transparent);
    box-shadow: 0 12px 32px -24px rgba(0, 0, 0, 0.55);
  }
}

.s-filters-footer .s-button-element {
  border-radius: var(--border-radius-button);
}

#filters-menu,
salla-filters-widget,
.s-filters-applied,
.s-filters-widget-container {
  background-color: var(--filters-card-bg);
  color: var(--filters-card-text-color);
}

salla-filters{
    overflow: hidden;
  background-color: var(--filters-card-bg);
  color: var(--filters-card-text-color);
  /* Everything in the panel is derived from the two colours the merchant picks
     in the Theme Editor, so the whole thing survives any card palette — dark
     plate, light plate, tinted plate — without a second set of rules. */
  --f-ink: var(--filters-card-text-color);
  --f-muted: color-mix(in srgb, var(--f-ink) 62%, transparent);
  --f-line: color-mix(in srgb, var(--f-ink) 16%, transparent);
  --f-hover: color-mix(in srgb, var(--f-ink) 8%, transparent);
  --f-selected: color-mix(in srgb, var(--color-primary) 18%, transparent);
  --f-row-radius: 10px;
  --filters-arrow-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  --filters-check-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E");
  --filters-search-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M21 21l-4.3-4.3'/%3E%3C/svg%3E");
}
salla-filters .s-filters-widget-title,
salla-filters .s-filters-label,
salla-filters .s-filters-option-name,
salla-filters .s-filters-widget-more,
salla-filters .s-filters-widget-empty-state,
salla-filters .s-filters-applied-item {
  color: var(--filters-card-text-color);
}
salla-filters {
  /* Search — a pill with the magnifier drawn in, rather than a bare box. The
     icon rides in as a background so it needs no markup the component does not
     already render. */
}
salla-filters .s-filters-widget-search-input{
    border-radius: 9999px;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
  padding-left: 2.25rem;
  padding-right: 0.875rem;
  background-color: color-mix(in srgb, var(--f-ink) 5%, transparent);
  background-image: var(--filters-search-icon);
  background-repeat: no-repeat;
  background-size: 1rem 1rem;
  background-position: right 0.75rem center;
  color: var(--f-ink);
  border-color: var(--f-line);
  transition: border-color 0.18s ease, box-shadow 0.18s ease;
}
[dir=ltr] salla-filters .s-filters-widget-search-input {
  background-position: left 0.75rem center;
}
salla-filters .s-filters-widget-search-input::-moz-placeholder {
  color: var(--f-muted);
}
salla-filters .s-filters-widget-search-input::placeholder {
  color: var(--f-muted);
}
salla-filters .s-filters-widget-search-input:focus {
  border-color: #414042;
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px rgba(65, 64, 66, 0.25);
}

@supports (color: color-mix(in lch, red, blue)){
salla-filters .s-filters-widget-search-input:focus {
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-primary) 25%, transparent);
}
}
salla-filters {
  /* Salla paints the icon black; the mask trick is not available on a field
     that also needs a caret, so it is tinted with a filter instead. */
}
salla-filters .s-filters-widget-search-input::-webkit-search-cancel-button {
  filter: invert(1);
  opacity: 0.5;
}
salla-filters .s-filters-widget-more{
    margin-top: 0.5rem;
    display: inline-block;
    border-radius: 9999px;
    padding-left: 0.625rem;
    padding-right: 0.625rem;
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
    font-size: 0.75rem;
    line-height: 1rem;
    font-weight: 700;
  color: #414042;
  color: var(--color-primary);
  background-color: rgba(65, 64, 66, 0.12);
  transition: background-color 0.18s ease;
}

@supports (color: color-mix(in lch, red, blue)){
salla-filters .s-filters-widget-more{
  background-color: color-mix(in srgb, var(--color-primary) 12%, transparent);
    }
}
salla-filters .s-filters-widget-more:hover {
  background-color: rgba(65, 64, 66, 0.22);
}

@supports (color: color-mix(in lch, red, blue)){
salla-filters .s-filters-widget-more:hover {
  background-color: color-mix(in srgb, var(--color-primary) 22%, transparent);
}
}
salla-filters {
  /* ── Group heading ───────────────────────────────────────────────────────
     The whole row is the toggle, so it gets the height of one. */
}
salla-filters .s-filters-widget-title{
    gap: 0.75rem;
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
    font-size: 0.9375rem;
    font-weight: 700;
  letter-spacing: -0.01em;
}
salla-filters .s-filters-widget-title:hover .s-filters-widget-plusminus {
  background-color: color-mix(in srgb, var(--f-ink) 14%, transparent);
}
salla-filters {
  /* ── Collapse chevron ────────────────────────────────────────────────────
     Salla draws a plus/minus here: two 2px bars, one in `::before` and one in
     `::after`, with the span itself rotated 90deg to stand the first one up.
     We hide the first bar and repurpose the second as a masked chevron.

     Scoped under `salla-filters` on purpose. Salla's rules are single-class and
     land in the document after ours, so a bare `.s-filters-widget-plusminus`
     ties on specificity and loses on order — which is what the `!important`
     reset this replaces was working around. One extra level outranks all of it
     cleanly, and stops the reset's `background: transparent !important` from
     painting the chevron out of existence. */
}
salla-filters .s-filters-widget-plusminus{
    position: relative;
    margin: 0px;
    display: inline-flex;
    height: 1.75rem;
    width: 1.75rem;
    flex: none;
    align-items: center;
    justify-content: center;
    border-radius: 9999px;
  background-color: var(--f-hover);
  transition: background-color 0.2s ease, color 0.2s ease;
  transform: none; /* Salla stands the plus bar up with rotate(90deg) */
}
salla-filters .s-filters-widget-plusminus::before {
  display: none;
}
salla-filters .s-filters-widget-plusminus::after {
  content: "";
  position: static;
  margin: 0px;
  display: block;
  height: 18px;
  width: 18px;
  border-style: none;
  background: currentColor;
  transform: none;
  transition: transform 0.3s ease;
  -webkit-mask: var(--filters-arrow-icon) center/18px 18px no-repeat;
  mask: var(--filters-arrow-icon) center/18px 18px no-repeat;
}
salla-filters {
  /* Closed points down, open points up — the plain dropdown convention. The
     old 270deg was reading against the span's own 90deg, and landed sideways. */
}
salla-filters .s-filters-widget-plusminus-active {
  color: #414042;
  color: var(--color-primary);
  background-color: rgba(65, 64, 66, 0.16);
}

@supports (color: color-mix(in lch, red, blue)){
salla-filters .s-filters-widget-plusminus-active {
  background-color: color-mix(in srgb, var(--color-primary) 16%, transparent);
}
}
salla-filters .s-filters-widget-plusminus-active::after {
  transform: rotate(180deg);
}
salla-filters {
  /* ── The list ────────────────────────────────────────────────────────────
     Rows are plates, not bare text with a control glued to the front: the
     whole width is the target, and the gap moves off the label onto the list
     so the plates sit flush against each other.

     The negative inline margin pulls those plates out to the card's own
     padding, so the option text still lines up with the group heading above
     it — the padding lives on the row now, not on the column. */
}
salla-filters .s-filters-widget-values{
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
    padding-top: 0.75rem;
  margin-left: -0.625rem;
  margin-right: -0.625rem;
}
salla-filters .s-filters-label{
    margin: 0px;
    gap: 0.625rem;
    border-radius: var(--f-row-radius);
    padding-left: 0.625rem;
    padding-right: 0.625rem;
    padding-top: 0.375rem;
    padding-bottom: 0.375rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 500;
  transition: background-color 0.18s ease, color 0.18s ease;
}
salla-filters .s-filters-label:hover {
  background-color: var(--f-hover);
}
salla-filters .s-filters-label {
  /* `:has` rather than a class — the component never marks the selected row,
     it only checks the input inside it. */
}
salla-filters .s-filters-label:has(:checked) {
  background-color: var(--f-selected);
  font-weight: 700;
}
salla-filters {
  /* Salla spaces the control and the text with margins of their own; the row
     is a flex line with a gap now, so they would double up. */
}
salla-filters .s-filters-option-name,
salla-filters .s-filters-label > span{
    margin: 0px;
    line-height: 1.25rem;
  color: var(--f-ink);
}
salla-filters {
  /* ── Checkbox and radio ──────────────────────────────────────────────────
     Native controls painted with `accent-color` came out of the browser's own
     palette and read as grey plastic on a dark card. These are drawn from
     scratch so they carry the store's primary like the rest of the page. */
}
salla-filters .s-filters-checkbox,
salla-filters .s-filters-radio{
    position: relative;
    margin: 0px;
    display: grid;
    height: 1.125rem;
    width: 1.125rem;
    flex-shrink: 0;
    align-content: center;
    justify-content: center;
    place-content: center;
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  background-color: transparent !important;
  border: 1.5px solid color-mix(in srgb, var(--f-ink) 38%, transparent);
  cursor: pointer;
  transition: background-color 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}
salla-filters .s-filters-checkbox:focus-visible,
salla-filters .s-filters-radio:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(65, 64, 66, 0.45);
}

@supports (color: color-mix(in lch, red, blue)){
salla-filters .s-filters-checkbox:focus-visible,
salla-filters .s-filters-radio:focus-visible {
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-primary) 45%, transparent);
}
}
salla-filters .s-filters-checkbox {
  border-radius: 6px;
  /* The tick is a mask, not a baked-in SVG, so it takes whatever colour
     actually contrasts with the merchant's primary. */
}
salla-filters .s-filters-checkbox::after {
  content: "";
  height: 0.75rem;
  width: 0.75rem;
  --tw-scale-x: 0;
  --tw-scale-y: 0;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(0) scaleY(0);
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  background-color: #ff6767;
  background-color: var(--color-primary-reverse, #fff);
  transition: transform 0.18s cubic-bezier(0.34, 1.56, 0.64, 1);
  -webkit-mask: var(--filters-check-icon) center/0.75rem 0.75rem no-repeat;
  mask: var(--filters-check-icon) center/0.75rem 0.75rem no-repeat;
}
salla-filters .s-filters-checkbox:checked {
  background-color: #414042 !important;
  background-color: var(--color-primary) !important;
  border-color: #414042;
  border-color: var(--color-primary);
}
salla-filters .s-filters-checkbox:checked::after{
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(1) scaleY(1);
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
salla-filters .s-filters-radio {
  border-radius: 999px;
  /* The dot is an inset ring of the card's own background rather than a
     pseudo-element — one less thing to position, and it cannot drift. */
}
salla-filters .s-filters-radio:checked {
  background-color: #414042 !important;
  background-color: var(--color-primary) !important;
  border-color: #414042;
  border-color: var(--color-primary);
  box-shadow: inset 0 0 0 3.5px var(--filters-card-bg);
}
salla-filters .s-filters-radio {
  /* Salla draws its own dot at a fixed offset, sized for its own box. */
}
salla-filters .s-filters-radio::after {
  content: none !important;
}
salla-filters salla-price-range {
  color: var(--filters-card-text-color);
  /* Salla hard-codes `width: 6rem` on each field, which with the gap and the
     go button overflows the 18rem rail. They share what there is instead. */
}
salla-filters salla-price-range .s-price-range-relative{
    min-width: 0px;
    flex: 1 1 0%;
}
salla-filters salla-price-range .s-price-range-inputs{
    gap: 0.375rem;
    padding-top: 0.75rem;
}
salla-filters salla-price-range .s-price-range-number-input{
    width: 100%;
    border-radius: 10px;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
  background-color: color-mix(in srgb, var(--f-ink) 5%, transparent);
  color: var(--f-ink);
  border-color: var(--f-line);
  transition: border-color 0.18s ease, box-shadow 0.18s ease;
}
salla-filters salla-price-range .s-price-range-number-input::-moz-placeholder {
  color: var(--f-muted);
}
salla-filters salla-price-range .s-price-range-number-input::placeholder {
  color: var(--f-muted);
}
salla-filters salla-price-range .s-price-range-number-input:focus {
  border-color: #414042;
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px rgba(65, 64, 66, 0.25);
}

@supports (color: color-mix(in lch, red, blue)){
salla-filters salla-price-range .s-price-range-number-input:focus {
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-primary) 25%, transparent);
}
}
salla-filters salla-price-range .s-price-range-number-input {
  /* The spinners fight a field this narrow for room. */
}
salla-filters salla-price-range .s-price-range-number-input::-webkit-outer-spin-button, salla-filters salla-price-range .s-price-range-number-input::-webkit-inner-spin-button{
    margin: 0px;
    -webkit-appearance: none;
            appearance: none;
}
salla-filters salla-price-range .s-price-range-number-input {
  -webkit-appearance: textfield;
          appearance: textfield;
  -moz-appearance: textfield;
}
salla-filters salla-price-range .s-price-range-currency,
salla-filters salla-price-range .s-price-range-gray-text{
    font-size: 0.75rem;
    line-height: 1rem;
  color: var(--f-muted);
}
salla-filters salla-price-range .s-button-element{
    height: 2.25rem;
    width: 2.25rem;
    flex-shrink: 0;
    border-radius: 10px;
    border-style: none;
  background-color: #414042;
  background-color: var(--color-primary);
  color: #ff6767;
  color: var(--color-primary-reverse, #fff);
  transition: filter 0.18s ease;
}
salla-filters salla-price-range .s-button-element:hover {
  filter: brightness(1.12);
}
salla-filters salla-price-range .s-button-element svg{
    height: 1rem;
    width: 1rem;
  fill: currentColor;
}
salla-filters .s-filters-widget-container{
    position: relative;
    border-style: none;
  border-radius: 0;
  border-radius: initial;
}
salla-filters .s-filters-widget-container::after {
  content: "";
  position: absolute;
  bottom: 0px;
  left: 50%;
  height: 1px;
  width: 90%;
  --tw-translate-x: -50%;
  transform: translate(-50%, var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
input[type=radio].sr-only divsalla-filters .s-filters-widget-container::after {
  transition: all 0.3s;
}
input[type=radio].sr-only:checked ~ divsalla-filters .s-filters-widget-container::after {
  border-color: var(--color-main);
}
salla-filters .s-filters-widget-container::after {
  background-color: color-mix(in srgb, var(--filters-card-text-color) 20%, transparent);
}
salla-filters .s-filters-widget-container:last-child::after, salla-filters .s-filters-widget-container:last-of-type::after {
  content: none !important;
  display: none !important;
}

.mm-ocd__content:has(#filters-menu),
.mm-ocd__content:has(salla-filters) {
  background-color: var(--filters-card-bg);
  color: var(--filters-card-text-color);
}

.s-filters-footer {
  display: flex;
  flex-direction: column-reverse;
  gap: 10px;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-bottom: 1.25rem;
}
.s-filters-footer.is-empty {
  display: none;
}

.t-apply-filters {
  margin: 0 !important;
  margin: initial !important;
  margin-top: 1rem !important;
}

.t-apply-filters.glow-button {
  --button-background: var(--filters-apply-btn-color);
  --button-ring: var(--filters-apply-btn-color);
  --button-ring-size: 1.5px;
  width: 100%;
}
.t-apply-filters.glow-button > span {
  width: 100%;
}
.t-apply-filters.glow-button[disabled] {
  opacity: 0.7;
  pointer-events: none;
}

/* Category Filter Toggle Button & Collapse Container */
#toggle-filter-btn {
  border-radius: var(--border-radius-button);
}

#filter-collapse-container {
  max-height: 2000px;
  opacity: 1;
  transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease-in-out;
}
#filter-collapse-container.collapsed {
  max-height: 0 !important;
  opacity: 0 !important;
  pointer-events: none;
}

/*
 * Single-option rows on the product page — the duration / subscription picker.
 */
.product-form .s-product-options-option[data-option-type=single-option] .s-product-options-grid-mode{
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    grid-gap: 0.5rem;
    gap: 0.5rem;
}
.product-form .s-product-options-option[data-option-type=single-option] .s-product-options-grid-mode > label{
    position: relative;
    margin: 0px;
    display: block;
    width: 100%;
    cursor: pointer;
}
.product-form .s-product-options-option[data-option-type=single-option] .s-product-options-grid-mode > label * {
  pointer-events: none;
}
.product-form .s-product-options-option[data-option-type=single-option] .s-product-options-grid-mode label input + .s-product-options-grid-mode-span{
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding-left: 1rem;
    padding-right: 1rem;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 700;
  min-height: 3rem;
  color: var(--text-primary);
  border: 1px solid color-mix(in srgb, var(--text-primary) 12%, transparent);
  border-radius: var(--border-radius-card);
  background-color: color-mix(in srgb, var(--text-primary) 4%, transparent);
  transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}
.product-form .s-product-options-option[data-option-type=single-option] .s-product-options-grid-mode label:hover input + .s-product-options-grid-mode-span {
  border-color: color-mix(in srgb, var(--store-brand-color) 45%, transparent);
}
.product-form .s-product-options-option[data-option-type=single-option] .s-product-options-grid-mode {
  /* last, so it ties with :hover on specificity and order decides */
}
.product-form .s-product-options-option[data-option-type=single-option] .s-product-options-grid-mode label input:checked + .s-product-options-grid-mode-span {
  border-color: var(--store-brand-color);
  background-color: color-mix(in srgb, var(--store-brand-color) 14%, transparent);
  color: var(--store-brand-color);
}
.product-form {
  /* ── The slots product.js fills ─────────────────────────────────────────── */
}
.product-form .p-option__prices{
    display: flex;
    flex-shrink: 0;
    align-items: baseline;
    gap: 0.5rem;
}
.product-form .p-option__price{
    font-size: 1rem;
    line-height: 1.5rem;
    font-weight: 700;
  color: var(--store-brand-color);
}
.product-form .p-option__was{
    font-size: 0.75rem;
    line-height: 1rem;
    text-decoration-line: line-through;
}
.cart-item__price.product-form .p-option__was {
  font-size: 0.85rem;
  font-weight: 500;
  opacity: 0.6;
}
.product-form .p-option__was {
  color: var(--text-secondary);
}
.product-form {
  /* A corner tag rather than a floating pill: it sits into the row's leading
     corner, so the outer two corners follow the row's own radius and only the
     inner one rounds off into the card. Physical corners with `rtl:`/`ltr:`
     because postcss-preset-env flattens the logical ones to LTR in this build. */
}
.product-form .p-option__off{
    position: absolute;
    top: 0px;
    padding-left: 0.375rem;
    padding-right: 0.375rem;
    padding-top: 0.125rem;
    padding-bottom: 0.125rem;
    font-size: 10px;
    font-weight: 700;
    line-height: 1;
}
input[type=radio].sr-only div.product-form .p-option__off {
  transition: all 0.3s;
}
input[type=radio].sr-only:checked ~ div.product-form .p-option__off {
  border-color: var(--color-main);
}
.product-form .p-option__off:where([dir="ltr"], [dir="ltr"] *){
    left: 0px;
    border-top-left-radius: var(--border-radius-card);
    border-bottom-right-radius: var(--border-radius-card);
}
.product-form .p-option__off:where([dir="rtl"], [dir="rtl"] *){
    right: 0px;
    border-top-right-radius: var(--border-radius-card);
    border-bottom-left-radius: var(--border-radius-card);
}
.product-form .p-option__off {
  background-color: #414042;
  background-color: var(--color-primary);
  color: #ff6767;
  color: var(--color-primary-reverse);
}

/*
 * Empty state inside a product tab — currently the description panel, when the
 * merchant has not written one. A dashed plate rather than a filled card, so it
 * reads as an absence rather than as content: the same treatment
 * `.blog-reviews__empty` gives a post with no reviews.
 *
 * Every colour is a store token, and the copy is `trans()`, never baked in.
 */
.p-empty{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    text-align: center;
  padding: max(1.75rem, min(5vw, 3rem)) 1.25rem;
  border: 1px dashed var(--store-border-color);
  border-radius: var(--border-radius-card);
  background-color: rgba(65, 64, 66, 0.04);
}

@supports (color: color-mix(in lch, red, blue)){
.p-empty{
  background-color: color-mix(in srgb, var(--color-primary) 4%, transparent);
    }
}
.p-empty__icon{
    display: flex;
    height: 3rem;
    width: 3rem;
    align-items: center;
    justify-content: center;
    border-radius: 9999px;
    font-size: 1.5rem;
    line-height: 2rem;
  color: #414042;
  color: var(--color-primary);
  background-color: rgba(65, 64, 66, 0.12);
}

@supports (color: color-mix(in lch, red, blue)){
.p-empty__icon{
  background-color: color-mix(in srgb, var(--color-primary) 12%, transparent);
    }
}
.p-empty__title{
    font-size: 1rem;
    line-height: 1.5rem;
    font-weight: 700;
  color: var(--text-primary);
}
.p-empty__text{
    max-width: 24rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
  color: var(--text-secondary);
}

/* ── Button loaders ────────────────────────────────
 *
 * salla-button only centres its spinner for `shape="icon"`, and it does it with
 * a `top/left: 50%` plus a `--tw-translate-*: -50%` pair. Everything else —
 * the add-to-cart button included — renders `.s-button-loader` inline beside
 * the label (`loaderPosition: 'after'`, `margin-inline: .5rem`), so on the
 * theme's full-width buttons the spinner sat off to one side.
 *
 * Both cases are pinned to the button's own centre here: the loader goes
 * absolute over the control and the label fades out underneath it, so the two
 * never overlap. `transform` is set outright rather than through the tailwind
 * variable chain the component builds its own from — zeroing those variables
 * (what this block used to do) cancelled the -50% offsets and parked the
 * spinner below and to the side of the centre instead.
 */
salla-add-product-button .s-button-btn,
salla-add-product-button button.s-button-element,
.btn--wishlist .s-button-btn,
.btn--wishlist button.s-button-element,
.s-product-card-wishlist-btn .s-button-btn,
.s-product-card-wishlist-btn button.s-button-element,
.qv-wishlist-btn .s-button-btn,
.qv-wishlist-btn button.s-button-element,
.p_c_wishlist-btn .s-button-btn,
.p_c_wishlist-btn button.s-button-element {
  position: relative;
}
salla-add-product-button .s-button-loader,
.btn--wishlist .s-button-loader,
.s-product-card-wishlist-btn .s-button-loader,
.qv-wishlist-btn .s-button-loader,
.p_c_wishlist-btn .s-button-loader {
  position: absolute;
  top: 50%;
  left: 50%;
  margin: 0 !important;
  transform: translate(-50%, -50%) !important;
}
salla-add-product-button,
.btn--wishlist,
.s-product-card-wishlist-btn,
.qv-wishlist-btn,
.p_c_wishlist-btn {
  /* `loading` lands on the salla-button host and on the <button> it renders */
}
salla-add-product-button[loading] .s-button-text,
salla-add-product-button [loading] .s-button-text,
.btn--wishlist[loading] .s-button-text,
.btn--wishlist [loading] .s-button-text,
.s-product-card-wishlist-btn[loading] .s-button-text,
.s-product-card-wishlist-btn [loading] .s-button-text,
.qv-wishlist-btn[loading] .s-button-text,
.qv-wishlist-btn [loading] .s-button-text,
.p_c_wishlist-btn[loading] .s-button-text,
.p_c_wishlist-btn [loading] .s-button-text {
  opacity: 0;
}

.content--single-page {
  background-color: transparent !important;
}

.content--single-page .s-comments .s-comment-form-input {
  border: 1px solid var(--store-border-color);
  padding: 5px;
}
.content--single-page .s-comments .s-comment-form-input:focus {
  border: 1px solid var(--store-brand-color);
}

/**
 * Product Tabs (home.B_product_tabs)
 * ----------------------------------
 * Skin for the home tabs block, which is built on Salla's `<salla-tabs>` trio.
 * The component owns selection and renders its own scaffolding:
 *
 *   salla-tabs > .s-tabs > .s-tabs-header          > salla-tab-header
 *                                                     └─ .s-tabs-header-item
 *                        > .s-tabs-content-wrapper > salla-tab-content
 *                                                     └─ .s-tabs-content
 *
 * The active header carries `.s-tabs-active`; the visible panel carries
 * `.s-tabs-content-selected` (Salla's own rule flips it between `display:none`
 * and `display:block`).
 *
 * Twilight's stock skin is folder tabs — `.s-tabs-header-item` is
 * `bg-gray-200 rounded-t-lg`, `.s-tabs-active` is `bg-primary text-white`, and
 * the strip carries a full-width `border-b-2 border-primary`. The base block
 * below neutralises that once, then one of three merchant-picked shapes
 * (`tab_shape`) dresses it: buttons | toggle | underline. Salla's rules are all
 * single-class, so `.s-block--product-tabs <class>` outranks them without
 * `!important` — same approach as `.p-tabs` in 04-components/product.scss.
 *
 * Every colour derives from the theme's own tokens so light and dark palettes
 * both read correctly.
 */
.s-block--product-tabs salla-tabs,
.s-block--product-tabs .s-tabs{
    display: block;
    min-width: 0px;
    max-width: 100%;
}
.s-block--product-tabs .s-tabs-header{
    position: relative;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    width: -moz-max-content;
    width: max-content;
    max-width: 100%;
    flex-wrap: nowrap;
    align-items: stretch;
    justify-content: flex-start;
    overflow-x: auto;
    overflow-y: hidden;
    padding-top: 0.375rem;
    padding-bottom: 0.375rem;
  border-bottom: 0;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  touch-action: pan-x pan-y;
}
.s-block--product-tabs .s-tabs-header::-webkit-scrollbar{
    display: none;
}
.s-block--product-tabs .s-tabs-header > :not([hidden]) ~ :not([hidden]) {
  margin-left: 0;
  margin-right: 0;
}
.s-block--product-tabs salla-tab-header{
    display: flex;
    flex-shrink: 0;
    cursor: pointer;
}
.s-block--product-tabs salla-tab-header * {
  pointer-events: none;
}
.s-block--product-tabs salla-tab-header:focus{
    outline: 2px solid transparent;
    outline-offset: 2px;
}
.s-block--product-tabs salla-tab-header:focus-visible .s-tabs-header-item {
  outline: 2px solid #414042;
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}
.s-block--product-tabs .s-tabs-header-item{
    position: relative;
    display: flex;
    height: 100%;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    border-radius: 0px;
    background-color: transparent;
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 700;
    color: var(--text-secondary);
  transition: color 0.25s ease, background-color 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
}
.s-block--product-tabs salla-tab-header:hover .s-tabs-header-item:not(.s-tabs-active){
    color: var(--text-primary);
}
.s-block--product-tabs--buttons .s-tabs-header{
    flex-wrap: nowrap;
    gap: 0.5rem;
}
@media (min-width: 768px){
    .s-block--product-tabs--buttons .s-tabs-header{
        width: auto;
        flex-wrap: wrap;
        justify-content: center;
    }
}
.s-block--product-tabs--buttons .s-tabs-header-item{
    border-radius: 9999px;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
  border: 1px solid rgba(65, 64, 66, 0.16);
}

@supports (color: color-mix(in lch, red, blue)){
.s-block--product-tabs--buttons .s-tabs-header-item{
  border: 1px solid color-mix(in srgb, var(--color-primary) 16%, transparent);
    }
}
.s-block--product-tabs--buttons salla-tab-header:hover .s-tabs-header-item:not(.s-tabs-active) {
  border-color: rgba(65, 64, 66, 0.34);
}

@supports (color: color-mix(in lch, red, blue)){
.s-block--product-tabs--buttons salla-tab-header:hover .s-tabs-header-item:not(.s-tabs-active) {
  border-color: color-mix(in srgb, var(--color-primary) 34%, transparent);
}
}
.s-block--product-tabs--buttons .s-tabs-active {
  background-color: #414042;
  background-color: var(--color-primary);
  border-color: #414042;
  border-color: var(--color-primary);
  color: #ff6767;
  color: var(--color-primary-reverse);
}
.s-block--product-tabs--toggle .s-tabs-header{
    gap: 0.25rem;
    border-radius: 9999px;
    padding: 0.25rem;
  background-color: rgb(242, 242, 242);
  border: 1px solid rgba(65, 64, 66, 0.12);
}

@supports (color: color-mix(in lch, red, blue)){
.s-block--product-tabs--toggle .s-tabs-header{
  background-color: color-mix(in srgb, var(--color-primary) 7%, var(--store-bg, #fff));
  border: 1px solid color-mix(in srgb, var(--color-primary) 12%, transparent);
    }
}
.s-block--product-tabs--toggle .s-tabs-header-item{
    border-radius: 9999px;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
}
.s-block--product-tabs--toggle salla-tab-header:hover .s-tabs-header-item:not(.s-tabs-active) {
  background-color: rgba(65, 64, 66, 0.09);
}

@supports (color: color-mix(in lch, red, blue)){
.s-block--product-tabs--toggle salla-tab-header:hover .s-tabs-header-item:not(.s-tabs-active) {
  background-color: color-mix(in srgb, var(--color-primary) 9%, transparent);
}
}
.s-block--product-tabs--toggle .s-tabs-active {
  background-color: #414042;
  background-color: var(--color-primary);
  color: #ff6767;
  color: var(--color-primary-reverse);
  box-shadow: 0 8px 18px -10px rgba(65, 64, 66, 0.85);
}

@supports (color: color-mix(in lch, red, blue)){
.s-block--product-tabs--toggle .s-tabs-active {
  box-shadow: 0 8px 18px -10px color-mix(in srgb, var(--color-primary) 85%, transparent);
}
}
.s-block--product-tabs--underline .s-tabs-header{
    gap: 1.5rem;
}
@media (min-width: 768px){
    .s-block--product-tabs--underline .s-tabs-header{
        gap: 2.5rem;
    }
}
.s-block--product-tabs--underline .s-tabs-header {
  border-bottom: 1px solid rgba(65, 64, 66, 0.16);
}

@supports (color: color-mix(in lch, red, blue)){
.s-block--product-tabs--underline .s-tabs-header {
  border-bottom: 1px solid color-mix(in srgb, var(--color-primary) 16%, transparent);
}
}
.s-block--product-tabs--underline .s-tabs-header-item{
    padding-left: 0.25rem;
    padding-right: 0.25rem;
    padding-bottom: 0.75rem;
    padding-top: 0.5rem;
}
.s-block--product-tabs--underline .s-tabs-header-item::after {
  content: "";
  position: absolute;
  left: 0px;
  right: 0px;
  height: 0.125rem;
  --tw-scale-x: 0;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(0) scaleY(var(--tw-scale-y));
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  border-radius: 9999px;
}
input[type=radio].sr-only div.s-block--product-tabs--underline .s-tabs-header-item::after {
  transition: all 0.3s;
}
input[type=radio].sr-only:checked ~ div.s-block--product-tabs--underline .s-tabs-header-item::after {
  border-color: var(--color-main);
}
.s-block--product-tabs--underline .s-tabs-header-item::after {
  bottom: -1px;
  background-color: #414042;
  background-color: var(--color-primary);
  transition: transform 0.3s ease;
}
.s-block--product-tabs--underline .s-tabs-active {
  color: #414042;
  color: var(--color-primary);
}
.s-block--product-tabs--underline .s-tabs-active::after{
    --tw-scale-x: 1;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(1) scaleY(var(--tw-scale-y));
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.s-block--product-tabs--no-arrows .s-slider-block__title{
    display: none;
}
.s-block--product-tabs .s-tabs-content-wrapper{
    padding-left: 0px;
    padding-right: 0px;
    padding-bottom: 0px;
    padding-top: 1.5rem;
  transition: min-height 0.3s ease;
}
.s-block--product-tabs .product-tab-content{
    display: block;
    width: 100%;
    outline: 2px solid transparent;
    outline-offset: 2px;
}
.s-block--product-tabs .product-tab-content.is-entering {
  animation: product-tabs-enter 0.35s cubic-bezier(0.22, 1, 0.36, 1) both;
}
.s-block--product-tabs .product-tabs__empty{
    display: none;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding-left: 1rem;
    padding-right: 1rem;
    padding-top: 3rem;
    padding-bottom: 3rem;
    text-align: center;
}
.s-block--product-tabs .product-tab-content.is-empty .product-tabs__empty{
    display: flex;
}
.s-block--product-tabs .product-tab-content.is-empty .product-tabs__body{
    display: none;
}
.s-block--product-tabs .product-tabs__empty-icon{
    margin-bottom: 0.25rem;
    font-size: 1.875rem;
    line-height: 2.25rem;
  color: rgba(65, 64, 66, 0.45);
}

@supports (color: color-mix(in lch, red, blue)){
.s-block--product-tabs .product-tabs__empty-icon{
  color: color-mix(in srgb, var(--color-primary) 45%, transparent);
    }
}
.s-block--product-tabs .product-tabs__empty-text{
    margin: 0px;
    font-size: 1rem;
    line-height: 1.5rem;
    font-weight: 700;
    color: var(--text-primary);
}
.s-block--product-tabs .product-tabs__empty-hint{
    margin: 0px;
    font-size: 0.875rem;
    line-height: 1.25rem;
    color: var(--text-secondary);
}
.s-block--product-tabs .product-tabs__skeleton{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-gap: 1rem;
    gap: 1rem;
}
@media (min-width: 768px){
    .s-block--product-tabs .product-tabs__skeleton{
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}
.s-block--product-tabs .product-tabs__skeleton-card{
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}
.s-block--product-tabs .product-tabs__skeleton-card:nth-child(n+3){
    display: none;
}
@media (min-width: 768px){
    .s-block--product-tabs .product-tabs__skeleton-card:nth-child(n+3){
        display: flex;
    }
}
.s-block--product-tabs .product-tabs__skeleton-img,
.s-block--product-tabs .product-tabs__skeleton-line{
    display: block;
    border-radius: 0.5rem;
  background: linear-gradient(90deg, rgba(65, 64, 66, 0.07) 25%, rgba(65, 64, 66, 0.14) 37%, rgba(65, 64, 66, 0.07) 63%);
  background-size: 400% 100%;
  animation: product-tabs-shimmer 1.4s ease infinite;
}

@supports (color: color-mix(in lch, red, blue)){
.s-block--product-tabs .product-tabs__skeleton-img,
.s-block--product-tabs .product-tabs__skeleton-line{
  background: linear-gradient(90deg, color-mix(in srgb, var(--color-primary) 7%, transparent) 25%, color-mix(in srgb, var(--color-primary) 14%, transparent) 37%, color-mix(in srgb, var(--color-primary) 7%, transparent) 63%);
  background-size: 400% 100%;
    }
}
.s-block--product-tabs .product-tabs__skeleton-img{
    aspect-ratio: 1 / 1;
    width: 100%;
}
.s-block--product-tabs .product-tabs__skeleton-line{
    height: 0.75rem;
    width: 100%;
    border-radius: .75rem;
}
.s-block--product-tabs .product-tabs__skeleton-line--short{
    width: 50%;
}
.s-block--product-tabs .product-tabs__show-all{
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-weight: 700;
}
.s-block--product-tabs .product-tabs__show-all i{
    font-size: 0.875rem;
    line-height: 1.25rem;
    transition-property: transform;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 300ms;
}
.s-block--product-tabs .product-tabs__show-all:hover i:where([dir="ltr"], [dir="ltr"] *){
    --tw-translate-x: 0.25rem;
    transform: translate(0.25rem, var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.s-block--product-tabs .product-tabs__show-all:hover i:where([dir="rtl"], [dir="rtl"] *){
    --tw-translate-x: -0.25rem;
    transform: translate(-0.25rem, var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

@keyframes product-tabs-enter {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes product-tabs-shimmer {
  from {
    background-position: 100% 50%;
  }
  to {
    background-position: 0 50%;
  }
}
@media (prefers-reduced-motion: reduce) {
  .s-block--product-tabs .s-tabs-header-item,
  .s-block--product-tabs .s-tabs-header-item::after,
  .s-block--product-tabs .s-tabs-content-wrapper {
    transition: none;
  }
  .s-block--product-tabs .product-tab-content.is-entering,
  .s-block--product-tabs .product-tabs__skeleton-img,
  .s-block--product-tabs .product-tabs__skeleton-line {
    animation: none;
  }
}
/*
 * Quick view (`partials/quickView.js`).
 *
 * The modal prints the product page's details column with the product page's
 * classes, so almost everything it looks like comes from 04-components/product.scss
 * — the brand plate, the availability dot, the social-proof strip, the discount
 * chips, the countdown, the quantity stepper. What is left, and all that lives
 * here, is the modal chrome plus the handful of places where a dialog cannot
 * behave like a page: the two-column split, the actions row pinned to the bottom
 * of the dialog's own scroller, and the link out to the full page.
 *
 * Colours resolve from the same custom properties the page uses
 * (`--store-bg`, `--store-border-color`, `--text-primary`, `--color-primary`,
 * `--product-card-radius`), so a merchant palette change carries through.
 */
/* Body keeps its scroll position but stops scrolling; quickView.js also pauses
   Lenis, which drives the page independently of `overflow`. */
body.qv-open{
    overflow: hidden;
}

.qv-modal{
    visibility: hidden;
    position: fixed;
    top: 0px;
    right: 0px;
    bottom: 0px;
    left: 0px;
    z-index: 1000;
    opacity: 0;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.qv-modal.is-open{
    visibility: visible;
    opacity: 1;
}
.qv-modal.is-open .tooltip-content {
  visibility: visible;
  opacity: 1;
  transform: translate(82px, -110px);
}
[dir=rtl] .icon-trigger.qv-modal.is-open .tooltip-content {
  transform: translate(53px, -63px);
}
[dir=ltr] .icon-trigger.qv-modal.is-open .tooltip-content {
  transform: translate(-54px, -65px);
}
@media (max-width: 991px) {
  [dir=rtl] .icon-trigger.mobile-shifted.qv-modal.is-open .tooltip-content {
    transform: translate(70px, -80px);
  }
  [dir=ltr] .icon-trigger.mobile-shifted.qv-modal.is-open .tooltip-content {
    transform: translate(-70px, -80px);
  }
}

.qv-modal__backdrop{
    position: absolute;
    top: 0px;
    right: 0px;
    bottom: 0px;
    left: 0px;
}

input[type=radio].sr-only div.qv-modal__backdrop {
  transition: all 0.3s;
}

input[type=radio].sr-only:checked ~ div.qv-modal__backdrop {
  border-color: var(--color-main);
}

.qv-modal__backdrop {
  background: color-mix(in srgb, var(--text-primary) 55%, transparent);
  backdrop-filter: blur(3px);
}

/* Scrolls the whole dialog on short viewports, where `max-height` alone would
   trap the bottom of a tall product out of reach. */
.qv-modal__wrapper{
    position: absolute;
    top: 0px;
    right: 0px;
    bottom: 0px;
    left: 0px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow-y: auto;
    padding: 0.75rem;
}
input[type=radio].sr-only div.qv-modal__wrapper {
  transition: all 0.3s;
}
input[type=radio].sr-only:checked ~ div.qv-modal__wrapper {
  border-color: var(--color-main);
}
@media (min-width: 640px){
    .qv-modal__wrapper{
        padding: 1.25rem;
    }
}

.qv-modal__dialog{
    position: relative;
    margin-top: auto;
    margin-bottom: auto;
    display: flex;
    width: 100%;
    max-width: 64rem;
    flex-direction: column;
    overflow-y: auto;
    overflow-x: hidden;
    border-width: 1px;
    padding: 1rem;
}

@media (min-width: 640px){
    .qv-modal__dialog{
        padding: 1.25rem;
    }
}

.qv-modal__dialog {
  max-height: calc(100vh - 1.5rem);
  color: var(--text-primary);
  background: var(--store-bg);
  border-color: var(--store-border-color);
  border-radius: 8px;
  border-radius: var(--product-card-radius, 8px);
  box-shadow: 0 24px 60px color-mix(in srgb, var(--text-primary) 25%, transparent);
  transform: translateY(1rem) scale(0.97);
  transition: transform 0.3s ease;
}
.qv-modal.is-open .qv-modal__dialog {
  transform: none;
}
@media (min-width: 640px) {
  .qv-modal__dialog {
    max-height: calc(100vh - 2.5rem);
  }
}
.qv-modal__dialog {
  /* The dialog is its own scroller, so the page-wide scrollbar from
     layouts/variables.twig ran straight through the rounded corners. The track
     is inset by the radius at both ends and drawn without a plate, so only a
     slim rounded thumb shows, clear of the curve. */
  scrollbar-width: thin;
  scrollbar-color: var(--color-primary-light) transparent;
}
.qv-modal__dialog::-webkit-scrollbar {
  width: 6px;
}
.qv-modal__dialog::-webkit-scrollbar-track {
  background: transparent;
  margin-top: 8px;
  margin-bottom: 8px;
  margin-top: var(--product-card-radius, 8px);
  margin-bottom: var(--product-card-radius, 8px);
}
.qv-modal__dialog::-webkit-scrollbar-thumb {
  border-radius: 9999px;
}

/* Rides along as the dialog scrolls — a product with many options is a long
   scroller, and a close button that scrolls away strands the shopper. The
   dialog is a flex column, so `self-end` is what puts it on the trailing side. */
.qv-modal__close{
    position: sticky;
    top: 0px;
    z-index: 20;
    display: flex;
    height: 2.25rem;
    width: 2.25rem;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    align-self: flex-end;
    border-radius: 9999px;
    border-width: 1px;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
  color: var(--text-primary);
  background: var(--store-bg);
  border-color: var(--store-border-color);
}
.qv-modal__close:hover {
  color: #ff6767;
  color: var(--color-primary-reverse);
  background: #414042;
  background: var(--color-primary);
  border-color: #414042;
  border-color: var(--color-primary);
}
.qv-modal__close i{
    font-size: 1.125rem;
    line-height: 1.75rem;
    line-height: 1;
}

.qv-modal__loading{
    display: flex;
    min-height: 320px;
    align-items: center;
    justify-content: center;
  /* `display:flex` above and Tailwind's `[hidden]{display:none}` carry the same
     specificity, and this file is loaded later — so the spinner has to be told
     to obey the attribute quickView.js sets once the product has rendered. */
}
.qv-modal__loading[hidden]{
    display: none;
}

.qv-modal__spinner{
    display: block;
    height: 2.75rem;
    width: 2.75rem;
    border-radius: 9999px;
  border: 3px solid rgba(65, 64, 66, 0.2);
  border-top-color: #414042;
  border-top-color: var(--color-primary);
  animation: qv-spin 0.8s linear infinite;
}

@supports (color: color-mix(in lch, red, blue)){
.qv-modal__spinner{
  border: 3px solid color-mix(in srgb, var(--color-primary) 20%, transparent);
  border-top-color: #414042;
  border-top-color: var(--color-primary);
    }
}

@keyframes qv-spin {
  to {
    transform: rotate(1turn);
  }
}
@media (prefers-reduced-motion: reduce) {
  .qv-modal,
  .qv-modal__dialog {
    transition: none;
  }
  .qv-modal__spinner {
    animation-duration: 2.4s;
  }
}
/* ── Content ─────────────────────────────────────────────────────────────── */
.qv-product{
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    align-items: flex-start;
    grid-gap: 1rem;
    gap: 1rem;
}
@media (min-width: 768px){
    .qv-product{
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (min-width: 1024px){
    .qv-product{
        gap: 1.5rem;
    }
}

/* The page pins its gallery with `md:sticky top-24`; here the scroller is the
   dialog, so the offset is the dialog's own padding. */
.qv-product__gallery{
    width: 100%;
    min-width: 0px;
}
@media (min-width: 768px){
    .qv-product__gallery{
        position: sticky;
        top: 0px;
    }
}
.qv-product__gallery .swiper-slide img{
    max-height: 46vh;
}
@media (min-width: 768px){
    .qv-product__gallery .swiper-slide img{
        max-height: 52vh;
    }
}
.qv-product__gallery {
  /* Four thumbs across, as on the page — `.slide--one-fourth` sizes against the
     viewport, which is far wider than this column. */
}
.qv-product__gallery .slide--one-fourth{
    width: 25%;
    max-width: none;
}

.qv-product__details{
    width: 100%;
    min-width: 0px;
}

/*
 * Add to cart. `sticky-product-bar` itself is deliberately not reused: below
 * 640px that class is `position: fixed; bottom: 0`, which would tear the row out
 * of the modal and pin it to the viewport. Only `sticky-product-bar__btn` comes
 * along, and that one just sizes the button.
 */
.qv-actions{
    position: sticky;
    bottom: 0px;
    z-index: 10;
    margin-bottom: 0.25rem;
    padding-top: 0.5rem;
    padding-bottom: 0.25rem;
  background: linear-gradient(to top, var(--store-bg) 65%, transparent);
  /* Salla hard-codes `width: 50%` on both buttons when quick-buy is on, so the
     pair has to be told to fill the row — stacked on phones, side by side above. */
}
.qv-actions .s-add-product-button-main{
    display: flex;
    width: 100%;
    flex-direction: column;
    gap: 0.5rem;
}
@media (min-width: 640px){
    .qv-actions .s-add-product-button-main{
        flex-direction: row;
    }
}
.qv-actions .s-add-product-button-main > * {
  width: 100% !important;
}

.qv-payments salla-payments{
    display: block;
}

/* The way out to everything the modal leaves behind: tabs, reviews, related. */
.qv-full-link{
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: center;
    -moz-column-gap: 0.5rem;
         column-gap: 0.5rem;
    border-width: 1px;
    padding-left: 1rem;
    padding-right: 1rem;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
  color: #414042;
  color: var(--color-primary);
  border-color: #414042;
  border-color: var(--color-primary);
  border-radius: var(--border-radius-button);
}
.qv-full-link:hover {
  color: #ff6767;
  color: var(--color-primary-reverse);
  background: #414042;
  background: var(--color-primary);
}

/*
 * <salla-comments> — reviews and comments.
 *
 * Salla owns the markup (light DOM, `s-comments-*` classes), so everything here
 * is styling on top of a structure that cannot change. Selectors are kept at two
 * or three classes deep on purpose: Twilight's own stylesheet targets these same
 * single classes and is not guaranteed to load before app.css.
 *
 * Every colour is derived from the Theme-Editor custom properties declared in
 * layouts/variables.twig — `--color-primary`, `--text-primary`,
 * `--text-secondary`, `--store-bg`, `--warning` — so the block follows the
 * merchant's palette instead of a hard-coded grey.
 *
 * Rendered on: product page (inside a tab, wrapped in `.reviews-block`), blog
 * article, static page and the testimonials page. The two-column layout below
 * is scoped to `.reviews-block`; everywhere else the component keeps its
 * single-column flow.
 */
.s-comments {
  color: var(--text-primary);
}
.s-comments-page{
    padding-top: 4rem;
}
.s-comments-product{
    padding-top: 1rem;
    padding-bottom: 1rem;
}
@media (min-width: 768px){
    .s-comments-product{
        padding-top: 2.5rem;
        padding-bottom: 2.5rem;
    }
}
.s-comments-product {
  background: var(--store-bg);
}
.s-comments-product .s-comments-container{
    width: 100%;
    margin-right: auto;
    margin-left: auto;
    padding-right: 10px;
    padding-left: 10px;
}
@media (min-width: 1280px){
    .s-comments-product .s-comments-container{
        max-width: 1280px;
    }
}
.s-comments-product .s-comments-container{
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-left: 1rem;
    padding-right: 1rem;
    max-width: 1200px;
    max-width: var(--container-max-width, 1200px);
}
@media only screen and (min-width: 1024px) {
  .main-menu .sub-menu li.mega-menu .s-comments-product .s-comments-container ul{
        margin: 0px;
        border-style: none;
        padding: 0px;
    }
  .main-menu .sub-menu li.mega-menu .s-comments-product .s-comments-container > div{
        display: none;
    }
}
.s-block--testimonials.s-comments-product .s-comments-container{
    padding: 0px;
}
@media (min-width: 1024px){
    .s-block--testimonials.s-comments-product .s-comments-container{
        padding-left: 0.625rem;
        padding-right: 0.625rem;
    }
}
.s-comments {
  /* ── Section title ────────────────────────────────────────────────────── */
}
.s-comments-title{
    position: relative;
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
    gap: 0.625rem;
    font-size: 1.125rem;
    line-height: 1.75rem;
    font-weight: 700;
  color: var(--text-primary);
}
.s-comments-title::before {
  content: "";
  display: block;
  height: 1.25rem;
  width: 0.25rem;
  flex-shrink: 0;
  border-radius: 9999px;
  background: #414042;
  background: var(--color-primary);
}
.s-comments {
  /* ── Write a comment ──────────────────────────────────────────────────── */
}
.s-comments .s-comment-form-input{
    margin-bottom: 0.75rem;
    display: block;
    width: 100%;
    resize: vertical;
    border-width: 0px;
    background-color: transparent;
    padding: 0px;
    font-size: 0.875rem;
    line-height: 1.25rem;
  min-height: 4.5rem;
  color: var(--text-primary);
}
.s-comments .s-comment-form-input::-moz-placeholder {
  color: var(--text-secondary);
}
.s-comments .s-comment-form-input::placeholder {
  color: var(--text-secondary);
}
.s-comments .s-comment-form-input:focus{
    border-width: 0px;
    --tw-shadow: 0 0 rgba(0,0,0,0);
    --tw-shadow-colored: 0 0 rgba(0,0,0,0);
    box-shadow: /*!*/ /*!*/ 0 0 0 0px #fff, 0 0 rgba(0,0,0,0), 0 0 rgba(0,0,0,0);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 rgba(0,0,0,0)), var(--tw-ring-shadow, 0 0 rgba(0,0,0,0)), var(--tw-shadow);
    outline: 2px solid transparent;
    outline-offset: 2px;
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: /*!*/ /*!*/ 0 0 0 0px #fff, var(--tw-ring-shadow), 0 0 rgba(0,0,0,0);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.s-comments .s-comment-form-action{
    display: flex;
    justify-content: flex-end;
}
.s-comments {
  /* ── Count + sort row ─────────────────────────────────────────────────── */
}
.s-comments-header{
    margin-bottom: 1rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding-bottom: 0.75rem;
  border-bottom: 1px solid var(--rv-border, color-mix(in srgb, var(--text-primary) 12%, transparent));
}
.s-comments-count-label{
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 700;
  color: var(--text-primary);
}
.s-comments-count-label span{
    margin-left: 0.25rem;
    margin-right: 0.25rem;
    display: inline-flex;
    height: 1.5rem;
    min-width: 1.5rem;
    align-items: center;
    justify-content: center;
    border-radius: 9999px;
    padding-left: 0.375rem;
    padding-right: 0.375rem;
    font-size: 0.75rem;
    line-height: 1rem;
  background: rgba(65, 64, 66, 0.12);
  color: #414042;
  color: var(--color-primary);
}

@supports (color: color-mix(in lch, red, blue)){
.s-comments-count-label span{
  background: color-mix(in srgb, var(--color-primary) 12%, transparent);
    }
}
.s-comments-filter-wrapper{
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.s-comments-filter-label{
    margin-bottom: 0px;
    flex-shrink: 0;
    font-size: 0.75rem;
    line-height: 1rem;
  color: var(--text-secondary);
}
.s-comments-sort-input{
    cursor: pointer;
    border-radius: 9999px;
    background-color: transparent;
    padding-top: 0.375rem;
    padding-bottom: 0.375rem;
    font-size: 0.75rem;
    line-height: 1rem;
}
.s-comments-sort-input * {
  pointer-events: none;
}
.s-comments-sort-input {
  padding-left: 0.875rem;
  padding-right: 2rem;
  color: var(--text-primary);
  border: 1px solid var(--rv-border, color-mix(in srgb, var(--text-primary) 12%, transparent));
}
.s-comments-sort-input:focus {
  border-color: #414042;
  border-color: var(--color-primary);
  --tw-shadow: 0 0 rgba(0,0,0,0);
  --tw-shadow-colored: 0 0 rgba(0,0,0,0);
  box-shadow: /*!*/ /*!*/ 0 0 0 0px #fff, 0 0 rgba(0,0,0,0), 0 0 rgba(0,0,0,0);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 rgba(0,0,0,0)), var(--tw-ring-shadow, 0 0 rgba(0,0,0,0)), var(--tw-shadow);
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: /*!*/ /*!*/ 0 0 0 0px #fff, var(--tw-ring-shadow), 0 0 #0000;
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.s-comments {
  /* ── Translate actions ────────────────────────────────────────────────── */
}
.s-comments .s-translate-all-wrap{
    margin-bottom: 1rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}
.s-comments .s-translate-wrap{
    margin-top: 0.5rem;
}
.s-comments .s-translate-btn{
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    border-radius: 9999px;
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
    padding-left: 0.625rem;
    padding-right: 0.625rem;
    font-size: 0.75rem;
    line-height: 1rem;
  color: var(--text-secondary);
  background: transparent;
  border: 1px solid var(--rv-border, color-mix(in srgb, var(--text-primary) 12%, transparent));
  transition: color 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
}
.s-comments .s-translate-btn svg{
    flex-shrink: 0;
}
.s-comments .s-translate-btn:hover {
  color: #414042;
  color: var(--color-primary);
  border-color: rgba(65, 64, 66, 0.45);
  background: rgba(65, 64, 66, 0.06);
}

@supports (color: color-mix(in lch, red, blue)){
.s-comments .s-translate-btn:hover {
  border-color: color-mix(in srgb, var(--color-primary) 45%, transparent);
  background: color-mix(in srgb, var(--color-primary) 6%, transparent);
}
}
.s-comments {
  /* ── One comment ──────────────────────────────────────────────────────── */
}
.s-comments-item{
    margin-bottom: 0.75rem;
    display: block;
}
.s-comments-item:last-child{
    margin-bottom: 0px;
}
.s-comments-item-inner{
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
}
.s-comments-item-avatar{
    flex-shrink: 0;
}
.s-comments-item-avatar-img{
    height: 2.5rem;
    width: 2.5rem;
    border-radius: 9999px;
    -o-object-fit: cover;
       object-fit: cover;
  box-shadow: 0 0 0 2px rgba(65, 64, 66, 0.18);
}

@supports (color: color-mix(in lch, red, blue)){
.s-comments-item-avatar-img{
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--color-primary) 18%, transparent);
    }
}
.s-comments-item-user-info-name, .s-comments-item-user-info-name-with-margin{
    margin: 0px;
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 700;
  color: var(--text-primary);
}
.s-comments-item-timestamp{
    margin: 0px;
    font-size: 0.75rem;
    line-height: 1rem;
  color: var(--text-secondary);
}
.s-comments-item-time{
    display: inline;
    opacity: 1;
}
.s-comments-item-content-container p{
    margin: 0px;
    font-size: 0.875rem;
    line-height: 1.25rem;
    line-height: 1.625;
  color: var(--text-primary);
  word-wrap: anywhere;
}
.s-comments-item-images{
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}
.s-comments-item-images:empty{
    display: none;
}
.s-comments-item-images img{
    height: 4rem;
    width: 4rem;
    border-radius: 0.5rem;
    -o-object-fit: cover;
       object-fit: cover;
  border: 1px solid var(--rv-border, color-mix(in srgb, var(--text-primary) 12%, transparent));
}
.s-comments salla-button.s-comments-item-like-btn{
    margin-top: 0.5rem;
    display: flex;
    justify-content: flex-end;
}
.s-comments salla-button.s-comments-item-like-btn svg{
    height: 1rem;
    width: 1rem;
}

/* ═══════════════════════════════════════════════════════════════════════════
   Product page — reviews block
   The list and the write-a-review card sit side by side, with our own header
   above them (product/single.twig). The surfaces are mixed out of the theme's
   own text and background colours rather than picked: mixing the text colour
   into the page background lifts a card on a light palette and on a dark one
   alike, which a fixed grey cannot do.
   ═══════════════════════════════════════════════════════════════════════════ */
.reviews-block {
  --rv-surface: color-mix(in srgb, var(--text-primary) 4%, var(--store-bg));
  --rv-border: color-mix(in srgb, var(--text-primary) 12%, transparent);
  --rv-radius: max(var(--border-radius-card, 14px), 14px);
}
.reviews-block__head{
    margin-bottom: 1.25rem;
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
}
.reviews-block__title{
    margin: 0px;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.5rem;
    font-size: 1.25rem;
    line-height: 1.75rem;
    font-weight: 700;
}
@media (min-width: 640px){
    .reviews-block__title{
        font-size: 1.5rem;
        line-height: 2rem;
    }
}
.reviews-block__title {
  color: var(--text-primary);
}
.reviews-block__count{
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 400;
  color: var(--text-secondary);
}
.reviews-block__rating{
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
  color: var(--text-secondary);
}
.reviews-block salla-rating-stars {
  color: var(--warning);
}
.reviews-block salla-rating-stars i,
.reviews-block salla-rating-stars svg {
  color: inherit;
  fill: currentColor;
}
.reviews-block .s-comments-title{
    display: none;
}
.reviews-block .s-comments-product{
    padding: 0px;
  background: transparent;
}
.reviews-block .s-comments-container{
    padding: 0px;
  max-width: none;
}
.reviews-block {
  /* ── The two columns ────────────────────────────────────────────────────
     Source order is title → form → summary → count row → translate → list, so
     each child is placed explicitly; anything the component adds later still
     lands in the list column by default. */
}
@media (min-width: 1024px) {
  .reviews-block .s-comments-container{
        display: grid;
        align-items: flex-start;
    grid-template-columns: minmax(0, 1fr) minmax(0, 21rem);
    grid-column-gap: 1.5rem;
    -moz-column-gap: 1.5rem;
         column-gap: 1.5rem;
    }
  .reviews-block salla-comment-form {
    grid-column: 2;
    grid-row: 1/span 99;
    position: sticky;
    top: 5.5rem;
  }
  .reviews-block salla-reviews-summary,
  .reviews-block .s-comments-header,
  .reviews-block .s-translate-all-wrap,
  .reviews-block .s-comments-container > div:not([class]) {
    grid-column: 1;
  }
}
.reviews-block {
  /* ── Write-a-review card ─────────────────────────────────────────────── */
}
.reviews-block salla-comment-form{
    display: block;
}
.reviews-block .s-comment-form-wrapper{
    margin-bottom: 1.5rem;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    padding: 1rem;
}
@media (min-width: 640px){
    .reviews-block .s-comment-form-wrapper{
        padding: 1.25rem;
    }
}
@media (min-width: 1024px){
    .reviews-block .s-comment-form-wrapper{
        margin-bottom: 0px;
    }
}
.reviews-block .s-comment-form-wrapper {
  background: var(--rv-surface);
  border: 1px solid var(--rv-border);
  border-radius: var(--rv-radius);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.reviews-block .s-comment-form-wrapper:focus-within {
  border-color: #414042;
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px rgba(65, 64, 66, 0.12);
}

@supports (color: color-mix(in lch, red, blue)){
.reviews-block .s-comment-form-wrapper:focus-within {
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-primary) 12%, transparent);
}
}
.reviews-block .s-comment-form-wrapper::before {
  content: "";
  content: var(--reviews-form-title, "");
  display: block;
  font-size: 1.125rem;
  line-height: 1.75rem;
  font-weight: 700;
  color: var(--text-primary);
}
.reviews-block .s-comment-form-content::before {
  content: "";
  content: var(--reviews-form-note, "");
  margin-bottom: 1rem;
  display: block;
  font-size: 0.75rem;
  line-height: 1rem;
  line-height: 1.625;
  color: var(--text-secondary);
}
.reviews-block .s-comment-form-input{
    margin-bottom: 1rem;
    padding: 0.75rem;
  background: color-mix(in srgb, var(--text-primary) 4%, transparent);
  border: 1px solid var(--rv-border);
  border-radius: calc(var(--rv-radius) - 4px);
  min-height: 6.5rem;
}
.reviews-block .s-comment-form-action{
    display: block;
}
.reviews-block .s-comment-form-action salla-button,
.reviews-block .s-comment-form-action .s-button-element{
    width: 100%;
    justify-content: center;
}
.reviews-block .s-comment-form-action .s-button-element {
  background-image: linear-gradient(to left, #414042, var(--color-primary-dark));
  background-image: linear-gradient(to left, var(--color-primary), var(--color-primary-dark));
  border-color: transparent;
}
.reviews-block {
  /* ── One review ──────────────────────────────────────────────────────── */
}
.reviews-block .s-comments-item-wrapper{
    padding: 0.75rem;
}
@media (min-width: 640px){
    .reviews-block .s-comments-item-wrapper{
        padding: 1rem;
    }
}
.reviews-block .s-comments-item-wrapper {
  background: var(--rv-surface);
  border: 1px solid var(--rv-border);
  border-radius: var(--rv-radius);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.reviews-block .s-comments-item-wrapper:hover {
  border-color: rgba(65, 64, 66, 0.35);
  box-shadow: 0 6px 18px -12px rgba(0, 0, 0, 0.35);
}

@supports (color: color-mix(in lch, red, blue)){
.reviews-block .s-comments-item-wrapper:hover {
  border-color: color-mix(in srgb, var(--color-primary) 35%, transparent);
}
}
.reviews-block .s-comments-item-user-wrapper{
    margin-bottom: 0.5rem;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 0.125rem;
}
.reviews-block {
  /* ── The write-a-review card stacks: title, note, textarea, button ─────── */
}
.reviews-block .s-comment-form-content{
    display: flex;
    flex-direction: column;
}
.reviews-block .s-comment-form-content br{
    display: none;
}

/*
 * `info_tabs` renders the reviews inside the details column beside the image.
 * A 21rem sticky sidebar has nowhere to go in a column that narrow, so the
 * block folds back to a single flow. Salla's source order is title → form →
 * summary → count row → list, so simply dropping the grid is what puts the
 * write-a-review card on top; it only has to be told to stop sticking and to
 * take the full width on the way.
 *
 * Placed after the grid it overrides — same specificity, so order decides.
 */
@media (min-width: 1024px) {
  .reviews-block--stacked .s-comments-container{
        display: block;
    }
  .reviews-block--stacked salla-comment-form{
        margin-bottom: 1.5rem;
        width: 100%;
    position: static;
    }
}

@media (prefers-reduced-motion: reduce) {
  .s-comments .s-comment-form-wrapper,
  .s-comments .s-comments-item-wrapper,
  .s-comments .s-translate-btn,
  .reviews-block .s-comment-form-wrapper,
  .reviews-block .s-comments-item-wrapper,
  .reviews-block .s-translate-btn {
    transition: none;
  }
}
.blog-index {
  --blog-card-bg: color-mix(in srgb, var(--text-primary) 6%, var(--store-bg));
  --blog-card-text: var(--text-primary);
}

.blog-hero {
  position: relative;
  padding-top: max(1rem, min(3vw, 2rem));
  padding-bottom: 0.5rem;
}

.blog-hero__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
  text-align: center;
}

.blog-tabs {
  margin-top: max(1rem, min(3vw, 1.75rem));
  margin-bottom: max(1rem, min(3vw, 1.75rem));
}

/* ── Article card ─────────────────────────────────────────────── */
.blog-grid {
  align-items: stretch;
}

.blog-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  border: 1px solid var(--store-border-color);
  border-radius: var(--border-radius-card);
  background-color: var(--blog-card-bg);
  color: var(--blog-card-text);
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}
.blog-card:hover {
  border-color: rgba(65, 64, 66, 0.45);
  box-shadow: 0 12px 30px -18px color-mix(in srgb, var(--blog-card-text) 55%, transparent);
}

@supports (color: color-mix(in lch, red, blue)){
.blog-card:hover {
  border-color: color-mix(in srgb, var(--color-primary) 45%, transparent);
}
}

.blog-card__image {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 14rem;
  overflow: hidden;
  background-color: color-mix(in srgb, var(--blog-card-text) 8%, transparent);
}
.blog-card__image img {
  transition: transform 0.5s ease;
}
.blog-card:hover .blog-card__image img {
  transform: scale(1.05);
}

.blog-card__body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 0.625rem;
  padding: 1.125rem 1.25rem 1.25rem;
}

.blog-card__title {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.6;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.blog-card__title a {
  color: inherit;
  transition: color 0.3s ease;
}
.blog-card__title a:hover {
  color: #414042;
  color: var(--color-primary);
}

.blog-card__foot {
  display: flex;
  align-items: flex-end;
  gap: 0.75rem;
  margin-top: auto;
}

.blog-card__excerpt {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  font-size: 0.8125rem;
  line-height: 1.6;
  opacity: 0.7;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.blog-card__more {
  flex: 0 0 auto;
  font-size: 0.8125rem;
  font-weight: 700;
  white-space: nowrap;
  color: #414042;
  color: var(--color-primary);
  -webkit-text-decoration: underline;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.25em;
  transition: opacity 0.3s ease;
}
.blog-card__more:hover {
  color: #414042;
  color: var(--color-primary);
  -webkit-text-decoration: underline;
  text-decoration: underline;
  opacity: 0.8;
}

.blog-card__icons {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  font-size: 0.8125rem;
  color: #414042;
  color: var(--color-primary);
}

@media (prefers-reduced-motion: reduce) {
  .blog-card {
    transition: none;
  }
  .blog-card__image img,
  .blog-card:hover .blog-card__image img {
    transition: none;
    transform: none;
  }
}
.single-blog {
  --single-blog-text: var(--text-primary);
  --single-blog-card-bg: color-mix(in srgb, var(--text-primary) 6%, var(--store-bg));
  color: var(--single-blog-text) !important;
}

/* ── Hero ─────────────────────────────────────────────────────── */
.single-blog__hero {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  min-height: max(16rem, min(32vw, 24rem));
  padding-top: max(2.5rem, min(6vw, 4.5rem));
  padding-bottom: max(2.5rem, min(6vw, 4.5rem));
  overflow: hidden;
  background-image: none;
  background-image: var(--single-blog-hero-image, none);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.single-blog__hero::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.88) 0%, rgba(0, 0, 0, 0.55) 45%, rgba(0, 0, 0, 0.25) 100%);
}
.single-blog__hero.is-plain {
  min-height: 0;
  background-color: var(--single-blog-card-bg);
}
.single-blog__hero.is-plain::after {
  background: none;
}

.single-blog__hero-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: max(0.875rem, min(2vw, 1.25rem));
  text-align: center;
}

.single-blog__title {
  max-width: 32ch;
  margin: 0;
  font-size: max(1.5rem, min(3.4vw, 2.5rem));
  font-weight: 800;
  line-height: 1.35;
  color: var(--single-blog-text);
}

.single-blog__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.5rem 0.625rem;
}

.single-blog__meta-item {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.375rem 0.75rem;
  border: 1px solid color-mix(in srgb, var(--single-blog-text) 16%, transparent);
  border-radius: 999px;
  background-color: color-mix(in srgb, var(--single-blog-card-bg) 55%, transparent);
  backdrop-filter: blur(6px);
  font-size: 0.8125rem;
  line-height: 1.6;
  color: var(--single-blog-text);
  white-space: nowrap;
}
.single-blog__meta-item i {
  font-size: 0.875rem;
  color: #414042;
  color: var(--color-primary);
}
.is-plain .single-blog__meta-item {
  border-color: var(--store-border-color);
  background-color: color-mix(in srgb, var(--single-blog-text) 8%, transparent);
}

.single-blog__meta-icon {
  width: 0.9375rem;
  height: 0.9375rem;
  color: #414042;
  color: var(--color-primary);
}

.single-blog__like {
  transition: border-color 0.3s ease, background-color 0.3s ease;
}
.single-blog__like:hover {
  border-color: rgba(65, 64, 66, 0.55);
}

@supports (color: color-mix(in lch, red, blue)){
.single-blog__like:hover {
  border-color: color-mix(in srgb, var(--color-primary) 55%, transparent);
}
}
.single-blog__like.liked {
  border-color: #414042;
  border-color: var(--color-primary);
  background-color: color-mix(in srgb, #414042 22%, var(--single-blog-card-bg));
}

@supports (color: color-mix(in lch, red, blue)){
.single-blog__like.liked {
  background-color: color-mix(in srgb, var(--color-primary) 22%, var(--single-blog-card-bg));
}
}
.single-blog__like .loader--small {
  width: 0.875rem;
  height: 0.875rem;
}

/* ── Layout ───────────────────────────────────────────────────── */
.single-blog__wrap {
  margin-top: max(1.75rem, min(4vw, 3rem));
  margin-bottom: max(2.5rem, min(6vw, 6rem));
}

.single-blog__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  grid-gap: max(1.5rem, min(3vw, 2.5rem));
  gap: max(1.5rem, min(3vw, 2.5rem));
}

.single-blog__col {
  display: contents;
}

.single-blog__col > .blog-reviews {
  order: 1;
  margin-top: 0;
}

@media (min-width: 1024px) {
  .single-blog__layout {
    grid-template-columns: minmax(0, 1fr) 20.5rem;
  }
  .single-blog__col {
    display: flex;
    flex-direction: column;
    gap: max(1.5rem, min(3vw, 2.5rem));
    min-width: 0;
  }
  .single-blog__aside {
    position: sticky;
    top: 6rem;
  }
}
.single-blog__aside {
  display: flex;
  flex-direction: column;
  gap: max(1rem, min(2vw, 1.5rem));
  min-width: 0;
}

/* ── Article body ─────────────────────────────────────────────── */
.single-blog__body {
  font-size: 0.9375rem;
  line-height: 1.95;
  color: color-mix(in srgb, var(--single-blog-text) 82%, transparent);
}
.single-blog__body > :first-child {
  margin-top: 0;
}
.single-blog__body p {
  margin-top: 0;
  margin-bottom: 1.125rem;
}
.single-blog__body h2,
.single-blog__body h3,
.single-blog__body h4 {
  margin-top: 2rem;
  margin-bottom: 0.875rem;
  font-weight: 700;
  line-height: 1.5;
  color: var(--single-blog-text);
}
.single-blog__body h2 {
  font-size: max(1.125rem, min(2.2vw, 1.5rem));
}
.single-blog__body h3 {
  font-size: max(1rem, min(2vw, 1.25rem));
}
.single-blog__body h4 {
  font-size: 1rem;
}
.single-blog__body a {
  color: #414042;
  color: var(--color-primary);
  -webkit-text-decoration: underline;
  text-decoration: underline;
  text-underline-offset: 0.25em;
}
.single-blog__body strong,
.single-blog__body b {
  color: var(--single-blog-text);
}
.single-blog__body ul,
.single-blog__body ol {
  margin-top: 0;
  margin-bottom: 1.125rem;
  padding-left: 1.25rem;
}
.single-blog__body ul {
  list-style: disc;
}
.single-blog__body ol {
  list-style: decimal;
}
.single-blog__body li {
  margin-bottom: 0.5rem;
}
.single-blog__body li::marker {
  color: #414042;
  color: var(--color-primary);
}
.single-blog__body img,
.single-blog__body iframe,
.single-blog__body video {
  max-width: 100%;
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
  border-radius: var(--border-radius-card);
}
.single-blog__body img {
  height: auto;
}
.single-blog__body hr {
  margin-top: 2rem;
  margin-bottom: 2rem;
  border: 0;
  border-top: 1px solid var(--store-border-color);
}
.single-blog__body blockquote {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
  padding: 0.875rem 1.125rem;
  border-left: 3px solid #414042;
  border-left: 3px solid var(--color-primary);
  border-radius: 0 var(--border-radius-card) var(--border-radius-card) 0;
  background-color: color-mix(in srgb, var(--single-blog-card-bg) 60%, transparent);
  font-size: 0.9375rem;
  color: var(--single-blog-text);
}
.single-blog__body blockquote p:last-child {
  margin-bottom: 0;
}
.single-blog__body table {
  display: block;
  width: 100%;
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
  overflow-x: auto;
  border-collapse: collapse;
  font-size: 0.875rem;
}
.single-blog__body thead,
.single-blog__body tbody {
  display: table;
  width: 100%;
  min-width: 32rem;
}
.single-blog__body th,
.single-blog__body td {
  padding: 0.75rem 1rem;
  border: 1px solid var(--store-border-color);
  text-align: left;
}
.single-blog__body th {
  background-color: var(--single-blog-card-bg);
  font-weight: 700;
  color: var(--single-blog-text);
}
.single-blog__body tbody tr:nth-child(even) td {
  background-color: color-mix(in srgb, var(--single-blog-card-bg) 55%, transparent);
}

/* ── Tags ─────────────────────────────────────────────────────── */
.single-blog__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 2rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--store-border-color);
}

.single-blog__tag {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.4375rem 0.875rem;
  border: 1px solid var(--store-border-color);
  border-radius: 999px;
  background-color: color-mix(in srgb, var(--single-blog-card-bg) 70%, transparent);
  font-size: 0.8125rem;
  color: color-mix(in srgb, var(--single-blog-text) 75%, transparent);
  transition: color 0.3s ease, border-color 0.3s ease;
}
.single-blog__tag:hover {
  border-color: rgba(65, 64, 66, 0.5);
  color: #414042;
  color: var(--color-primary);
}

@supports (color: color-mix(in lch, red, blue)){
.single-blog__tag:hover {
  border-color: color-mix(in srgb, var(--color-primary) 50%, transparent);
}
}

/* ── Reviews (comments) ───────────────────────────────────────── */
.blog-reviews {
  container: blog-reviews/inline-size;
  margin-top: max(2rem, min(5vw, 3rem));
  padding-top: max(1.25rem, min(3vw, 2rem));
  border-top: 1px solid var(--store-border-color);
}

.blog-reviews__head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.25rem 0.75rem;
  margin-bottom: max(1rem, min(2.5vw, 1.5rem));
}

.blog-reviews__title {
  margin: 0;
  font-size: max(1.25rem, min(2.6vw, 1.75rem));
  font-weight: 800;
  line-height: 1.4;
  color: var(--single-blog-text);
}

.blog-reviews__count {
  font-size: 0.8125rem;
  color: color-mix(in srgb, var(--single-blog-text) 55%, transparent);
}

.blog-reviews__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  grid-gap: max(1rem, min(2.5vw, 1.5rem));
  gap: max(1rem, min(2.5vw, 1.5rem));
}

@container blog-reviews (min-width: 46rem) {
  .blog-reviews__grid {
    grid-template-columns: minmax(0, 1fr) minmax(15rem, 21rem);
  }
}
.blog-reviews__list {
  min-width: 0;
}

.blog-reviews__empty {
  margin: 0;
  padding: max(1.5rem, min(4vw, 2.5rem)) 1.25rem;
  border: 1px dashed var(--store-border-color);
  border-radius: var(--border-radius-card);
  background-color: color-mix(in srgb, var(--single-blog-card-bg) 55%, transparent);
  font-size: 0.875rem;
  text-align: center;
  color: color-mix(in srgb, var(--single-blog-text) 60%, transparent);
}

.blog-reviews__list:has(salla-comment-item) .blog-reviews__empty {
  display: none;
}

/* Comment list — Twilight overrides */
.blog-reviews .s-comments-container,
.blog-reviews .s-comments-page-container {
  padding-left: 0;
  padding-right: 0;
}
.blog-reviews .s-comments-header {
  display: none;
}
.blog-reviews .s-comments-item {
  display: block;
  margin: 0;
  padding: 0;
  border: 0;
}
.blog-reviews .s-comments-item + .s-comments-item {
  margin-top: 0.75rem;
}
.blog-reviews .s-comments-item-wrapper,
.blog-reviews .s-comments-item-admin-wrapper {
  padding: max(0.875rem, min(2.2vw, 1.125rem));
  border: 1px solid var(--store-border-color);
  border-radius: var(--border-radius-card);
  background-color: var(--single-blog-card-bg);
  font-size: 0.875rem;
  transition: border-color 0.3s ease;
}
.blog-reviews .s-comments-item-wrapper:hover {
  border-color: rgba(65, 64, 66, 0.4);
}

@supports (color: color-mix(in lch, red, blue)){
.blog-reviews .s-comments-item-wrapper:hover {
  border-color: color-mix(in srgb, var(--color-primary) 40%, transparent);
}
}
.blog-reviews .s-comments-item-admin-wrapper {
  margin-top: 0.75rem;
  margin-left: max(0.75rem, min(3vw, 1.5rem));
  background-color: color-mix(in srgb, var(--single-blog-card-bg) 55%, var(--store-bg));
}

.blog-reviews .s-comments-item > .s-comments-item-wrapper > .s-comments-item-inner {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  grid-gap: 0.625rem;
  gap: 0.625rem;
}
.blog-reviews .s-comments-item > .s-comments-item-wrapper > .s-comments-item-inner > :not([hidden]) ~ :not([hidden]) {
  margin-left: 0;
  margin-right: 0;
}
.blog-reviews .s-comments-item > .s-comments-item-wrapper > .s-comments-item-inner > .s-comments-flex-1 {
  display: contents;
}
.blog-reviews .s-comments-item > .s-comments-item-wrapper > .s-comments-item-inner > .s-comments-item-avatar {
  grid-column: 1;
  grid-row: 1;
}
.blog-reviews .s-comments-item > .s-comments-item-wrapper > .s-comments-item-inner > .s-comments-flex-1 > .s-comments-item-user-wrapper {
  grid-column: 2;
  grid-row: 1;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 0.125rem;
  min-width: 0;
  margin-bottom: 0;
}
.blog-reviews .s-comments-item > .s-comments-item-wrapper > .s-comments-item-inner > .s-comments-flex-1 > .s-comments-item-content {
  grid-column: 1/-1;
  grid-row: 2;
}

.blog-reviews .s-comments-item-avatar-img {
  width: 2.25rem;
  height: 2.25rem;
  background-color: color-mix(in srgb, var(--single-blog-text) 10%, transparent);
}
.blog-reviews .s-comments-item-user-info {
  margin-bottom: 0;
}
.blog-reviews .s-comments-item-user-info-name,
.blog-reviews .s-comments-item-user-info-name-with-margin {
  margin: 0;
  transform: none;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.5;
  color: var(--single-blog-text);
}
.blog-reviews .s-comments-item-timestamp {
  margin: 0;
  font-size: 0.75rem;
  font-weight: 400;
  color: color-mix(in srgb, var(--single-blog-text) 50%, transparent);
}
.blog-reviews .s-comments-item-timestamp .s-comments-item-time {
  opacity: 1;
  color: inherit;
}
.blog-reviews .s-comments-item-content,
.blog-reviews .s-comments-item-content p {
  font-size: 0.875rem;
  line-height: 1.85;
  color: color-mix(in srgb, var(--single-blog-text) 78%, transparent);
}
.blog-reviews .s-comments-item-content p:last-child {
  margin-bottom: 0;
}
.blog-reviews .s-comments-item-content-container {
  align-items: flex-start;
}
.blog-reviews .s-comments-item-rated-widget,
.blog-reviews .s-comments-item-has-order-check-text {
  font-size: 0.75rem;
  color: color-mix(in srgb, var(--single-blog-text) 55%, transparent);
}
.blog-reviews .s-comments-item-pending-text {
  background-color: rgba(65, 64, 66, 0.16);
  font-size: 0.75rem;
  color: #414042;
  color: var(--color-primary);
}

@supports (color: color-mix(in lch, red, blue)){
.blog-reviews .s-comments-item-pending-text {
  background-color: color-mix(in srgb, var(--color-primary) 16%, transparent);
}
}
.blog-reviews salla-rating-stars {
  margin: 0;
}

/* Load more */
.blog-reviews .s-infinite-scroll-wrapper {
  display: flex;
  justify-content: center;
  margin-top: 1rem;
}

.blog-reviews .s-infinite-scroll-btn {
  padding: 0.5rem 1.75rem;
  border: 1px solid var(--store-border-color);
  border-radius: 999px;
  background-color: color-mix(in srgb, var(--single-blog-card-bg) 70%, transparent);
  font-size: 0.8125rem;
  color: var(--single-blog-text);
  transition: border-color 0.3s ease, color 0.3s ease;
}
.blog-reviews .s-infinite-scroll-btn:hover {
  border-color: rgba(65, 64, 66, 0.5);
  color: #414042;
  color: var(--color-primary);
}

@supports (color: color-mix(in lch, red, blue)){
.blog-reviews .s-infinite-scroll-btn:hover {
  border-color: color-mix(in srgb, var(--color-primary) 50%, transparent);
}
}

/* Submit card */
.blog-reviews__form {
  padding: max(1rem, min(2.5vw, 1.5rem));
  border: 1px solid var(--store-border-color);
  border-radius: var(--border-radius-card);
  background-color: var(--single-blog-card-bg);
}

.blog-reviews__form-title {
  margin: 0;
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--single-blog-text);
}

.blog-reviews__form-note {
  margin: 0.375rem 0 0;
  font-size: 0.8125rem;
  line-height: 1.7;
  color: color-mix(in srgb, var(--single-blog-text) 60%, transparent);
}

.blog-reviews__form-label {
  margin: 1rem 0 0.5rem;
  font-size: 0.8125rem;
  color: color-mix(in srgb, var(--single-blog-text) 75%, transparent);
}

.blog-reviews__form:has(> salla-comment-form.hydrated:empty) {
  display: none;
}

.blog-reviews__form .s-comment-form-input {
  height: 7rem;
  padding: 0.75rem 0.875rem;
  border-color: var(--store-border-color);
  border-radius: calc(var(--border-radius-card) - 4px);
  background-color: color-mix(in srgb, var(--single-blog-text) 5%, transparent);
  font-size: 0.8125rem;
  line-height: 1.8;
  color: var(--single-blog-text);
}
.blog-reviews__form .s-comment-form-input:focus {
  border-color: rgba(65, 64, 66, 0.6);
}

@supports (color: color-mix(in lch, red, blue)){
.blog-reviews__form .s-comment-form-input:focus {
  border-color: color-mix(in srgb, var(--color-primary) 60%, transparent);
}
}
.blog-reviews__form .s-comment-form-input::-moz-placeholder {
  color: color-mix(in srgb, var(--single-blog-text) 40%, transparent);
}
.blog-reviews__form .s-comment-form-input::placeholder {
  color: color-mix(in srgb, var(--single-blog-text) 40%, transparent);
}
.blog-reviews__form br {
  display: none;
}
.blog-reviews__form .s-comment-form-action {
  margin: 0.875rem 0 0;
}
.blog-reviews__form salla-button,
.blog-reviews__form .s-button-btn {
  width: 100%;
}
.blog-reviews__form .s-button-btn {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  border-radius: 999px;
  background-image: linear-gradient(to left, color-mix(in srgb, #414042 65%, var(--single-blog-card-bg)) 0%, #414042 50%, color-mix(in srgb, #414042 65%, var(--single-blog-card-bg)) 100%);
  box-shadow: 0 0 0 1px rgba(65, 64, 66, 0.45);
  transition: box-shadow 0.3s ease, filter 0.3s ease;
}

@supports (color: color-mix(in lch, red, blue)){
.blog-reviews__form .s-button-btn {
  background-image: linear-gradient(to left, color-mix(in srgb, var(--color-primary) 65%, var(--single-blog-card-bg)) 0%, var(--color-primary) 50%, color-mix(in srgb, var(--color-primary) 65%, var(--single-blog-card-bg)) 100%);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--color-primary) 45%, transparent);
}
}
.blog-reviews__form .s-button-btn:hover {
  box-shadow: 0 0 1.25rem rgba(65, 64, 66, 0.35);
  filter: brightness(1.08);
}

@supports (color: color-mix(in lch, red, blue)){
.blog-reviews__form .s-button-btn:hover {
  box-shadow: 0 0 1.25rem color-mix(in srgb, var(--color-primary) 35%, transparent);
}
}

/* ── Author card ──────────────────────────────────────────────── */
.single-blog__author {
  padding: 1.125rem;
  border: 1px solid var(--store-border-color);
  border-radius: var(--border-radius-card);
  background-color: var(--single-blog-card-bg);
}

.single-blog__author-head {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.single-blog__author-avatar {
  flex: 0 0 auto;
  width: 3.25rem;
  height: 3.25rem;
  border-radius: 50%;
  border: 1px solid rgba(65, 64, 66, 0.45);
  -o-object-fit: cover;
     object-fit: cover;
}

@supports (color: color-mix(in lch, red, blue)){
.single-blog__author-avatar {
  border: 1px solid color-mix(in srgb, var(--color-primary) 45%, transparent);
}
}

.single-blog__author-avatar--initial {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(65, 64, 66, 0.18);
  font-size: 1.25rem;
  font-weight: 700;
  color: #414042;
  color: var(--color-primary);
}

@supports (color: color-mix(in lch, red, blue)){
.single-blog__author-avatar--initial {
  background-color: color-mix(in srgb, var(--color-primary) 18%, transparent);
}
}

.single-blog__author-id {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  min-width: 0;
}

.single-blog__author-name {
  font-size: 0.9375rem;
  font-weight: 700;
  color: var(--single-blog-text);
  transition: color 0.3s ease;
}
.single-blog__author-name:hover {
  color: #414042;
  color: var(--color-primary);
}

.single-blog__author-role {
  font-size: 0.8125rem;
  color: #414042;
  color: var(--color-primary);
}

.single-blog__author-bio {
  margin: 0.875rem 0 0;
  font-size: 0.8125rem;
  line-height: 1.85;
  color: color-mix(in srgb, var(--single-blog-text) 65%, transparent);
}

/* ── Related products rail ────────────────────────────────────── */
.single-blog__aside .blog-related-products {
  margin-bottom: 0;
}

/* ── Related articles ─────────────────────────────────────────── */
.single-blog__aside-title {
  margin: 0 0 0.75rem;
  font-size: 1rem;
  font-weight: 700;
  color: var(--single-blog-text);
}

.single-blog__related-card {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem;
  border: 1px solid var(--store-border-color);
  border-radius: var(--border-radius-card);
  background-color: var(--single-blog-card-bg);
  transition: border-color 0.3s ease, transform 0.3s ease;
}
.single-blog__related-card + .single-blog__related-card {
  margin-top: 0.75rem;
}
.single-blog__related-card:hover {
  border-color: rgba(65, 64, 66, 0.45);
}

@supports (color: color-mix(in lch, red, blue)){
.single-blog__related-card:hover {
  border-color: color-mix(in srgb, var(--color-primary) 45%, transparent);
}
}

.single-blog__related-thumb {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4.5rem;
  height: 4.5rem;
  overflow: hidden;
  border-radius: calc(var(--border-radius-card) - 2px);
  background-color: color-mix(in srgb, var(--single-blog-text) 8%, transparent);
}
.single-blog__related-thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.5s ease;
}
.single-blog__related-thumb img.is-placeholder {
  width: 2.25rem;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
  opacity: 0.6;
}
.single-blog__related-card:hover .single-blog__related-thumb img:not(.is-placeholder) {
  transform: scale(1.06);
}

.single-blog__related-info {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  min-width: 0;
}

.single-blog__related-date {
  display: inline-flex;
  align-items: center;
  gap: 0.3125rem;
  font-size: 0.75rem;
  color: color-mix(in srgb, var(--single-blog-text) 55%, transparent);
}
.single-blog__related-date i {
  color: #414042;
  color: var(--color-primary);
}

.single-blog__related-title {
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.6;
  color: var(--single-blog-text);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.single-blog__related-card:hover .single-blog__related-title {
  color: #414042;
  color: var(--color-primary);
}

@media (prefers-reduced-motion: reduce) {
  .single-blog__related-card,
  .single-blog__related-thumb img,
  .single-blog__related-card:hover .single-blog__related-thumb img {
    transition: none;
    transform: none;
  }
}
.brands-nav{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.brands-nav > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(0.5rem * 0);
    margin-right: calc(0.5rem * var(--tw-space-x-reverse));
    margin-left: calc(0.5rem * (1 - 0));
    margin-left: calc(0.5rem * (1 - var(--tw-space-x-reverse)));
    margin-left: calc(0.5rem * calc(1 - 0));
    margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));
    --tw-space-y-reverse: 0;
    margin-top: calc(0.5rem * (1 - 0));
    margin-top: calc(0.5rem * (1 - var(--tw-space-y-reverse)));
    margin-top: calc(0.5rem * calc(1 - 0));
    margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.5rem * 0);
    margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
}
.brands-nav:where([dir="rtl"], [dir="rtl"] *) > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 1;
}
.brands-nav__item{
    display: flex;
    height: 2.5rem;
    width: 2.5rem;
    align-items: center;
    justify-content: center;
    border-radius: 0.375rem;
    --tw-bg-opacity: 1;
    background-color: rgba(255, 255, 255, 1);
    background-color: rgba(255, 255, 255, var(--tw-bg-opacity, 1));
    padding: 0.25rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
    --tw-text-opacity: 1;
    color: rgba(107, 114, 128, 1);
    color: rgba(107, 114, 128, var(--tw-text-opacity, 1));
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.brands-nav__item:hover{
    --tw-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
    box-shadow: 0 0 rgba(0,0,0,0), 0 0 rgba(0,0,0,0), 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 rgba(0,0,0,0)), var(--tw-ring-shadow, 0 0 rgba(0,0,0,0)), var(--tw-shadow);
}
.brands-nav__item:focus{
    border-color: #414042;
    border-color: var(--color-primary);
}
.brands-nav__item.is-selected{
    background-color: #414042 !important;
    background-color: var(--color-primary) !important;
    color: #ff6767 !important;
    color: var(--color-primary-reverse) !important;
}
.brands-nav__item span{
    pointer-events: none;
}
.brands-nav.is-sticky{
    position: fixed;
    top: 2.25rem;
    z-index: 0;
    height: 100%;
    flex-direction: column;
    flex-wrap: wrap;
}
.brands-nav.is-sticky > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(0.125rem * (1 - 0));
    margin-top: calc(0.125rem * (1 - var(--tw-space-y-reverse)));
    margin-top: calc(0.125rem * calc(1 - 0));
    margin-top: calc(0.125rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.125rem * 0);
    margin-bottom: calc(0.125rem * var(--tw-space-y-reverse));
}
.brands-nav.is-sticky{
    padding-top: 4rem;
    padding-bottom: 2.5rem;
}
.brands-nav.is-sticky:where([dir="ltr"], [dir="ltr"] *){
    left: 0.5rem;
}
.brands-nav.is-sticky:where([dir="rtl"], [dir="rtl"] *){
    right: 0.5rem;
}
.brands-nav.is-sticky .brands-nav__item{
    --tw-bg-opacity: 1;
    background-color: rgba(255, 255, 255, 1);
    background-color: rgba(255, 255, 255, var(--tw-bg-opacity, 1));
}
@media (max-width: 1280px) {
  .brands-nav.is-sticky .brands-nav__item{
        height: 1.5rem;
        width: 1.5rem;
    }
}

.brand-char{
    display: flex;
    height: 2.5rem;
    width: 2.5rem;
    align-items: center;
    justify-content: center;
    border-radius: 0.375rem;
    border-width: 1px;
    border-color: transparent;
    --tw-bg-opacity: 1;
    background-color: rgba(255, 255, 255, 1);
    background-color: rgba(255, 255, 255, var(--tw-bg-opacity, 1));
    font-size: 0.875rem;
    line-height: 1.25rem;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}

.brand-char:hover{
    --tw-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
    box-shadow: 0 0 rgba(0,0,0,0), 0 0 rgba(0,0,0,0), 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 rgba(0,0,0,0)), var(--tw-ring-shadow, 0 0 rgba(0,0,0,0)), var(--tw-shadow);
}

.brand-char:focus{
    border-color: #414042;
    border-color: var(--color-primary);
}

.brand-char:where([dir="ltr"], [dir="ltr"] *){
    margin-right: 1.25rem;
}

@media (min-width: 768px){
    .brand-char:where([dir="ltr"], [dir="ltr"] *){
        margin-right: 3rem;
    }
}

.brand-char:where([dir="rtl"], [dir="rtl"] *){
    margin-left: 1.25rem;
}

@media (min-width: 768px){
    .brand-char:where([dir="rtl"], [dir="rtl"] *){
        margin-left: 3rem;
    }
}

.brand-item{
    position: relative;
    display: flex;
    height: 5rem;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 0.375rem;
    --tw-bg-opacity: 1;
    background-color: rgba(255, 255, 255, 1);
    background-color: rgba(255, 255, 255, var(--tw-bg-opacity, 1));
    background-size: cover;
    padding: 0.75rem;
    text-align: center;
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, 1);
    color: rgba(255, 255, 255, var(--tw-text-opacity, 1));
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}

.brand-item:hover{
    opacity: 0.95;
}

@media (min-width: 640px){
    .brand-item{
        height: 6rem;
        padding: 1rem;
    }
}

@media (min-width: 768px){
    .brand-item{
        height: 8rem;
        padding: 2rem;
    }
}
.index .brand-item{
    padding: 1rem;
}
.index .brand-item img{
    width: auto;
}
@media (min-width: 480px){
    .index .brand-item img{
        max-width: 150px;
    }
}

.no-content-placeholder{
    display: flex;
    height: 100%;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding-top: 2.5rem;
    padding-bottom: 5rem;
    --tw-text-opacity: 1;
    color: rgba(156, 163, 175, 1);
    color: rgba(156, 163, 175, var(--tw-text-opacity, 1));
}
.no-content-placeholder .icon{
    margin-bottom: 1rem;
    display: flex;
    height: 8rem;
    width: 8rem;
    align-items: center;
    justify-content: center;
    border-radius: 9999px;
    --tw-bg-opacity: 1;
    background-color: rgba(243, 244, 246, 1);
    background-color: rgba(243, 244, 246, var(--tw-bg-opacity, 1));
    font-size: 3rem;
    line-height: 1;
    --tw-text-opacity: 1;
    color: rgba(209, 213, 219, 1);
    color: rgba(209, 213, 219, var(--tw-text-opacity, 1));
}
.no-content-placeholder p{
    margin-bottom: 1rem;
    font-size: 1rem;
    line-height: 1.5rem;
    --tw-text-opacity: 1;
    color: rgba(107, 114, 128, 1);
    color: rgba(107, 114, 128, var(--tw-text-opacity, 1));
}

.s-gifting-modal .s-checkbox {
  background-color: #fff !important;
  border: 1px solid #ccc !important;
}
.s-gifting-modal .s-checkbox:focus {
  --tw-ring-color: transparent !important;
}
.s-gifting-modal .s-gifting-filepond-placeholder-icon svg {
  fill: #ccc !important;
}

.s-gifting-widget .s-list-tile-item{
    border-top-left-radius: 0px;
    border-top-right-radius: 0px;
    border-style: none;
}

.loyalty .breadcrumbs{
    padding-bottom: 0px;
    padding-top: 1rem;
}
.loyalty .breadcrumbs ol{
    justify-content: center;
}
@media (min-width: 1024px){
    .loyalty .breadcrumbs ol{
        justify-content: flex-start;
    }
}
.loyalty .breadcrumbs a,
.loyalty .breadcrumbs span,
.loyalty .breadcrumbs .arrow{
    color: rgba(255, 255, 255, 0.9);
  text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.3);
}
.loyalty__banner{
    position: relative;
    margin: auto;
    margin-bottom: 7rem;
    margin-top: 5rem;
    overflow: hidden;
    border-radius: 0.375rem;
    --tw-bg-opacity: 1;
    background-color: rgba(255, 255, 255, 1);
    background-color: rgba(255, 255, 255, var(--tw-bg-opacity, 1));
    padding: 2.5rem;
    --tw-shadow: 5px 10px 30px #2B2D340D;;
    --tw-shadow-colored: 5px 10px 30px var(--tw-shadow-color);
    box-shadow: 0 0 rgba(0,0,0,0), 0 0 rgba(0,0,0,0), 5px 10px 30px #2B2D340D;;
    box-shadow: var(--tw-ring-offset-shadow, 0 0 rgba(0,0,0,0)), var(--tw-ring-shadow, 0 0 rgba(0,0,0,0)), var(--tw-shadow);
}
@media (min-width: 1024px){
    .loyalty__banner{
        padding-top: 4rem;
        padding-bottom: 4rem;
        padding-left: 5rem;
        padding-right: 5rem;
    }
}
.loyalty__banner-inner{
    position: relative;
    z-index: 10;
    flex: 1 1 0%;
    align-items: center;
    text-align: center;
}
@media (min-width: 640px){
    .loyalty__banner-inner{
        display: flex;
    }
    .loyalty__banner-inner > :not([hidden]) ~ :not([hidden]){
        --tw-space-x-reverse: 0;
        margin-right: calc(3rem * 0);
        margin-right: calc(3rem * var(--tw-space-x-reverse));
        margin-left: calc(3rem * (1 - 0));
        margin-left: calc(3rem * (1 - var(--tw-space-x-reverse)));
        margin-left: calc(3rem * calc(1 - 0));
        margin-left: calc(3rem * calc(1 - var(--tw-space-x-reverse)));
    }
}
.loyalty__banner-inner:where([dir="rtl"], [dir="rtl"] *) > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 1;
}
.loyalty__banner-content{
    flex: 1 1 0%;
    align-items: center;
    justify-content: space-between;
}
@media (min-width: 768px){
    .loyalty__banner-content{
        display: flex;
    }
}
.loyalty__banner-content .info{
    margin-bottom: 1.5rem;
}
@media (min-width: 768px){
    .loyalty__banner-content .info{
        margin-bottom: 0px;
    }
}
.loyalty__banner-content .info h1{
    margin-bottom: 0.625rem;
    font-size: 1.875rem;
    line-height: 2.25rem;
    font-weight: 700;
}
.loyalty__banner-content .info p{
    margin-bottom: 0.5rem;
    max-width: 20rem;
    line-height: 1.5rem;
    --tw-text-opacity: 1;
    color: rgba(107, 114, 128, 1);
    color: rgba(107, 114, 128, var(--tw-text-opacity, 1));
}
.loyalty__banner .loyalty-points{
    font-size: 0.875rem;
    line-height: 1.25rem;
    --tw-text-opacity: 1;
    color: rgba(107, 114, 128, 1);
    color: rgba(107, 114, 128, var(--tw-text-opacity, 1));
}
.loyalty__banner .loyalty-points .count-number{
    font-size: 2.25rem;
    line-height: 2.5rem;
    font-weight: 700;
    color: #414042;
    color: var(--color-primary);
}
.loyalty__banner .loyalty-points .count-number:where([dir="ltr"], [dir="ltr"] *){
    margin-left: 0.625rem;
}
.loyalty__banner .loyalty-points .count-number:where([dir="rtl"], [dir="rtl"] *){
    margin-right: 0.625rem;
}
.loyalty-star{
    position: absolute;
    z-index: 0;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    opacity: 0.7;
}
input[type=radio].sr-only div.loyalty-star {
  transition: all 0.3s;
}
input[type=radio].sr-only:checked ~ div.loyalty-star {
  border-color: var(--color-main);
}
.loyalty-star i{
    font-size: 400px;
    --tw-text-opacity: 1;
    color: rgba(243, 244, 246, 1);
    color: rgba(243, 244, 246, var(--tw-text-opacity, 1));
}
.loyalty-star--first{
    right: -6rem;
    top: -12rem;
    --tw-rotate: -45deg;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(-45deg) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.loyalty-star--second{
    left: -4rem;
    bottom: -10rem;
    --tw-rotate: -90deg;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(-90deg) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.loyalty .product-entry__image {
  flex-shrink: initial;
}

.points-ways__list{
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    grid-gap: 0.625rem;
    gap: 0.625rem;
}

@media (min-width: 640px){
    .points-ways__list{
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 2rem;
    }
}

@media (min-width: 768px){
    .points-ways__list{
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (min-width: 1024px){
    .points-ways__list{
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}
.points-ways__list .way-item{
    display: flex;
    width: 100%;
    flex-direction: column;
    border-radius: 0.375rem;
    --tw-bg-opacity: 1;
    background-color: rgba(255, 255, 255, 1);
    background-color: rgba(255, 255, 255, var(--tw-bg-opacity, 1));
    padding: 1.5rem;
    opacity: 1;
    --tw-shadow: 5px 10px 30px #2B2D340D;;
    --tw-shadow-colored: 5px 10px 30px var(--tw-shadow-color);
    box-shadow: 0 0 rgba(0,0,0,0), 0 0 rgba(0,0,0,0), 5px 10px 30px #2B2D340D;;
    box-shadow: var(--tw-ring-offset-shadow, 0 0 rgba(0,0,0,0)), var(--tw-ring-shadow, 0 0 rgba(0,0,0,0)), var(--tw-shadow);
}
.points-ways__list .way-item__icon{
    position: relative;
    display: flex;
    height: 3rem;
    width: 3rem;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
}
.points-ways__list .way-item__icon span{
    position: absolute;
    top: 0px;
    right: 0px;
    bottom: 0px;
    left: 0px;
    z-index: 0;
    height: 100%;
    width: 100%;
    border-radius: 9999px;
    opacity: 0.1;
}
input[type=radio].sr-only div.points-ways__list .way-item__icon span {
  transition: all 0.3s;
}
input[type=radio].sr-only:checked ~ div.points-ways__list .way-item__icon span {
  border-color: var(--color-main);
}
.points-ways__list .way-item__content{
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}
.points-ways__list .way-item__content h4{
    word-break: break-all;
    font-size: 1.25rem;
    line-height: 1.75rem;
    font-weight: 700;
}
.points-ways__list .way-item__content p{
    font-size: 0.875rem;
    line-height: 1.25rem;
    --tw-text-opacity: 1;
    color: rgba(156, 163, 175, 1);
    color: rgba(156, 163, 175, var(--tw-text-opacity, 1));
}
.points-ways__list .way-item__action{
    margin-top: auto;
    padding-top: 1rem;
}

.virtooal {
  margin: 15px 0;
  border-radius: 10px;
  border: 1px solid rgb(229, 229, 229);
  background: white;
}
@media screen and (min-width: 992px) {
  .virtooal {
    padding: 18px;
  }
}
.virtooal--content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: row;
}
.virtooal--details {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: column;
}
@media (max-width: 992px) {
  .virtooal--details {
    display: none;
  }
}
.virtooal--details--title {
  font-size: 16px;
  font-weight: 700;
  color: #1F2937;
}
.virtooal--details--desc {
  font-size: 13px;
  color: #7C8082;
  font-weight: 400;
}
@media (max-width: 992px) {
  .virtooal--action {
    width: 100%;
  }
}
.virtooal--action button {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  border: 1px solid #414042;
  border: 1px solid var(--color-primary);
  font-weight: 700;
  font-size: 14px;
  padding: 8px 30px;
  font-size: 0.875rem;
  padding: 0.5rem 1.5rem 0.625rem 1.5rem;
  line-height: 1.25rem;
  background: #414042;
  background: var(--color-primary);
  color: #ff6767;
  color: var(--color-primary-reverse);
  border-radius: 5px;
}
.virtooal--action button:hover {
  background: var(--color-primary-dark);
  opacity: 0.8 !important;
}
@media (max-width: 992px) {
  .virtooal--action button {
    width: 100%;
  }
}
.virtooal--action button .icon {
  width: 14px;
  height: 14px;
}
[dir=rtl] .virtooal--action button .icon {
  margin-left: 0.75rem;
}
[dir=ltr] .virtooal--action button .icon {
  margin-right: 0.75rem;
}

.s-add-product-toast{
    position: fixed;
    z-index: 9999;
    display: flex;
    width: 100vw;
    flex-direction: column;
    gap: 1rem;
    overflow: hidden;
    --tw-bg-opacity: 1;
    background-color: rgba(255, 255, 255, 1);
    background-color: rgba(255, 255, 255, var(--tw-bg-opacity, 1));
    padding: 1.25rem;
    --tw-shadow: 5px 10px 30px #2B2D340D;;
    --tw-shadow-colored: 5px 10px 30px var(--tw-shadow-color);
    box-shadow: 0 0 rgba(0,0,0,0), 0 0 rgba(0,0,0,0), 5px 10px 30px #2B2D340D;;
    box-shadow: var(--tw-ring-offset-shadow, 0 0 rgba(0,0,0,0)), var(--tw-ring-shadow, 0 0 rgba(0,0,0,0)), var(--tw-shadow);
  top: 0;
  left: 0;
  right: 0;
  opacity: 0;
  transform: translateY(-100%);
  transition: opacity 0.3s ease-out, transform 0.3s ease-out;
}
.s-add-product-toast.s-add-product-toast--visible {
  opacity: 1;
  transform: translateY(0);
}
@media (min-width: 768px) {
  .s-add-product-toast{
        width: 400px;
        border-radius: 0.5rem;
    top: 1rem;
    left: auto;
    right: auto;
    }
  [dir=rtl] .s-add-product-toast {
    left: 1rem;
    transform: translateX(-100%);
  }
  [dir=rtl] .s-add-product-toast.s-add-product-toast--visible {
    transform: translateX(0);
  }
  [dir=ltr] .s-add-product-toast {
    right: 1rem;
    transform: translateX(100%);
  }
  [dir=ltr] .s-add-product-toast.s-add-product-toast--visible {
    transform: translateX(0);
  }
}
.s-add-product-toast__progress{
    height: 0.5rem;
    width: 100%;
    --tw-bg-opacity: 1;
    background-color: rgba(243, 244, 246, 1);
    background-color: rgba(243, 244, 246, var(--tw-bg-opacity, 1));
}
.s-add-product-toast__progress-bar{
    height: 100%;
    --tw-bg-opacity: 1;
    background-color: rgba(34, 197, 94, 1);
    background-color: rgba(34, 197, 94, var(--tw-bg-opacity, 1));
  transition: width 50ms linear;
}
.s-add-product-toast__header{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
}
.s-add-product-toast__header-content{
    display: flex;
    align-items: center;
    gap: 0.625rem;
}
.s-add-product-toast__icon{
    flex-shrink: 0;
}
.s-add-product-toast__title{
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 700;
    --tw-text-opacity: 1;
    color: rgba(31, 41, 55, 1);
    color: rgba(31, 41, 55, var(--tw-text-opacity, 1));
}
.s-add-product-toast__close{
    display: flex;
    height: 1.5rem;
    width: 1.5rem;
    flex-shrink: 0;
    cursor: pointer;
    align-items: center;
    justify-content: center;
    border-width: 0px;
    background-color: transparent;
    padding: 0px;
}
.s-add-product-toast__close * {
  pointer-events: none;
}
.s-add-product-toast__close i{
    font-size: 1.125rem;
    line-height: 1.75rem;
    --tw-text-opacity: 1;
    color: rgba(156, 163, 175, 1);
    color: rgba(156, 163, 175, var(--tw-text-opacity, 1));
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.s-add-product-toast__close:hover i{
    --tw-text-opacity: 1;
    color: rgba(75, 85, 99, 1);
    color: rgba(75, 85, 99, var(--tw-text-opacity, 1));
}
.s-add-product-toast__divider{
    height: 1px;
    --tw-bg-opacity: 1;
    background-color: rgba(229, 231, 235, 1);
    background-color: rgba(229, 231, 235, var(--tw-bg-opacity, 1));
}
.s-add-product-toast__body{
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
}
.s-add-product-toast__image{
    height: 5rem;
    width: 5rem;
    flex-shrink: 0;
    overflow: hidden;
    border-radius: 0.5rem;
    border-width: 1px;
    --tw-border-opacity: 1;
    border-color: rgba(243, 244, 246, 1);
    border-color: rgba(243, 244, 246, var(--tw-border-opacity, 1));
    --tw-bg-opacity: 1;
    background-color: rgba(249, 250, 251, 1);
    background-color: rgba(249, 250, 251, var(--tw-bg-opacity, 1));
    -o-object-fit: contain;
       object-fit: contain;
}
.s-add-product-toast__image img{
    height: 100%;
    width: 100%;
    -o-object-fit: contain;
       object-fit: contain;
}
@media (min-width: 768px) {
  .s-add-product-toast__image{
        height: 88px;
        width: 88px;
    }
}
.s-add-product-toast__details{
    display: flex;
    min-width: 0px;
    flex: 1 1 0%;
    flex-direction: column;
    gap: 0.25rem;
}
.s-add-product-toast__name{
    display: block;
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 600;
    line-height: 1.375;
    --tw-text-opacity: 1;
    color: rgba(31, 41, 55, 1);
    color: rgba(31, 41, 55, var(--tw-text-opacity, 1));
    text-decoration-line: none;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.s-add-product-toast__name:hover{
    color: #414042;
    color: var(--color-primary);
}
.s-add-product-toast__options{
    margin-top: 0.25rem;
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
}
.s-add-product-toast__options span{
    font-size: 0.75rem;
    line-height: 1rem;
    line-height: 1.625;
    --tw-text-opacity: 1;
    color: rgba(107, 114, 128, 1);
    color: rgba(107, 114, 128, var(--tw-text-opacity, 1));
}
@media (min-width: 768px) {
  .s-add-product-toast__options span{
        font-size: 0.875rem;
        line-height: 1.25rem;
    }
}
.s-add-product-toast__show-more{
    margin-top: 0.125rem;
    font-size: 0.75rem;
    line-height: 1rem;
    font-weight: 500;
    color: #414042;
    color: var(--color-primary);
    text-decoration-line: underline;
}
.s-add-product-toast__show-more:hover{
    text-decoration-line: none;
}
@media (min-width: 768px) {
  .s-add-product-toast__show-more{
        font-size: 0.875rem;
        line-height: 1.25rem;
    }
}
.s-add-product-toast__price{
    display: flex;
    flex-shrink: 0;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.25rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 700;
    --tw-text-opacity: 1;
    color: rgba(31, 41, 55, 1);
    color: rgba(31, 41, 55, var(--tw-text-opacity, 1));
}
@media (min-width: 768px) {
  .s-add-product-toast__price{
        font-size: 1rem;
        line-height: 1.5rem;
    }
}
.s-add-product-toast__price-sale{
    --tw-text-opacity: 1;
    color: rgba(153, 27, 27, 1);
    color: rgba(153, 27, 27, var(--tw-text-opacity, 1));
}
.s-add-product-toast__price-original{
    font-size: 0.75rem;
    line-height: 1rem;
    font-weight: 400;
    --tw-text-opacity: 1;
    color: rgba(107, 114, 128, 1);
    color: rgba(107, 114, 128, var(--tw-text-opacity, 1));
    text-decoration-line: line-through;
}
.cart-item__price.s-add-product-toast__price-original {
  font-size: 0.85rem;
  font-weight: 500;
  opacity: 0.6;
}
@media (min-width: 768px) {
  .s-add-product-toast__price-original{
        font-size: 0.875rem;
        line-height: 1.25rem;
    }
}
.s-add-product-toast__actions{
    display: flex;
    gap: 0.75rem;
}
.s-add-product-toast__actions salla-button{
    flex: 1 1 0%;
}
.s-add-product-toast__actions salla-button svg{
    display: inline-flex;
    flex-shrink: 0;
}
.s-add-product-toast__actions salla-button svg path {
  fill: none;
}
.s-add-product-toast__actions salla-button .s-button-btn{
    border-radius: 0px;
}
.s-add-product-toast__actions salla-button .s-button-btn.s-button-gray-outline{
    --tw-border-opacity: 1;
    border-color: rgba(229, 231, 235, 1);
    border-color: rgba(229, 231, 235, var(--tw-border-opacity, 1));
    --tw-text-opacity: 1;
    color: rgba(31, 41, 55, 1);
    color: rgba(31, 41, 55, var(--tw-text-opacity, 1));
}

/* =========================================================
   GLOW BUTTON — reusable theme button
   Markup: src/views/components/custom/button.twig
   JS:     src/assets/js/partials/glow-button.js

   Original animated-shine design, driven by custom properties
   set inline by the Twig include:

     --button-background     inner fill
     --button-color          label colour
     --button-ring           ring colour — first tone
     --button-ring-2         ring colour — second tone   (default: same = flat)
     --button-ring-size      ring thickness              (default 0)
     --button-ring-speed     one ring rotation           (default 4s)
     --button-radius         corner radius     (default: theme btns_radius_val)
     --button-inner-shadow   INSET glow colour  (default: a lightened, translucent
                             tone of --button-ring, so the glow tracks ring_color)
     --button-inner-size     inset shadow spread         (default 22px)
     --button-shadow         outer drop shadow colour    (transparent = off)
     --button-shine-left /
     --button-shine-right    rotating shine gradient     (default white)
     --button-shine-size     shine ring thickness        (default 3px)
     --button-shine-speed    one shine rotation          (default 2s)
     --button-halo           soft outer glow colour      (default white 22%)
     --button-halo-size      soft outer glow blur        (default 18px)
     --button-glow-start /
     --button-glow-end       pointer-follow glow ramp
                             (default: both ends derived from --button-ring,
                              lightened — so the glow tracks ring_color)
     --button-glow-lightness how much white is mixed in    (default 45%)
   ========================================================= */
/* Registered so it can be animated — an unregistered custom property is just a
   token stream and won't interpolate, so the ring would jump instead of spin. */
@property --button-ring-angle {
  syntax: "<angle>";
  inherits: true;
  initial-value: 0deg;
}
/* Registered as <color> so getComputedStyle() in glow-button.js receives a
   resolved colour instead of the literal "color-mix(...)" token stream. */
@property --button-glow-start {
  syntax: "<color>";
  inherits: true;
  initial-value: transparent;
}
@property --button-glow-end {
  syntax: "<color>";
  inherits: true;
  initial-value: transparent;
}
.glow-button {
  /* Defaults only — every one of these is meant to be overridden inline by
     button.twig. They lean on the theme's own variables so a merchant colour
     setting still reaches the button when nothing is passed. */
  --button-background: var(--color-primary);
  --button-color: #fff;
  /* Ring defaults to the primary colour but 0 thickness — invisible until an
     include asks for it, while still serving as the glow's colour source. */
  /* The ring is the animated element: a two-tone conic gradient that spins.
     The second tone auto-derives as a lightened highlight of --button-ring, so
     passing a single ring_color already yields the glowing sweep in the design.
     Pass --button-ring-2 explicitly only to override that derived highlight. */
  --button-ring: var(--color-primary);
  --button-ring-2: color-mix(in srgb, var(--button-ring), #fff 65%);
  --button-ring-size: 0px;
  --button-ring-speed: 4s;
  /* Inset "lit from within" glow. Derived from the ring — lightened toward white
     then dropped to ~45% alpha — so the signature purple effect now follows
     whatever ring_color a section passes, for any colour. The --flat variant and
     an explicit inner_shadow both still override it. */
  --button-inner-shadow: color-mix(in srgb, color-mix(in srgb, var(--button-ring), #fff 50%) 45%, transparent);
  --button-inner-size: 22px;
  --button-shadow: transparent;
  /* Optional extra shine layer behind the fill — off by default now that the
     ring itself carries the motion. Pass shine_left/shine_right to bring back. */
  --button-shine-left: transparent;
  --button-shine-right: transparent;
  --button-shine-size: 1px;
  --button-shine-speed: 2s;
  /* Optional soft outer halo — off by default. Pass halo to bring it back. */
  --button-halo: transparent;
  --button-halo-size: 8px;
  /* Pointer-follow glow: both ramp ends derive from --button-ring (lightened by
     different amounts), so the blob that tracks the cursor takes ring_color for
     any colour instead of leaning on the fill. */
  --button-glow-lightness: 45%;
  --button-glow-start: color-mix(in srgb, var(--button-ring), #fff var(--button-glow-lightness));
  --button-glow-end: color-mix(in srgb, var(--button-ring), #fff 72%);
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  outline: none;
  border: none;
  -webkit-text-decoration: none;
  text-decoration: none;
  font-family: inherit;
  font-size: 15px;
  font-weight: 500;
  position: relative;
  line-height: 24px;
  cursor: pointer;
  color: #fff;
  color: var(--button-color);
  padding: 0;
  margin: 0;
  background: none;
  z-index: 1;
  display: inline-block;
  /* Theme Editor radius (btns_radius_val) wins unless an include passes one */
  border-radius: var(--button-radius, var(--border-radius-button));
  box-shadow: 0 0 8px transparent, 0 8px 20px transparent;
  box-shadow: 0 0 var(--button-halo-size) var(--button-halo), 0 8px 20px var(--button-shadow);
}

/* Rotating shine ring.
   Thickness comes from the negative inset — the original relied on
   scaleY(1.02) alone, which gave a hairline that couldn't be tuned. */
.glow-button .gradient {
  position: absolute;
  top: calc(-1 * var(--button-shine-size));
  right: calc(-1 * var(--button-shine-size));
  bottom: calc(-1 * var(--button-shine-size));
  left: calc(-1 * var(--button-shine-size));
  border-radius: calc(var(--button-radius, var(--border-radius-button)) + var(--button-shine-size));
  overflow: hidden;
  -webkit-mask-image: -webkit-radial-gradient(white, black);
  transform: scaleY(1.01) scaleX(1.003) rotate(-0.35deg);
  z-index: 0;
}

.glow-button .gradient:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  transform: scale(1.05) translateY(-44px) rotate(0deg) translateZ(0);
  padding-bottom: 100%;
  border-radius: 50%;
  background: linear-gradient(90deg, var(--button-shine-left), var(--button-shine-right));
  animation-name: glow-button-rotate;
  animation-duration: var(--button-shine-speed);
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}

/* Inner fill — carries the ring border and the inset shadow.
   Direct child only: the label lives in a nested <span>. */
.glow-button > span {
  /* The ring's spin lives here, not on the ::after that draws it. The angle is
     a registered custom property (`inherits: true`), so the pseudo reads the
     animated value straight off its parent — and animating a registered
     property on a real element is far better supported than animating one on a
     pseudo-element, which is where this silently stopped moving. */
  animation: glow-button-ring-spin var(--button-ring-speed) linear infinite;
  z-index: 1;
  position: relative;
  display: block;
  padding: 10px 28px;
  box-sizing: border-box;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 124px;
  border-radius: inherit;
  background-color: var(--button-background);
  /* Inset so the span keeps its intrinsic size — a real border would grow it
     and cover the sliver of rotating shine that .gradient exposes. */
  box-shadow: inset 0 -8px var(--button-inner-size) var(--button-inner-shadow);
  overflow: hidden;
  -webkit-mask-image: -webkit-radial-gradient(white, black);
  text-align: center;
}

/* Two-tone ring — a gradient hollowed out by an xor mask, so it can hold two
   colours (a plain inset box-shadow can only be one). Sits on ::after because
   ::before is the pointer glow. Invisible while --button-ring-size is 0. */
.glow-button > span:after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  border-radius: inherit;
  padding: var(--button-ring-size);
  /* Conic so the two tones travel around the ring seamlessly when the angle
     animates. The first colour is repeated at the end to avoid a hard seam. */
  background: conic-gradient(from var(--button-ring-angle), var(--button-ring), var(--button-ring-2, var(--button-ring)), var(--button-ring));
  -webkit-mask: linear-gradient(#000 0, #000 0) content-box, linear-gradient(#000 0, #000 0);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask: linear-gradient(#000 0, #000 0) content-box, linear-gradient(#000 0, #000 0);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
          mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
  z-index: 2;
}

/* Pointer-follow glow blob */
.glow-button > span:before {
  content: "";
  position: absolute;
  left: -16px;
  top: -16px;
  transform: translate(0px, 0px) translateZ(0);
  transform: translate(var(--pointer-x, 0px), var(--pointer-y, 0px)) translateZ(0);
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-color: transparent;
  background-color: var(--button-glow, transparent);
  opacity: 0;
  opacity: var(--button-glow-opacity, 0);
  transition: opacity 0.5s;
  transition: opacity var(--button-glow-duration, 0.5s);
  filter: blur(20px);
}

.glow-button:hover {
  --button-glow-opacity: 1;
  --button-glow-duration: 0.25s;
}

/* Variant: with icon — the fill becomes a flex row so the icon and the label
   sit on one baseline with a tunable gap. DOM order decides the side, so RTL
   mirrors it automatically. */
.glow-button--has-icon > span {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  gap: var(--button-icon-gap, 0.5rem);
}

.glow-button__icon {
  flex: none;
  line-height: 1;
  font-size: 1.1em;
  font-size: var(--button-icon-size, 1.1em);
  color: currentColor;
  color: var(--button-icon-color, currentColor);
}

/* Icon with no label — drop the label-driven min-width and square the padding */
.glow-button--icon-only > span {
  min-width: 0;
  padding: 10px 14px;
}

/* Variant: no shadows (outer drop + inset off). The halo stays — it belongs to
   the rotating shine, which is the constant across both button shapes. */
.glow-button--flat {
  --button-shadow: transparent;
  --button-inner-shadow: transparent;
}

/* Variant: static ring, no rotating shine */
.glow-button--static .gradient {
  display: none;
}

@keyframes glow-button-ring-spin {
  to {
    --button-ring-angle: 360deg;
  }
}
@keyframes glow-button-rotate {
  to {
    transform: scale(1.05) translateY(-44px) rotate(360deg) translateZ(0);
  }
}
/**
 * خلفية المتجر المتحركة — جزيئات مضيئة تصعد للأعلى
 * الماركب بيتولّد من `src/assets/js/partials/store-bg.js`
 * والتفعيل من إعداد `enable_store_bg` في twilight.json.
 */
.store-bg {
  /* الـ master.twig بيحقن قيمة إعداد `store_bg_color` هنا inline */
  --store-bg-color: #ff9d23;
  pointer-events: none;
  position: fixed;
  top: 0px;
  right: 0px;
  bottom: 0px;
  left: 0px;
  overflow: hidden;
  z-index: 0;
  contain: strict;
}
.store-bg__particle{
    position: absolute;
    border-radius: 9999px;
}
input[type=radio].sr-only div.store-bg__particle {
  transition: all 0.3s;
}
input[type=radio].sr-only:checked ~ div.store-bg__particle {
  border-color: var(--color-main);
}
.store-bg__particle {
  width: 3px;
  width: var(--size, 3px);
  height: 3px;
  height: var(--size, 3px);
  left: 50%;
  left: var(--x, 50%);
  bottom: -20px;
  opacity: 0;
  will-change: transform, opacity;
  background: var(--store-bg-color);
  /* fallback للمتصفحات القديمة اللي مابتعرفش color-mix */
  box-shadow: 0 0 4px var(--store-bg-color), 0 0 12px var(--store-bg-color), 0 0 20px var(--store-bg-color);
  /* التوهج الخارجي أغمق شوية من قلب الجزيئة — نفس تدرّج التصميم الأصلي
     (#ff9d23 في القلب و #ff6c00 في الهالة) بس مشتق من لون التاجر */
  animation: store-bg-rise 20s linear 0s infinite, store-bg-fade 20s linear 0s infinite, store-bg-flicker 3s ease-in-out 0s infinite;
  animation: store-bg-rise var(--life, 20s) linear var(--delay, 0s) infinite, store-bg-fade var(--life, 20s) linear var(--delay, 0s) infinite, store-bg-flicker var(--flicker, 3s) ease-in-out var(--delay, 0s) infinite;
}

@supports (color: color-mix(in lch, red, blue)){
.store-bg__particle {
  box-shadow: 0 0 4px var(--store-bg-color), 0 0 12px color-mix(in srgb, var(--store-bg-color) 82%, #000), 0 0 20px color-mix(in srgb, var(--store-bg-color) 82%, #000);
}
}

/* المحتوى فوق الخلفية — الحاوية z-index:0 فلازم الـ app-inner يبقى أعلى منها */
body.has-store-bg .app-inner{
    position: relative;
  z-index: 1;
}

@keyframes store-bg-rise {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(0, calc(-100vh - 40px), 0);
    transform: translate3d(var(--drift, 0), calc(-100vh - 40px), 0);
  }
}
@keyframes store-bg-fade {
  0% {
    opacity: 0;
  }
  15% {
    opacity: 0.8;
    opacity: var(--max-opacity, 0.8);
  }
  85% {
    opacity: calc(0.8 * 0.65);
    opacity: calc(var(--max-opacity, 0.8) * 0.65);
  }
  100% {
    opacity: 0;
  }
}
/* الوميض العضوي — brightness بدل الـ opacity عشان ماتتعارضش مع الـ fade */
@keyframes store-bg-flicker {
  0%, 100% {
    filter: brightness(1);
  }
  50% {
    filter: brightness(0.55);
  }
}
@media (prefers-reduced-motion: reduce) {
  .store-bg{
        display: none;
    }
}
/* =========================================================
   CART PAGE
   Markup: src/views/pages/cart.twig
           src/views/pages/partials/product/options.twig

   Every colour here reads a --cart-* custom property. Those are declared on
   :root by cart.twig, which is the only place the Theme-Editor values are
   interpolated — nothing in this file is hard-coded:

     --cart-text-color         item title, meta, option labels
     --cart-price-color        unit price
     --cart-item-total-color   per-item total
     --cart-summary-bg         order-summary surfaces
     --cart-summary-text-color order-summary labels
     --cart-summary-total-color order-summary grand total
     --cart-summary-btn-bg     checkout button

   Selectors that reach into Salla components (.s-*) all carry a class-count
   advantage over the component's own CSS, so they don't depend on load order —
   the component stylesheet is injected at runtime, after app.css.
   ========================================================= */
/* ── Page header ─────────────────────────────────── */
.cart-header {
  margin-bottom: 1.5rem;
}

.cart-header__title {
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.2;
  color: var(--cart-text-color);
}

.cart-header__subtitle {
  margin-top: 0.35rem;
  font-size: 0.9rem;
  color: var(--cart-text-color);
  opacity: 0.55;
}

/* ── Items plate (`cart_items_bg_enabled`) ───────────
 *
 * The cart's counterpart to `.p-details-plate` on the product page, with one
 * deliberate difference: no `backdrop-filter`. `salla-offer` renders inside
 * this column and its modal is `position: fixed`, and a backdrop filter on an
 * ancestor makes that ancestor the modal's containing block — the modal would
 * be trapped in the items column instead of covering the screen. So the colour
 * goes on solid, which is also what the setting's help text promises.
 *
 * The rows have no gutter of their own (`.cart-item` is `padding: 1.25rem 0`),
 * so the plate supplies the horizontal one — without it the media thumbnail
 * would sit flush against the colour's edge.
 */
.cart-items-plate {
  background-color: var(--cart-items-bg);
  border-radius: var(--border-radius-card);
  padding: 0.25rem 1rem;
}
@media (min-width: 640px) {
  .cart-items-plate {
    padding: 0.5rem 1.5rem;
  }
}

/* ── Item row: media · info · quantity · total · remove ─── */
.cart-item {
  position: relative;
  padding: 1.25rem 0;
  border-bottom: 1px solid var(--store-border-color);
}

.main-content form:last-of-type .cart-item {
  border-bottom: 0;
}

.cart-item__row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.75rem 1rem;
  margin-bottom: 1rem;
}

.cart-item__media {
  position: relative;
  flex: none;
  width: 72px;
  height: 72px;
  border-radius: 14px;
  overflow: hidden;
}
.cart-item__media img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.cart-item__info {
  flex: 0 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.cart-item__title {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
  color: var(--cart-text-color);
}

.cart-item__subtitle {
  font-size: 0.75rem;
  line-height: 1.4;
  color: var(--cart-text-color);
  opacity: 0.55;
}

.cart-item__price {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 1.45rem;
  font-weight: 700;
  line-height: 1.4;
  color: var(--cart-price-color);
  /* struck-through "was" price reads as secondary */
}
.cart-item__price.line-through {
  font-size: 0.85rem;
  font-weight: 500;
  opacity: 0.6;
}

.cart-item__meta {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.8rem;
  color: var(--cart-text-color);
  opacity: 0.7;
}

.cart-item__remove {
  flex: none;
}

/* auto margins eat the row's free space on both sides -> centred quantity */
.cart-item__qty {
  flex: none;
  margin-left: auto;
  margin-right: auto;
}

.cart-item__total {
  flex: none;
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--cart-item-total-color);
}

/* the design shows the amount only; the label stays for screen readers */
.cart-item__total-label {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

/* free-product ribbon, anchored to the square media box */
.free-ribbon {
  position: absolute;
  top: 8px;
  right: -34px;
  width: 110px;
  transform: rotate(45deg);
  padding-top: 2px;
  padding-bottom: 2px;
  text-align: center;
  font-size: 0.65rem;
  font-weight: 700;
}

/* ── Quantity pill ───────────────────────────────── */
/* salla-quantity-input renders increase · input · decrease */
.cart-item .s-quantity-input-container {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.3rem;
  border: 1px solid #414042;
  border: 1px solid var(--color-primary);
  border-radius: var(--border-radius-button);
  background-color: transparent;
}
.cart-item .s-quantity-input-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  width: 30px;
  height: 30px;
  padding: 0;
  border: 0;
  border-radius: var(--border-radius-button);
  background-color: #414042;
  background-color: var(--color-primary);
  color: #ff6767;
  color: var(--color-primary-reverse);
}
.cart-item .s-quantity-input-button svg {
  width: 12px;
  height: 12px;
  fill: currentColor;
}
.cart-item .s-quantity-input-input {
  width: 2.25rem;
  padding: 0;
  border: 0;
  outline: none;
  box-shadow: none;
  text-align: center;
  font-weight: 600;
  background-color: transparent;
  color: var(--cart-text-color);
}

/* the design puts + on the start side, the reverse of the component's DOM order.
   Kept here rather than in 02-generic/rtl.scss: it belongs to this one control. */
[dir=rtl] .cart-item .s-quantity-input-container {
  flex-direction: row-reverse;
}

/* ── Remove button ───────────────────────────────── */
/* icon only; colour inherited from the .text-danger wrapper in the markup */
.cart-item__remove .s-button-element {
  min-width: 0;
  padding: 0.25rem;
  border: 0;
  box-shadow: none;
  background-color: transparent;
  color: inherit;
}
.cart-item__remove .s-button-text {
  color: inherit;
  font-size: 1.05rem;
}

/* ── Product options ─────────────────────────────── */
/* Every chip wears the selected chip's look — transparent fill, primary outline —
   so only opacity separates the states. Each type has its own hook because the
   chip element differs; see the notes per block. */
.cart-item .s-product-options-wrapper {
  display: block;
  margin-top: 0.85rem;
  padding: 0;
  background-color: transparent;
}
.cart-item .s-product-options-option,
.cart-item .s-product-options-option-container {
  background-color: transparent;
}
.cart-item .s-product-options-option-label {
  color: var(--cart-text-color);
}
.cart-item {
  /* grid-mode: chip is the <span> right after the radio.
     The `label input +` prefix outranks Salla's own :checked rule, which would
     otherwise repaint the selected chip and break the match. */
}
.cart-item .s-product-options-grid-mode label input + .s-product-options-grid-mode-span {
  background-color: transparent;
  border: 1px solid #414042;
  border: 1px solid var(--color-primary);
  color: var(--cart-text-color);
  opacity: 0.45;
  transition: opacity 0.2s ease;
}
.cart-item .s-product-options-grid-mode label:hover input + .s-product-options-grid-mode-span {
  opacity: 0.75;
}
.cart-item .s-product-options-grid-mode label {
  /* last: ties with the :hover rule on specificity, so order decides */
}
.cart-item .s-product-options-grid-mode label input:checked + .s-product-options-grid-mode-span {
  opacity: 1;
}
.cart-item {
  /* digital-card (country / code value): the chip is the <label> itself and the
     input may be followed by a flag <img>, so there is no adjacent-sibling span
     to hook — the state comes off :has(). */
}
.cart-item .s-product-options-digital-card-wrapper label.s-product-options-digital-card-option {
  background-color: transparent;
  border: 1px solid #414042;
  border: 1px solid var(--color-primary);
  color: var(--cart-text-color);
  opacity: 0.45;
  transition: opacity 0.2s ease;
}
.cart-item .s-product-options-digital-card-wrapper label.s-product-options-digital-card-option span {
  color: inherit;
}
.cart-item .s-product-options-digital-card-wrapper label.s-product-options-digital-card-option:hover {
  opacity: 0.75;
}
.cart-item .s-product-options-digital-card-wrapper label.s-product-options-digital-card-option {
  /* last again — ties with :hover */
}
.cart-item .s-product-options-digital-card-wrapper label.s-product-options-digital-card-option:has(input:checked) {
  opacity: 1;
}
.cart-item {
  /* multiple-options (checkboxes): chip is the unclassed <div> after the input,
     so it needs its own geometry as well as the colours. */
}
.cart-item .s-product-options-multiple-options-wrapper label input + div {
  background-color: transparent;
  border: 1px solid #414042;
  border: 1px solid var(--color-primary);
  border-radius: var(--border-radius-button);
  padding: 0.35rem 0.75rem;
  color: var(--cart-text-color);
  opacity: 0.45;
  transition: opacity 0.2s ease;
}
.cart-item .s-product-options-multiple-options-wrapper label:hover input + div {
  opacity: 0.75;
}
.cart-item .s-product-options-multiple-options-wrapper label {
  /* last — ties with :hover */
}
.cart-item .s-product-options-multiple-options-wrapper label input:checked + div {
  opacity: 1;
}

/* ── Notes / file-upload panel ───────────────────── */
/* The partial is shared with the product page, where it keeps its white card,
   so every override is scoped to .cart-item. */
.cart-item .product-extras {
  background-color: transparent;
  /* The panel keeps its border from product.scss, so it keeps the gutter that
     goes with it — zeroing the inline padding left the triggers and the upload
     box painted right against that border. */
  padding: 1rem;
  color: var(--cart-text-color);
}
.cart-item .product-extras .form-label,
.cart-item .product-extras .profile-filepond-placholder-text,
.cart-item .product-extras .product-option-uploader-placholder-icon {
  color: var(--cart-text-color);
}
.cart-item .product-extras {
  /* note / attach triggers read as actions */
}
.cart-item .product-extras .btn-tab {
  color: #414042;
  color: var(--color-primary);
}
.cart-item .product-extras textarea.form-input {
  background-color: transparent;
  border: 1px solid var(--store-border-color);
  color: var(--cart-text-color);
}
.cart-item .product-extras .filepond--panel-root,
.cart-item .product-extras .s-file-upload-wrapper {
  background-color: transparent;
}

/* While salla-button loads it fades .s-button-text out — but on a .glow-button
   that span *is* the fill (background, ring, glow), so the whole button vanished.
   Keep the fill and the label, and pin the spinner to the inline end so it
   never sits on the text. `loading` lands on the salla-button host and on the
   <button>. */
/* ── Order summary card ──────────────────────────── */
.s-cart-summary-card {
  background-color: var(--cart-summary-bg) !important;
}
.s-cart-summary-card .s-cart-summary-card-sheet,
.s-cart-summary-card .s-cart-summary-card-bar,
.s-cart-summary-card .s-cart-summary-card-action {
  background-color: var(--cart-summary-bg) !important;
}
.s-cart-summary-card {
  /* the discount line keeps its own semantic colour */
}
.s-cart-summary-card .s-cart-summary-card-sheet-title,
.s-cart-summary-card .s-cart-summary-card-bar-label-text,
.s-cart-summary-card .s-cart-summary-card-bar-count,
.s-cart-summary-card .s-cart-summary-card-bar-label-sub,
.s-cart-summary-card .s-cart-summary-card-bar-original,
.s-cart-summary-card .s-cart-summary-card-chevron,
.s-cart-summary-card .s-cart-summary-card-line:not(.s-cart-summary-card-line--discount),
.s-cart-summary-card .s-cart-summary-card-line:not(.s-cart-summary-card-line--discount) span,
.s-cart-summary-card .s-cart-summary-card-line:not(.s-cart-summary-card-line--discount) b {
  color: var(--cart-summary-text-color);
}
.s-cart-summary-card .s-cart-summary-card-bar-total {
  font-size: 1.75rem;
  color: var(--cart-summary-total-color);
}

/* ── Coupon ─────────────*/
salla-cart-coupons .s-cart-coupons-coupon-label {
  color: var(--cart-summary-text-color);
}
salla-cart-coupons #coupon-input.form-input {
  flex: 1 1 auto;
  min-width: 0;
  height: 44px;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  background-color: transparent;
  border-color: var(--store-border-color);
  color: var(--cart-summary-text-color);
}
salla-cart-coupons #coupon-input.form-input::-moz-placeholder {
  color: var(--cart-summary-text-color);
  opacity: 0.5;
}
salla-cart-coupons #coupon-input.form-input::placeholder {
  color: var(--cart-summary-text-color);
  opacity: 0.5;
}
salla-cart-coupons #coupon-input.form-input {
  /* autofill repaints the field white; the inset shadow is the only way back */
}
salla-cart-coupons #coupon-input.form-input:-webkit-autofill, salla-cart-coupons #coupon-input.form-input:-webkit-autofill:hover, salla-cart-coupons #coupon-input.form-input:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0 1000px var(--cart-summary-bg) inset;
  -webkit-text-fill-color: var(--cart-summary-text-color);
}
salla-cart-coupons {
  /* Un-promoted fallback: the same pair of properties #s-cart-summary-card-submit
     gets below, so the button is already right if the script never runs. */
}
salla-cart-coupons button.s-cart-coupons-coupon-button-apply {
  background-color: var(--cart-summary-btn-bg);
  border-color: var(--cart-summary-btn-bg);
}
salla-cart-coupons .s-cart-coupons-coupon-button-apply.glow-button {
  position: relative;
}
salla-cart-coupons .s-cart-coupons-coupon-button-apply.glow-button > .s-button-loader {
  position: absolute;
  top: 50%;
  left: auto;
  right: 0.85rem;
  z-index: 3;
  margin: 0 !important;
  transform: translateY(-50%) !important;
  color: var(--button-color);
}
salla-cart-coupons .s-cart-coupons-coupon-button-apply.glow-button:is(.s-button-wrap[loading] > *) > .s-button-text {
  opacity: 1 !important;
  visibility: visible !important;
  color: var(--button-color) !important;
}
salla-cart-coupons .s-cart-coupons-coupon-button-apply.glow-button[loading]:not(.does-not-exist) > .s-button-text {
  opacity: 1 !important;
  visibility: visible !important;
  color: var(--button-color) !important;
}
salla-cart-coupons .s-cart-coupons-coupon-button-apply.glow-button {
  --button-background: var(--cart-summary-btn-bg);
  --button-ring: var(--cart-summary-btn-bg);
  --button-ring-size: 1.5px;
  flex: none;
  background-color: transparent;
  border-color: transparent;
  padding: 0;
  /* the fill's 124px default is sized for a section CTA — too wide beside the
     coupon field, so it shrinks to its label here */
}
salla-cart-coupons .s-cart-coupons-coupon-button-apply.glow-button > .s-button-text {
  min-width: 0;
  padding: 10px 22px;
}
salla-cart-coupons .s-cart-coupons-coupon-button-apply.glow-button {
  /* the loader is a second direct <span>; keep the fill styles off it */
}
salla-cart-coupons .s-cart-coupons-coupon-button-apply.glow-button > .s-button-loader {
  background-color: transparent;
  box-shadow: none;
  min-width: 0;
  padding: 0;
}
salla-cart-coupons .s-cart-coupons-coupon-button-apply.glow-button > .s-button-loader::before, salla-cart-coupons .s-cart-coupons-coupon-button-apply.glow-button > .s-button-loader::after {
  content: none;
}

/* ── Checkout button ─────────────────────────────── */
salla-cart-summary-card:not([data-enhanced-btn]) .s-cart-summary-card-action .s-button-element,
salla-cart-summary-card:not([data-enhanced-btn]) .s-cart-summary-card-action .s-button-solid.s-button-primary {
  background-color: var(--cart-summary-btn-bg);
  border-color: var(--cart-summary-btn-bg);
}

/* Enhanced: reuses the theme's .glow-button (04-components/button.scss). cart.js
   adds the classes to the <button> salla-button renders; its .s-button-text is
   already a direct <span> child, which is the fill element .glow-button expects. */
salla-cart-summary-card[data-enhanced-btn] .s-cart-summary-card-action .glow-button {
  position: relative;
}
salla-cart-summary-card[data-enhanced-btn] .s-cart-summary-card-action .glow-button > .s-button-loader {
  position: absolute;
  top: 50%;
  left: auto;
  right: 0.85rem;
  z-index: 3;
  margin: 0 !important;
  transform: translateY(-50%) !important;
  color: var(--button-color);
}
salla-cart-summary-card[data-enhanced-btn] .s-cart-summary-card-action .glow-button:is(.s-button-wrap[loading] > *) > .s-button-text {
  opacity: 1 !important;
  visibility: visible !important;
  color: var(--button-color) !important;
}
salla-cart-summary-card[data-enhanced-btn] .s-cart-summary-card-action .glow-button[loading]:not(.does-not-exist) > .s-button-text {
  opacity: 1 !important;
  visibility: visible !important;
  color: var(--button-color) !important;
}
salla-cart-summary-card[data-enhanced-btn] .s-cart-summary-card-action .glow-button {
  --button-background: var(--cart-summary-btn-bg);
  --button-ring: var(--cart-summary-btn-bg);
  --button-ring-size: 1.5px;
  display: block;
  width: 100%;
}
salla-cart-summary-card[data-enhanced-btn] .s-cart-summary-card-action .glow-button > .s-button-text {
  width: 100%;
  min-width: 0;
  padding-top: 12px;
  padding-bottom: 12px;
}
salla-cart-summary-card[data-enhanced-btn] .s-cart-summary-card-action .glow-button {
  /* the loader is a second direct <span>; keep the fill styles off it */
}
salla-cart-summary-card[data-enhanced-btn] .s-cart-summary-card-action .glow-button > .s-button-loader {
  background-color: transparent;
  box-shadow: none;
  min-width: 0;
  padding: 0;
}
salla-cart-summary-card[data-enhanced-btn] .s-cart-summary-card-action .glow-button > .s-button-loader::before, salla-cart-summary-card[data-enhanced-btn] .s-cart-summary-card-action .glow-button > .s-button-loader::after {
  content: none;
}

/* ── Mobile ──────────────────────────────────────── */
@media (max-width: 640px) {
  .cart-item__row {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    grid-gap: 0.75rem;
    gap: 0.75rem;
  }
  .cart-item__media {
    grid-column: 1;
    grid-row: 1;
  }
  .cart-item__info {
    grid-column: 2;
    grid-row: 1;
  }
  .cart-item__remove {
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
  }
  .cart-item__qty {
    grid-column: 1/3;
    grid-row: 2;
    justify-self: center;
    margin-left: 0;
    margin-right: 0;
  }
  .cart-item__total {
    grid-column: 3;
    grid-row: 2;
    justify-self: end;
  }
}
html.lenis,
html.lenis body {
  height: auto;
}

.lenis:not(.lenis-autoToggle).lenis-stopped {
  overflow: clip;
}

.lenis [data-lenis-prevent],
.lenis [data-lenis-prevent-wheel],
.lenis [data-lenis-prevent-touch],
.lenis [data-lenis-prevent-vertical],
.lenis [data-lenis-prevent-horizontal] {
  overscroll-behavior: contain;
}

.lenis.lenis-smooth iframe {
  pointer-events: none;
}

.lenis.lenis-autoToggle {
  transition-property: overflow;
  transition-duration: 1ms;
  transition-behavior: allow-discrete;
}

/* ─── Theme scrollbar ───── */
html.has-lenis-scrollbar {
  scrollbar-width: none;
  -ms-overflow-style: none;
}
html.has-lenis-scrollbar::-webkit-scrollbar,
html.has-lenis-scrollbar body::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}

.brq-scrollbar {
  position: fixed;
  top: 0;
  bottom: 0;
  right: 0;
  z-index: 2147483647; /* the native bar sits above everything — so does this one */
  width: 8px;
  background: var(--color-primary-lighter);
  cursor: default;
  transition: opacity 0.2s ease;
  /* Nothing to scroll, or an overlay owns the page (lenis-stopped clips the
     document exactly the same way). */
}
.brq-scrollbar.is-idle, html.lenis-stopped .brq-scrollbar {
  opacity: 0;
  pointer-events: none;
}

.brq-scrollbar__thumb {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 0;
  background: var(--color-primary-light);
  will-change: transform;
}
.brq-scrollbar__thumb:hover, html.is-scrollbar-dragging .brq-scrollbar__thumb {
  background: #414042;
  background: var(--color-primary);
}

/* Without this the drag selects text all the way down the page. */
html.is-scrollbar-dragging {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

@media print {
  .brq-scrollbar {
    display: none;
  }
}
body.mm-ocd-opened,
body.modal-is-open,
body.fancybox-open {
  overflow: hidden;
}
body.mm-ocd-opened #tidio-chat,
body.mm-ocd-opened [id^=gb-widget],
body.mm-ocd-opened [class$=__feedback],
body.mm-ocd-opened #fb-root,
body.mm-ocd-opened .fb_reset,
body.mm-ocd-opened #chat-widget-container,
body.modal-is-open #tidio-chat,
body.modal-is-open [id^=gb-widget],
body.modal-is-open [class$=__feedback],
body.modal-is-open #fb-root,
body.modal-is-open .fb_reset,
body.modal-is-open #chat-widget-container,
body.fancybox-open #tidio-chat,
body.fancybox-open [id^=gb-widget],
body.fancybox-open [class$=__feedback],
body.fancybox-open #fb-root,
body.fancybox-open .fb_reset,
body.fancybox-open #chat-widget-container {
  display: none !important;
}

/* CSS specific to iOS devices */
@supports (-webkit-touch-callout: none) {
  @media screen and (max-width: 767px) {
    .mobile #button {
      transform: translateY(-58px);
      margin-left: 5px;
    }
  }
}
@media (max-width: 1024px) {
  body.dropdown--is-opened {
    overflow: hidden;
  }
  body.dropdown--is-opened #tidio-chat,
  body.dropdown--is-opened [id^=gb-widget],
  body.dropdown--is-opened [class$=__feedback],
  body.dropdown--is-opened #fb-root,
  body.dropdown--is-opened .fb_reset,
  body.dropdown--is-opened #chat-widget-container {
    display: none !important;
  }
  #tidio-chat {
    z-index: 9999999999;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    pointer-events: none;
  }
  #tidio-chat #tidio-chat-iframe {
    bottom: 0 !important;
    pointer-events: auto;
  }
  [id^=gb-widget] {
    bottom: 20px !important;
    z-index: 9999 !important;
  }
  #fb-root .fb_dialog iframe[data-testid=bubble_iframe] {
    bottom: 20px !important;
  }
  iframe.tawk-widget {
    bottom: 20px !important;
  }
  #chat-widget-container {
    height: 100%;
    bottom: 0 !important;
  }
}
iframe.tawk-widget {
  display: block;
  bottom: 20px;
}

.is-sticky-product-bar.product-single [id^=gb-widget],
.is-sticky-product-bar.product-single iframe.tawk-widget,
.is-sticky-product-bar.product-single #fb-root .fb_dialog iframe[data-testid=bubble_iframe],
.is-sticky-product-bar.product-single iframe.tawk-widget {
  bottom: 70px !important;
}

@media (max-width: 640px) {
  .swal2-container {
    width: 100% !important;
  }
}
.swal2-container .swal2-popup.swal2-toast {
  max-width: 300px;
  padding: 0 10px 5px;
  box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.0705882353);
}
@media (max-width: 640px) {
  .swal2-container .swal2-popup.swal2-toast {
    max-width: 100%;
  }
}
.swal2-container .swal2-popup.swal2-toast .swal2-icon{
    --tw-scale-x: .5;
    --tw-scale-y: .5;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(.5) scaleY(.5);
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    animation: none;
}
.swal2-container .swal2-popup.swal2-toast .swal2-icon:where([dir="ltr"], [dir="ltr"] *){
    margin-right: 0.25rem;
    margin-left: -0.375rem;
}
.swal2-container .swal2-popup.swal2-toast .swal2-icon:where([dir="rtl"], [dir="rtl"] *){
    margin-left: 0.25rem;
    margin-right: -0.375rem;
}
.swal2-container .swal2-popup.swal2-toast .swal2-icon.swal2-success .swal2-success-ring{
    --tw-border-opacity: 1;
    border-color: rgba(255, 255, 255, 1);
    border-color: rgba(255, 255, 255, var(--tw-border-opacity, 1));
}
.swal2-container .swal2-popup.swal2-toast .swal2-icon.swal2-success .swal2-success-line-tip,
.swal2-container .swal2-popup.swal2-toast .swal2-icon.swal2-success .swal2-success-line-long{
    --tw-bg-opacity: 1;
    background-color: rgba(255, 255, 255, 1);
    background-color: rgba(255, 255, 255, var(--tw-bg-opacity, 1));
}
.swal2-container .swal2-popup.swal2-toast .swal2-title{
    margin: 0px;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    font-size: 0.875rem;
    line-height: 1.5rem;
}
.swal2-container .swal2-popup.swal2-toast .swal2-close{
    flex-shrink: 0;
    --tw-scale-x: .75;
    --tw-scale-y: .75;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(.75) scaleY(.75);
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.swal2-container .swal2-popup.swal2-toast .swal2-close:where([dir="ltr"], [dir="ltr"] *){
    margin-left: 0.5rem;
}
.swal2-container .swal2-popup.swal2-toast .swal2-close:where([dir="rtl"], [dir="rtl"] *){
    margin-right: 0.5rem;
}
.swal2-container .swal2-popup.swal2-toast .swal2-timer-progress-bar-container {
  height: 2px;
}
.swal2-container .swal2-popup.swal2-toast .swal2-timer-progress-bar {
  background: #ddd;
}
.swal2-container .swal2-popup.swal2-toast.swal2-icon-error{
    --tw-bg-opacity: 1;
    background-color: rgba(248, 113, 113, 1);
    background-color: rgba(248, 113, 113, var(--tw-bg-opacity, 1));
}
.swal2-container .swal2-popup.swal2-toast.swal2-icon-error *{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, 1);
    color: rgba(255, 255, 255, var(--tw-text-opacity, 1));
}
.swal2-container .swal2-popup.swal2-toast.swal2-icon-error .swal2-error{
    --tw-border-opacity: 1;
    border-color: rgba(255, 255, 255, 1);
    border-color: rgba(255, 255, 255, var(--tw-border-opacity, 1));
}
.swal2-container .swal2-popup.swal2-toast.swal2-icon-error .swal2-x-mark-line-right,
.swal2-container .swal2-popup.swal2-toast.swal2-icon-error .swal2-x-mark-line-left{
    --tw-bg-opacity: 1;
    background-color: rgba(255, 255, 255, 1);
    background-color: rgba(255, 255, 255, var(--tw-bg-opacity, 1));
}
.swal2-container .swal2-popup.swal2-toast.swal2-icon-success{
    --tw-bg-opacity: 1;
    background-color: rgba(34, 197, 94, 1);
    background-color: rgba(34, 197, 94, var(--tw-bg-opacity, 1));
}
.swal2-container .swal2-popup.swal2-toast.swal2-icon-success *{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, 1);
    color: rgba(255, 255, 255, var(--tw-text-opacity, 1));
}

@media not all and (min-resolution: 0.001dpcm) {
  @supports (-webkit-appearance: none) {
    .full-banner-entry {
      background-attachment: scroll;
      background-attachment: initial;
    }
  }
}
body.font-dinnextltarabic-regular .btn--add-to-cart {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.before\:absolute::before{
    content: var(--tw-content);
    position: absolute;
}
.before\:inset-0::before{
    content: var(--tw-content);
    top: 0px;
    right: 0px;
    bottom: 0px;
    left: 0px;
}
.before\:left-1\/2::before{
    content: var(--tw-content);
    left: 50%;
}
.before\:top-1\/2::before{
    content: var(--tw-content);
    top: 50%;
}
.before\:inline-block::before{
    content: var(--tw-content);
    display: inline-block;
}
.before\:-translate-x-1\/2::before{
    content: var(--tw-content);
    --tw-translate-x: -50%;
    transform: translate(-50%, var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.before\:-translate-y-1\/2::before{
    content: var(--tw-content);
    --tw-translate-y: -50%;
    transform: translate(var(--tw-translate-x), -50%) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.before\:rounded-\[inherit\]::before{
    content: var(--tw-content);
    border-radius: inherit;
}
.before\:bg-\[color\:var\(--dpopup-overlay\)\]::before{
    content: var(--tw-content);
    background-color: var(--dpopup-overlay);
}
.before\:text-gray-200::before{
    content: var(--tw-content);
    --tw-text-opacity: 1;
    color: rgba(229, 231, 235, 1);
    color: rgba(229, 231, 235, var(--tw-text-opacity, 1));
}
.before\:text-orange-300::before{
    content: var(--tw-content);
    --tw-text-opacity: 1;
    color: rgba(253, 186, 116, 1);
    color: rgba(253, 186, 116, var(--tw-text-opacity, 1));
}
.before\:opacity-\[var\(--dpopup-overlay-opacity\)\]::before{
    content: var(--tw-content);
    opacity: var(--dpopup-overlay-opacity);
}
.before\:content-\[\'\'\]::before{
    --tw-content: '';
    content: '';
    content: var(--tw-content);
}
.first\:rounded-t-md:first-child{
    border-top-left-radius: 0.375rem;
    border-top-right-radius: 0.375rem;
}
.first\:pt-16:first-child{
    padding-top: 4rem;
}
.first\:pt-5:first-child{
    padding-top: 1.25rem;
}
.last\:mx-0:last-child{
    margin-left: 0px;
    margin-right: 0px;
}
.last\:mb-0:last-child{
    margin-bottom: 0px;
}
.last\:rounded-b-md:last-child{
    border-bottom-right-radius: 0.375rem;
    border-bottom-left-radius: 0.375rem;
}
.last\:border-0:last-child{
    border-width: 0px;
}
.last\:border-b-0:last-child{
    border-bottom-width: 0px;
}
.last\:border-none:last-child{
    border-style: none;
}
.last\:px-0:last-child{
    padding-left: 0px;
    padding-right: 0px;
}
.even\:border:nth-child(even){
    border-width: 1px;
}
.even\:border-gray-200:nth-child(even){
    --tw-border-opacity: 1;
    border-color: rgba(229, 231, 235, 1);
    border-color: rgba(229, 231, 235, var(--tw-border-opacity, 1));
}
.empty\:hidden:empty{
    display: none;
}
.hover\:-translate-y-0\.5:hover{
    --tw-translate-y: -0.125rem;
    transform: translate(var(--tw-translate-x), -0.125rem) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.hover\:scale-105:hover{
    --tw-scale-x: 1.05;
    --tw-scale-y: 1.05;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(1.05) scaleY(1.05);
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.hover\:border-\[color\:var\(--loc-icon\)\]:hover{
    border-color: var(--loc-icon);
}
.hover\:border-\[var\(--subs-border\)\]:hover{
    border-color: var(--subs-border);
}
.hover\:border-gray-200:hover{
    --tw-border-opacity: 1;
    border-color: rgba(229, 231, 235, 1);
    border-color: rgba(229, 231, 235, var(--tw-border-opacity, 1));
}
.hover\:border-primary:hover{
    border-color: #414042;
    border-color: var(--color-primary);
}
.hover\:bg-gray-200\/50:hover{
    background-color: rgba(229, 231, 235, 0.5);
}
.hover\:bg-gray-200\/70:hover{
    background-color: rgba(229, 231, 235, 0.7);
}
.hover\:bg-gray-300:hover{
    --tw-bg-opacity: 1;
    background-color: rgba(209, 213, 219, 1);
    background-color: rgba(209, 213, 219, var(--tw-bg-opacity, 1));
}
.hover\:bg-primary:hover{
    background-color: #414042;
    background-color: var(--color-primary);
}
.hover\:bg-transparent:hover{
    background-color: transparent;
}
.hover\:text-\[color\:var\(--loc-icon\)\]:hover{
    color: var(--loc-icon);
}
.hover\:text-\[color\:var\(--loc-text\)\]:hover{
    color: var(--loc-text);
}
.hover\:text-\[var\(--store-brand-color\)\]:hover{
    color: var(--store-brand-color);
}
.hover\:text-gray-500:hover{
    --tw-text-opacity: 1;
    color: rgba(107, 114, 128, 1);
    color: rgba(107, 114, 128, var(--tw-text-opacity, 1));
}
.hover\:text-gray-600:hover{
    --tw-text-opacity: 1;
    color: rgba(75, 85, 99, 1);
    color: rgba(75, 85, 99, var(--tw-text-opacity, 1));
}
.hover\:text-primary:hover{
    color: #414042;
    color: var(--color-primary);
}
.hover\:text-primary-d:hover{
    color: var(--color-primary-dark);
}
.hover\:text-white:hover{
    --tw-text-opacity: 1;
    color: rgba(255, 255, 255, 1);
    color: rgba(255, 255, 255, var(--tw-text-opacity, 1));
}
.hover\:underline:hover{
    text-decoration-line: underline;
}
.hover\:opacity-100:hover{
    opacity: 1;
}
.hover\:opacity-40:hover{
    opacity: 0.4;
}
.hover\:opacity-80:hover{
    opacity: 0.8;
}
.hover\:opacity-90:hover{
    opacity: 0.9;
}
.hover\:opacity-95:hover{
    opacity: 0.95;
}
.hover\:shadow-default:hover{
    --tw-shadow: 5px 10px 30px #2B2D340D;;
    --tw-shadow-colored: 5px 10px 30px var(--tw-shadow-color);
    box-shadow: 0 0 rgba(0,0,0,0), 0 0 rgba(0,0,0,0), 5px 10px 30px #2B2D340D;;
    box-shadow: var(--tw-ring-offset-shadow, 0 0 rgba(0,0,0,0)), var(--tw-ring-shadow, 0 0 rgba(0,0,0,0)), var(--tw-shadow);
}
.hover\:shadow-sm:hover{
    --tw-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
    box-shadow: 0 0 rgba(0,0,0,0), 0 0 rgba(0,0,0,0), 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 rgba(0,0,0,0)), var(--tw-ring-shadow, 0 0 rgba(0,0,0,0)), var(--tw-shadow);
}
.hover\:brightness-110:hover{
    --tw-brightness: brightness(1.1);
    filter: var(--tw-blur) brightness(1.1) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.focus\:border-primary:focus{
    border-color: #414042;
    border-color: var(--color-primary);
}
.focus\:ring-transparent:focus{
    --tw-ring-color: transparent;
}
.focus-visible\:outline-none:focus-visible{
    outline: 2px solid transparent;
    outline-offset: 2px;
}
.focus-visible\:outline:focus-visible{
    outline-style: solid;
}
.focus-visible\:outline-2:focus-visible{
    outline-width: 2px;
}
.focus-visible\:outline-offset-2:focus-visible{
    outline-offset: 2px;
}
.focus-visible\:outline-\[var\(--sb-special-color\2c \#8B5CF6\)\]:focus-visible{
    outline-color: #8B5CF6;
    outline-color: var(--sb-special-color,#8B5CF6);
}
.focus-visible\:ring-2:focus-visible{
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: /*!*/ /*!*/ 0 0 0 0px #fff, /*!*/ /*!*/ 0 0 0 calc(2px + 2px) #2563eb, 0 0 rgba(0,0,0,0);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0,0,0,0));
}
.focus-visible\:ring-\[color\:var\(--loc-icon\)\]:focus-visible{
    --tw-ring-color: var(--loc-icon);
}
.active\:translate-y-px:active{
    --tw-translate-y: 1px;
    transform: translate(var(--tw-translate-x), 1px) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group:hover .group-hover\:-translate-x-1{
    --tw-translate-x: -0.25rem;
    transform: translate(-0.25rem, var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group:hover .group-hover\:translate-y-0{
    --tw-translate-y: 0px;
    transform: translate(var(--tw-translate-x), 0px) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group:hover .group-hover\:scale-100{
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(1) scaleY(1);
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group:hover .group-hover\:scale-\[1\.07\]{
    --tw-scale-x: 1.07;
    --tw-scale-y: 1.07;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(1.07) scaleY(1.07);
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group:hover .group-hover\:opacity-100{
    opacity: 1;
}
.group:focus-visible .group-focus-visible\:translate-y-0{
    --tw-translate-y: 0px;
    transform: translate(var(--tw-translate-x), 0px) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group:focus-visible .group-focus-visible\:scale-100{
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(1) scaleY(1);
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group:focus-visible .group-focus-visible\:opacity-100{
    opacity: 1;
}
.group.copied .group-\[\.copied\]\:inline{
    display: inline;
}
.group.copied .group-\[\.copied\]\:hidden{
    display: none;
}
@media (prefers-reduced-motion: reduce){
    .motion-reduce\:animate-none{
        animation: none;
    }
    .motion-reduce\:transition-none{
        transition-property: none;
    }
    .motion-reduce\:hover\:translate-y-0:hover{
        --tw-translate-y: 0px;
        transform: translate(var(--tw-translate-x), 0px) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
        transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    }
}
.dark .dark\:border-gray-600{
    --tw-border-opacity: 1;
    border-color: rgba(75, 85, 99, 1);
    border-color: rgba(75, 85, 99, var(--tw-border-opacity, 1));
}
.dark .dark\:bg-gray-600{
    --tw-bg-opacity: 1;
    background-color: rgba(75, 85, 99, 1);
    background-color: rgba(75, 85, 99, var(--tw-bg-opacity, 1));
}
.dark .dark\:focus\:border-primary:focus{
    border-color: #414042;
    border-color: var(--color-primary);
}
@media (min-width: 640px){
    .sm\:col-span-1{
        grid-column: span 1 / span 1;
    }
    .sm\:col-span-2{
        grid-column: span 2 / span 2;
    }
    .sm\:row-span-2{
        grid-row: span 2 / span 2;
    }
    .sm\:-mx-5{
        margin-left: -1.25rem;
        margin-right: -1.25rem;
    }
    .sm\:mb-0{
        margin-bottom: 0px;
    }
    .sm\:mb-24{
        margin-bottom: 6rem;
    }
    .sm\:mb-4{
        margin-bottom: 1rem;
    }
    .sm\:mb-6{
        margin-bottom: 1.5rem;
    }
    .sm\:mb-8{
        margin-bottom: 2rem;
    }
    .sm\:mt-0{
        margin-top: 0px;
    }
    .sm\:mt-16{
        margin-top: 4rem;
    }
    .sm\:mt-8{
        margin-top: 2rem;
    }
    .sm\:line-clamp-2{
        overflow: hidden;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }
    .sm\:block{
        display: block;
    }
    .sm\:flex{
        display: flex;
    }
    .sm\:grid{
        display: grid;
    }
    .sm\:hidden{
        display: none;
    }
    .sm\:aspect-\[16\/10\]{
        aspect-ratio: 16/10;
    }
    .sm\:h-116{
        height: 464px;
    }
    .sm\:h-24{
        height: 6rem;
    }
    .sm\:h-9{
        height: 2.25rem;
    }
    .sm\:h-96{
        height: 24rem;
    }
    .sm\:h-auto{
        height: auto;
    }
    .sm\:h-full{
        height: 100%;
    }
    .sm\:\!w-\[220px\]{
        width: 220px !important;
    }
    .sm\:w-1\/2{
        width: 50%;
    }
    .sm\:w-2\/6{
        width: 33.333333%;
    }
    .sm\:w-56{
        width: 14rem;
    }
    .sm\:w-9{
        width: 2.25rem;
    }
    .sm\:w-\[calc\(50\%-12px\)\]{
        width: calc(50% - 12px);
    }
    .sm\:max-w-\[320px\]{
        max-width: 320px;
    }
    .sm\:grow-0{
        flex-grow: 0;
    }
    .sm\:translate-y-0{
        --tw-translate-y: 0px;
        transform: translate(var(--tw-translate-x), 0px) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
        transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    }
    .sm\:scale-100{
        --tw-scale-x: 1;
        --tw-scale-y: 1;
        transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(1) scaleY(1);
        transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    }
    .sm\:scale-95{
        --tw-scale-x: .95;
        --tw-scale-y: .95;
        transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(.95) scaleY(.95);
        transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    }
    .sm\:grid-cols-2{
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .sm\:grid-cols-3{
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .sm\:flex-row{
        flex-direction: row;
    }
    .sm\:items-start{
        align-items: flex-start;
    }
    .sm\:gap-3{
        gap: 0.75rem;
    }
    .sm\:gap-4{
        gap: 1rem;
    }
    .sm\:gap-6{
        gap: 1.5rem;
    }
    .sm\:gap-8{
        gap: 2rem;
    }
    .sm\:space-y-16 > :not([hidden]) ~ :not([hidden]){
        --tw-space-y-reverse: 0;
        margin-top: calc(4rem * (1 - 0));
        margin-top: calc(4rem * (1 - var(--tw-space-y-reverse)));
        margin-top: calc(4rem * calc(1 - 0));
        margin-top: calc(4rem * calc(1 - var(--tw-space-y-reverse)));
        margin-bottom: calc(4rem * 0);
        margin-bottom: calc(4rem * var(--tw-space-y-reverse));
    }
    .sm\:p-4{
        padding: 1rem;
    }
    .sm\:p-5{
        padding: 1.25rem;
    }
    .sm\:p-6{
        padding: 1.5rem;
    }
    .sm\:p-8{
        padding: 2rem;
    }
    .sm\:px-3\.5{
        padding-left: 0.875rem;
        padding-right: 0.875rem;
    }
    .sm\:px-6{
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }
    .sm\:py-16{
        padding-top: 4rem;
        padding-bottom: 4rem;
    }
    .sm\:pb-0{
        padding-bottom: 0px;
    }
    .sm\:pb-10{
        padding-bottom: 2.5rem;
    }
    .sm\:pb-16{
        padding-bottom: 4rem;
    }
    .sm\:pb-20{
        padding-bottom: 5rem;
    }
    .sm\:pb-7{
        padding-bottom: 1.75rem;
    }
    .sm\:pt-12{
        padding-top: 3rem;
    }
    .sm\:pt-20{
        padding-top: 5rem;
    }
    .sm\:pt-8{
        padding-top: 2rem;
    }
    .sm\:text-start{
        text-align: left;
    }
    .sm\:text-2xl{
        font-size: 1.5rem;
        line-height: 2rem;
    }
    .sm\:text-5xl{
        font-size: 3rem;
        line-height: 1;
    }
    .sm\:text-\[22px\]{
        font-size: 22px;
    }
    .sm\:text-base{
        font-size: 1rem;
        line-height: 1.5rem;
    }
    .sm\:text-lg{
        font-size: 1.125rem;
        line-height: 1.75rem;
    }
    .sm\:text-sm{
        font-size: 0.875rem;
        line-height: 1.25rem;
    }
}
@media (min-width: 768px){
    .md\:absolute{
        position: absolute;
    }
    .md\:sticky{
        position: sticky;
    }
    .md\:inset-0{
        top: 0px;
        right: 0px;
        bottom: 0px;
        left: 0px;
    }
    .md\:right-0{
        right: 0px;
    }
    .md\:right-2{
        right: 0.5rem;
    }
    .md\:order-2{
        order: 2;
    }
    .md\:order-3{
        order: 3;
    }
    .md\:row-span-2{
        grid-row: span 2 / span 2;
    }
    .md\:mx-3{
        margin-left: 0.75rem;
        margin-right: 0.75rem;
    }
    .md\:-mb-2{
        margin-bottom: -0.5rem;
    }
    .md\:-mt-32{
        margin-top: -8rem;
    }
    .md\:-mt-\[74px\]{
        margin-top: -74px;
    }
    .md\:mb-0{
        margin-bottom: 0px;
    }
    .md\:mb-10{
        margin-bottom: 2.5rem;
    }
    .md\:mb-14{
        margin-bottom: 3.5rem;
    }
    .md\:mb-20{
        margin-bottom: 5rem;
    }
    .md\:mb-24{
        margin-bottom: 6rem;
    }
    .md\:mb-28{
        margin-bottom: 7rem;
    }
    .md\:mb-6{
        margin-bottom: 1.5rem;
    }
    .md\:mb-8{
        margin-bottom: 2rem;
    }
    .md\:mb-9{
        margin-bottom: 2.25rem;
    }
    .md\:block{
        display: block;
    }
    .md\:\!flex{
        display: flex !important;
    }
    .md\:flex{
        display: flex;
    }
    .md\:inline-flex{
        display: inline-flex;
    }
    .md\:table-row{
        display: table-row;
    }
    .md\:grid{
        display: grid;
    }
    .md\:hidden{
        display: none;
    }
    .md\:h-10{
        height: 2.5rem;
    }
    .md\:h-14{
        height: 3.5rem;
    }
    .md\:h-16{
        height: 4rem;
    }
    .md\:h-20{
        height: 5rem;
    }
    .md\:h-24{
        height: 6rem;
    }
    .md\:h-32{
        height: 8rem;
    }
    .md\:h-96{
        height: 24rem;
    }
    .md\:h-\[400px\]{
        height: 400px;
    }
    .md\:h-\[calc\(var\(--universe-radius-y\)\*var\(--universe-ring-scale\)\*2\%\)\]{
        height: calc(var(--universe-radius-y) * var(--universe-ring-scale) * 2%);
    }
    .md\:h-\[var\(--universe-stage-height\)\]{
        height: var(--universe-stage-height);
    }
    .md\:h-auto{
        height: auto;
    }
    .md\:h-full{
        height: 100%;
    }
    .md\:max-h-\[52vh\]{
        max-height: 52vh;
    }
    .md\:max-h-\[680px\]{
        max-height: 680px;
    }
    .md\:\!w-2\/5{
        width: 40% !important;
    }
    .md\:w-1\/3{
        width: 33.333333%;
    }
    .md\:w-1\/4{
        width: 25%;
    }
    .md\:w-10{
        width: 2.5rem;
    }
    .md\:w-14{
        width: 3.5rem;
    }
    .md\:w-20{
        width: 5rem;
    }
    .md\:w-24{
        width: 6rem;
    }
    .md\:w-3\/5{
        width: 60%;
    }
    .md\:w-40{
        width: 10rem;
    }
    .md\:w-5\/6{
        width: 83.333333%;
    }
    .md\:w-6{
        width: 1.5rem;
    }
    .md\:w-7\/12{
        width: 58.333333%;
    }
    .md\:w-72{
        width: 18rem;
    }
    .md\:w-\[42\%\]{
        width: 42%;
    }
    .md\:w-\[calc\(30\%-12px\)\]{
        width: calc(30% - 12px);
    }
    .md\:w-\[calc\(var\(--universe-radius-x\)\*var\(--universe-ring-scale\)\*2\%\)\]{
        width: calc(var(--universe-radius-x) * var(--universe-ring-scale) * 2%);
    }
    .md\:w-auto{
        width: auto;
    }
    .md\:max-w-\[150px\]{
        max-width: 150px;
    }
    .md\:grid-cols-2{
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .md\:grid-cols-3{
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .md\:grid-cols-4{
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
    .md\:grid-cols-5{
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
    .md\:grid-cols-\[30\%_70\%\]{
        grid-template-columns: 30% 70%;
    }
    .md\:grid-cols-\[repeat\(3\2c minmax\(0\2c 1fr\)\)\]{
        grid-template-columns: repeat(3,minmax(0,1fr));
    }
    .md\:flex-row{
        flex-direction: row;
    }
    .md\:flex-row-reverse{
        flex-direction: row-reverse;
    }
    .md\:flex-wrap{
        flex-wrap: wrap;
    }
    .md\:items-start{
        align-items: flex-start;
    }
    .md\:items-center{
        align-items: center;
    }
    .md\:justify-center{
        justify-content: center;
    }
    .md\:gap-0{
        gap: 0px;
    }
    .md\:gap-2{
        gap: 0.5rem;
    }
    .md\:gap-8{
        gap: 2rem;
    }
    .md\:gap-x-5{
        -moz-column-gap: 1.25rem;
             column-gap: 1.25rem;
    }
    .md\:space-x-4 > :not([hidden]) ~ :not([hidden]){
        --tw-space-x-reverse: 0;
        margin-right: calc(1rem * 0);
        margin-right: calc(1rem * var(--tw-space-x-reverse));
        margin-left: calc(1rem * (1 - 0));
        margin-left: calc(1rem * (1 - var(--tw-space-x-reverse)));
        margin-left: calc(1rem * calc(1 - 0));
        margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse)));
    }
    .md\:space-x-8 > :not([hidden]) ~ :not([hidden]){
        --tw-space-x-reverse: 0;
        margin-right: calc(2rem * 0);
        margin-right: calc(2rem * var(--tw-space-x-reverse));
        margin-left: calc(2rem * (1 - 0));
        margin-left: calc(2rem * (1 - var(--tw-space-x-reverse)));
        margin-left: calc(2rem * calc(1 - 0));
        margin-left: calc(2rem * calc(1 - var(--tw-space-x-reverse)));
    }
    .md\:space-y-0 > :not([hidden]) ~ :not([hidden]){
        --tw-space-y-reverse: 0;
        margin-top: calc(0px * (1 - 0));
        margin-top: calc(0px * (1 - var(--tw-space-y-reverse)));
        margin-top: calc(0px * calc(1 - 0));
        margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse)));
        margin-bottom: calc(0px * 0);
        margin-bottom: calc(0px * var(--tw-space-y-reverse));
    }
    .md\:overflow-hidden{
        overflow: hidden;
    }
    .md\:bg-transparent{
        background-color: transparent;
    }
    .md\:p-14{
        padding: 3.5rem;
    }
    .md\:p-4{
        padding: 1rem;
    }
    .md\:p-8{
        padding: 2rem;
    }
    .md\:px-3{
        padding-left: 0.75rem;
        padding-right: 0.75rem;
    }
    .md\:px-5{
        padding-left: 1.25rem;
        padding-right: 1.25rem;
    }
    .md\:px-6{
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }
    .md\:px-8{
        padding-left: 2rem;
        padding-right: 2rem;
    }
    .md\:py-0{
        padding-top: 0px;
        padding-bottom: 0px;
    }
    .md\:py-2{
        padding-top: 0.5rem;
        padding-bottom: 0.5rem;
    }
    .md\:py-4{
        padding-top: 1rem;
        padding-bottom: 1rem;
    }
    .md\:pb-16{
        padding-bottom: 4rem;
    }
    .md\:text-2xl{
        font-size: 1.5rem;
        line-height: 2rem;
    }
    .md\:text-3xl{
        font-size: 1.875rem;
        line-height: 2.25rem;
    }
    .md\:text-4xl{
        font-size: 2.25rem;
        line-height: 2.5rem;
    }
    .md\:text-5xl{
        font-size: 3rem;
        line-height: 1;
    }
    .md\:text-\[calc\(var\(--universe-item-height\)\*0\.34\)\]{
        font-size: calc(var(--universe-item-height) * 0.34);
    }
    .md\:text-\[calc\(var\(--universe-item-height\)\*0\.42\)\]{
        font-size: calc(var(--universe-item-height) * 0.42);
    }
    .md\:text-base{
        font-size: 1rem;
        line-height: 1.5rem;
    }
    .md\:text-lg{
        font-size: 1.125rem;
        line-height: 1.75rem;
    }
    .md\:text-sm{
        font-size: 0.875rem;
        line-height: 1.25rem;
    }
    .md\:text-xl{
        font-size: 1.25rem;
        line-height: 1.75rem;
    }
    .md\:first\:pt-24:first-child{
        padding-top: 6rem;
    }
}
@media (min-width: 1024px){
    .lg\:not-sr-only{
        position: static;
        width: auto;
        height: auto;
        padding: 0;
        margin: 0;
        overflow: visible;
        clip: auto;
        white-space: normal;
    }
    .lg\:sticky{
        position: sticky;
    }
    .lg\:top-20{
        top: 5rem;
    }
    .lg\:col-span-6{
        grid-column: span 6 / span 6;
    }
    .lg\:mx-0{
        margin-left: 0px;
        margin-right: 0px;
    }
    .lg\:-mt-28{
        margin-top: -7rem;
    }
    .lg\:mb-24{
        margin-bottom: 6rem;
    }
    .lg\:mb-8{
        margin-bottom: 2rem;
    }
    .lg\:mt-0{
        margin-top: 0px;
    }
    .lg\:mt-12{
        margin-top: 3rem;
    }
    .lg\:mt-5{
        margin-top: 1.25rem;
    }
    .lg\:mt-8{
        margin-top: 2rem;
    }
    .lg\:\!block{
        display: block !important;
    }
    .lg\:block{
        display: block;
    }
    .lg\:\!inline-block{
        display: inline-block !important;
    }
    .lg\:flex{
        display: flex;
    }
    .lg\:inline-flex{
        display: inline-flex;
    }
    .lg\:hidden{
        display: none;
    }
    .lg\:aspect-\[4\/3\]{
        aspect-ratio: 4/3;
    }
    .lg\:h-116{
        height: 464px;
    }
    .lg\:h-12{
        height: 3rem;
    }
    .lg\:h-48{
        height: 12rem;
    }
    .lg\:h-5{
        height: 1.25rem;
    }
    .lg\:h-full{
        height: 100%;
    }
    .lg\:min-h-\[528px\]{
        min-height: 528px;
    }
    .lg\:min-h-\[84px\]{
        min-height: 84px;
    }
    .lg\:w-1\/4{
        width: 25%;
    }
    .lg\:w-10\/12{
        width: 83.333333%;
    }
    .lg\:w-12{
        width: 3rem;
    }
    .lg\:w-2\/5{
        width: 40%;
    }
    .lg\:w-24{
        width: 6rem;
    }
    .lg\:w-3\/5{
        width: 60%;
    }
    .lg\:w-5\/12{
        width: 41.666667%;
    }
    .lg\:w-6\/12{
        width: 50%;
    }
    .lg\:w-60{
        width: 15rem;
    }
    .lg\:w-72{
        width: 18rem;
    }
    .lg\:w-96{
        width: 24rem;
    }
    .lg\:w-\[38\%\]{
        width: 38%;
    }
    .lg\:w-\[80\%\]{
        width: 80%;
    }
    .lg\:w-\[calc\(100\%-384px\)\]{
        width: calc(100% - 384px);
    }
    .lg\:w-\[calc\(100\%\/var\(--cols\)-12px\)\]{
        width: calc(100% / var(--cols) - 12px);
    }
    .lg\:w-auto{
        width: auto;
    }
    .lg\:min-w-\[190px\]{
        min-width: 190px;
    }
    .lg\:flex-1{
        flex: 1 1 0%;
    }
    .lg\:flex-2{
        flex: 2 2 0%;
    }
    .lg\:grow{
        flex-grow: 1;
    }
    .lg\:\!grid-cols-1{
        grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
    }
    .lg\:grid-cols-2{
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .lg\:grid-cols-3{
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .lg\:grid-cols-4{
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
    .lg\:grid-cols-6{
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }
    .lg\:grid-cols-8{
        grid-template-columns: repeat(8, minmax(0, 1fr));
    }
    .lg\:flex-row{
        flex-direction: row;
    }
    .lg\:flex-row-reverse{
        flex-direction: row-reverse;
    }
    .lg\:items-center{
        align-items: center;
    }
    .lg\:justify-start{
        justify-content: flex-start;
    }
    .lg\:justify-end{
        justify-content: flex-end;
    }
    .lg\:justify-center{
        justify-content: center;
    }
    .lg\:justify-between{
        justify-content: space-between;
    }
    .lg\:gap-12{
        gap: 3rem;
    }
    .lg\:gap-24{
        gap: 6rem;
    }
    .lg\:gap-3{
        gap: 0.75rem;
    }
    .lg\:gap-5{
        gap: 1.25rem;
    }
    .lg\:gap-8{
        gap: 2rem;
    }
    .lg\:space-x-8 > :not([hidden]) ~ :not([hidden]){
        --tw-space-x-reverse: 0;
        margin-right: calc(2rem * 0);
        margin-right: calc(2rem * var(--tw-space-x-reverse));
        margin-left: calc(2rem * (1 - 0));
        margin-left: calc(2rem * (1 - var(--tw-space-x-reverse)));
        margin-left: calc(2rem * calc(1 - 0));
        margin-left: calc(2rem * calc(1 - var(--tw-space-x-reverse)));
    }
    .lg\:space-y-16 > :not([hidden]) ~ :not([hidden]){
        --tw-space-y-reverse: 0;
        margin-top: calc(4rem * (1 - 0));
        margin-top: calc(4rem * (1 - var(--tw-space-y-reverse)));
        margin-top: calc(4rem * calc(1 - 0));
        margin-top: calc(4rem * calc(1 - var(--tw-space-y-reverse)));
        margin-bottom: calc(4rem * 0);
        margin-bottom: calc(4rem * var(--tw-space-y-reverse));
    }
    .lg\:rounded-md{
        border-radius: 0.375rem;
    }
    .lg\:rounded-t-none{
        border-top-left-radius: 0px;
        border-top-right-radius: 0px;
    }
    .lg\:border-t{
        border-top-width: 1px;
    }
    .lg\:bg-white{
        --tw-bg-opacity: 1;
        background-color: rgba(255, 255, 255, 1);
        background-color: rgba(255, 255, 255, var(--tw-bg-opacity, 1));
    }
    .lg\:p-10{
        padding: 2.5rem;
    }
    .lg\:p-8{
        padding: 2rem;
    }
    .lg\:px-0{
        padding-left: 0px;
        padding-right: 0px;
    }
    .lg\:px-12{
        padding-left: 3rem;
        padding-right: 3rem;
    }
    .lg\:px-2{
        padding-left: 0.5rem;
        padding-right: 0.5rem;
    }
    .lg\:px-20{
        padding-left: 5rem;
        padding-right: 5rem;
    }
    .lg\:px-3{
        padding-left: 0.75rem;
        padding-right: 0.75rem;
    }
    .lg\:px-4{
        padding-left: 1rem;
        padding-right: 1rem;
    }
    .lg\:px-8{
        padding-left: 2rem;
        padding-right: 2rem;
    }
    .lg\:px-\[15px\]{
        padding-left: 15px;
        padding-right: 15px;
    }
    .lg\:py-16{
        padding-top: 4rem;
        padding-bottom: 4rem;
    }
    .lg\:pb-11{
        padding-bottom: 2.75rem;
    }
    .lg\:pb-2{
        padding-bottom: 0.5rem;
    }
    .lg\:pb-20{
        padding-bottom: 5rem;
    }
    .lg\:pt-10{
        padding-top: 2.5rem;
    }
    .lg\:pt-8{
        padding-top: 2rem;
    }
    .lg\:text-start{
        text-align: left;
    }
    .lg\:text-3xl{
        font-size: 1.875rem;
        line-height: 2.25rem;
    }
    .lg\:text-base{
        font-size: 1rem;
        line-height: 1.5rem;
    }
    .lg\:text-title-size{
        font-size: 42px;
    }
    .lg\:text-xs{
        font-size: 0.75rem;
        line-height: 1rem;
    }
    .lg\:opacity-0{
        opacity: 0;
    }
    .lg\:shadow-default{
        --tw-shadow: 5px 10px 30px #2B2D340D;;
        --tw-shadow-colored: 5px 10px 30px var(--tw-shadow-color);
        box-shadow: 0 0 rgba(0,0,0,0), 0 0 rgba(0,0,0,0), 5px 10px 30px #2B2D340D;;
        box-shadow: var(--tw-ring-offset-shadow, 0 0 rgba(0,0,0,0)), var(--tw-ring-shadow, 0 0 rgba(0,0,0,0)), var(--tw-shadow);
    }
    .lg\:shadow-none{
        --tw-shadow: 0 0 rgba(0,0,0,0);
        --tw-shadow-colored: 0 0 rgba(0,0,0,0);
        box-shadow: 0 0 rgba(0,0,0,0), 0 0 rgba(0,0,0,0), 0 0 rgba(0,0,0,0);
        box-shadow: var(--tw-ring-offset-shadow, 0 0 rgba(0,0,0,0)), var(--tw-ring-shadow, 0 0 rgba(0,0,0,0)), var(--tw-shadow);
    }
}
@media (min-width: 1280px){
    .xl\:h-132{
        height: 528px;
    }
    .xl\:gap-32{
        gap: 8rem;
    }
    .xl\:gap-8{
        gap: 2rem;
    }
    .xl\:px-0{
        padding-left: 0px;
        padding-right: 0px;
    }
}
@media (min-width: 480px){
    .xs\:block{
        display: block;
    }
    .xs\:max-w-\[150px\]{
        max-width: 150px;
    }
    .xs\:border{
        border-width: 1px;
    }
    .xs\:p-11{
        padding: 2.75rem;
    }
    .xs\:p-2{
        padding: 0.5rem;
    }
    .xs\:p-4{
        padding: 1rem;
    }
    .xs\:p-7{
        padding: 1.75rem;
    }
    .xs\:px-7{
        padding-left: 1.75rem;
        padding-right: 1.75rem;
    }
    .xs\:text-base{
        font-size: 1rem;
        line-height: 1.5rem;
    }
}
.ltr\:-left-1\/2:where([dir="ltr"], [dir="ltr"] *){
    left: -50%;
}
.ltr\:left-0:where([dir="ltr"], [dir="ltr"] *){
    left: 0px;
}
.ltr\:left-2:where([dir="ltr"], [dir="ltr"] *){
    left: 0.5rem;
}
.ltr\:left-4:where([dir="ltr"], [dir="ltr"] *){
    left: 1rem;
}
.ltr\:left-auto:where([dir="ltr"], [dir="ltr"] *){
    left: auto;
}
.ltr\:right-0:where([dir="ltr"], [dir="ltr"] *){
    right: 0px;
}
.ltr\:right-1:where([dir="ltr"], [dir="ltr"] *){
    right: 0.25rem;
}
.ltr\:right-2\.5:where([dir="ltr"], [dir="ltr"] *){
    right: 0.625rem;
}
.ltr\:right-4:where([dir="ltr"], [dir="ltr"] *){
    right: 1rem;
}
.ltr\:right-5:where([dir="ltr"], [dir="ltr"] *){
    right: 1.25rem;
}
.ltr\:right-8:where([dir="ltr"], [dir="ltr"] *){
    right: 2rem;
}
.ltr\:right-full:where([dir="ltr"], [dir="ltr"] *){
    right: 100%;
}
.ltr\:top-5:where([dir="ltr"], [dir="ltr"] *){
    top: 1.25rem;
}
.ltr\:m-0:where([dir="ltr"], [dir="ltr"] *){
    margin: 0px;
}
.ltr\:-ml-1\.5:where([dir="ltr"], [dir="ltr"] *){
    margin-left: -0.375rem;
}
.ltr\:ml-0:where([dir="ltr"], [dir="ltr"] *){
    margin-left: 0px;
}
.ltr\:ml-1:where([dir="ltr"], [dir="ltr"] *){
    margin-left: 0.25rem;
}
.ltr\:ml-1\.5:where([dir="ltr"], [dir="ltr"] *){
    margin-left: 0.375rem;
}
.ltr\:ml-2:where([dir="ltr"], [dir="ltr"] *){
    margin-left: 0.5rem;
}
.ltr\:ml-2\.5:where([dir="ltr"], [dir="ltr"] *){
    margin-left: 0.625rem;
}
.ltr\:ml-4:where([dir="ltr"], [dir="ltr"] *){
    margin-left: 1rem;
}
.ltr\:ml-\[-13px\]:where([dir="ltr"], [dir="ltr"] *){
    margin-left: -13px;
}
.ltr\:mr-0:where([dir="ltr"], [dir="ltr"] *){
    margin-right: 0px;
}
.ltr\:mr-1:where([dir="ltr"], [dir="ltr"] *){
    margin-right: 0.25rem;
}
.ltr\:mr-1\.5:where([dir="ltr"], [dir="ltr"] *){
    margin-right: 0.375rem;
}
.ltr\:mr-2:where([dir="ltr"], [dir="ltr"] *){
    margin-right: 0.5rem;
}
.ltr\:mr-3:where([dir="ltr"], [dir="ltr"] *){
    margin-right: 0.75rem;
}
.ltr\:mr-5:where([dir="ltr"], [dir="ltr"] *){
    margin-right: 1.25rem;
}
.ltr\:mr-auto:where([dir="ltr"], [dir="ltr"] *){
    margin-right: auto;
}
.ltr\:rotate-180:where([dir="ltr"], [dir="ltr"] *){
    --tw-rotate: 180deg;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(180deg) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.ltr\:rotate-45:where([dir="ltr"], [dir="ltr"] *){
    --tw-rotate: 45deg;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(45deg) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.ltr\:flex-row-reverse:where([dir="ltr"], [dir="ltr"] *){
    flex-direction: row-reverse;
}
.ltr\:flex-wrap:where([dir="ltr"], [dir="ltr"] *){
    flex-wrap: wrap;
}
.ltr\:rounded-l-none:where([dir="ltr"], [dir="ltr"] *){
    border-top-left-radius: 0px;
    border-bottom-left-radius: 0px;
}
.ltr\:rounded-r-none:where([dir="ltr"], [dir="ltr"] *){
    border-top-right-radius: 0px;
    border-bottom-right-radius: 0px;
}
.ltr\:rounded-br-\[var\(--border-radius-card\)\]:where([dir="ltr"], [dir="ltr"] *){
    border-bottom-right-radius: var(--border-radius-card);
}
.ltr\:rounded-tl-\[var\(--border-radius-card\)\]:where([dir="ltr"], [dir="ltr"] *){
    border-top-left-radius: var(--border-radius-card);
}
.ltr\:border-r:where([dir="ltr"], [dir="ltr"] *){
    border-right-width: 1px;
}
.ltr\:border-r-0:where([dir="ltr"], [dir="ltr"] *){
    border-right-width: 0px;
}
.ltr\:pl-12:where([dir="ltr"], [dir="ltr"] *){
    padding-left: 3rem;
}
.ltr\:pl-3:where([dir="ltr"], [dir="ltr"] *){
    padding-left: 0.75rem;
}
.ltr\:pl-5:where([dir="ltr"], [dir="ltr"] *){
    padding-left: 1.25rem;
}
.ltr\:pr-10:where([dir="ltr"], [dir="ltr"] *){
    padding-right: 2.5rem;
}
.ltr\:pr-2:where([dir="ltr"], [dir="ltr"] *){
    padding-right: 0.5rem;
}
.ltr\:pr-24:where([dir="ltr"], [dir="ltr"] *){
    padding-right: 6rem;
}
.ltr\:pr-3:where([dir="ltr"], [dir="ltr"] *){
    padding-right: 0.75rem;
}
.ltr\:pr-5:where([dir="ltr"], [dir="ltr"] *){
    padding-right: 1.25rem;
}
.ltr\:pr-6:where([dir="ltr"], [dir="ltr"] *){
    padding-right: 1.5rem;
}
.ltr\:pr-\[1\.125rem\]:where([dir="ltr"], [dir="ltr"] *){
    padding-right: 1.125rem;
}
.ltr\:pr-\[7\%\]:where([dir="ltr"], [dir="ltr"] *){
    padding-right: 7%;
}
.ltr\:text-right:where([dir="ltr"], [dir="ltr"] *){
    text-align: right;
}
.ltr\:text-end:where([dir="ltr"], [dir="ltr"] *){
    text-align: right;
}
.ltr\:even\:border-l:nth-child(even):where([dir="ltr"], [dir="ltr"] *){
    border-left-width: 1px;
}
@media (min-width: 640px){
    .ltr\:sm\:right-12:where([dir="ltr"], [dir="ltr"] *){
        right: 3rem;
    }
    .sm\:ltr\:text-left:where([dir="ltr"], [dir="ltr"] *){
        text-align: left;
    }
}
@media (min-width: 768px){
    .ltr\:md\:mr-12:where([dir="ltr"], [dir="ltr"] *){
        margin-right: 3rem;
    }
    .md\:ltr\:rounded-tr-\[var\(--border-radius-card\)\]:where([dir="ltr"], [dir="ltr"] *){
        border-top-right-radius: var(--border-radius-card);
    }
    .ltr\:md\:pr-10:where([dir="ltr"], [dir="ltr"] *){
        padding-right: 2.5rem;
    }
    .ltr\:md\:pr-12:where([dir="ltr"], [dir="ltr"] *){
        padding-right: 3rem;
    }
    .ltr\:md\:pr-8:where([dir="ltr"], [dir="ltr"] *){
        padding-right: 2rem;
    }
    .ltr\:md\:text-left:where([dir="ltr"], [dir="ltr"] *){
        text-align: left;
    }
}
@media (min-width: 1024px){
    .ltr\:lg\:right-8:where([dir="ltr"], [dir="ltr"] *){
        right: 2rem;
    }
    .ltr\:lg\:ml-8:where([dir="ltr"], [dir="ltr"] *){
        margin-left: 2rem;
    }
    .ltr\:lg\:mr-8:where([dir="ltr"], [dir="ltr"] *){
        margin-right: 2rem;
    }
    .ltr\:lg\:pl-10:where([dir="ltr"], [dir="ltr"] *){
        padding-left: 2.5rem;
    }
    .ltr\:lg\:pr-24:where([dir="ltr"], [dir="ltr"] *){
        padding-right: 6rem;
    }
}
@media (min-width: 480px){
    .ltr\:xs\:pl-7:where([dir="ltr"], [dir="ltr"] *){
        padding-left: 1.75rem;
    }
    .ltr\:xs\:pr-5:where([dir="ltr"], [dir="ltr"] *){
        padding-right: 1.25rem;
    }
}
.rtl\:-left-12:where([dir="rtl"], [dir="rtl"] *){
    left: -3rem;
}
.rtl\:-right-12:where([dir="rtl"], [dir="rtl"] *){
    right: -3rem;
}
.rtl\:-right-2:where([dir="rtl"], [dir="rtl"] *){
    right: -0.5rem;
}
.rtl\:left-0:where([dir="rtl"], [dir="rtl"] *){
    left: 0px;
}
.rtl\:left-1:where([dir="rtl"], [dir="rtl"] *){
    left: 0.25rem;
}
.rtl\:left-2:where([dir="rtl"], [dir="rtl"] *){
    left: 0.5rem;
}
.rtl\:left-2\.5:where([dir="rtl"], [dir="rtl"] *){
    left: 0.625rem;
}
.rtl\:left-3:where([dir="rtl"], [dir="rtl"] *){
    left: 0.75rem;
}
.rtl\:left-4:where([dir="rtl"], [dir="rtl"] *){
    left: 1rem;
}
.rtl\:left-5:where([dir="rtl"], [dir="rtl"] *){
    left: 1.25rem;
}
.rtl\:left-8:where([dir="rtl"], [dir="rtl"] *){
    left: 2rem;
}
.rtl\:left-\[unset\]:where([dir="rtl"], [dir="rtl"] *){
    left: auto;
    left: initial;
}
.rtl\:left-full:where([dir="rtl"], [dir="rtl"] *){
    left: 100%;
}
.rtl\:right-0:where([dir="rtl"], [dir="rtl"] *){
    right: 0px;
}
.rtl\:right-2:where([dir="rtl"], [dir="rtl"] *){
    right: 0.5rem;
}
.rtl\:right-4:where([dir="rtl"], [dir="rtl"] *){
    right: 1rem;
}
.rtl\:right-\[unset\]:where([dir="rtl"], [dir="rtl"] *){
    right: auto;
    right: initial;
}
.rtl\:right-auto:where([dir="rtl"], [dir="rtl"] *){
    right: auto;
}
.rtl\:top-3:where([dir="rtl"], [dir="rtl"] *){
    top: 0.75rem;
}
.rtl\:m-0:where([dir="rtl"], [dir="rtl"] *){
    margin: 0px;
}
.rtl\:-mr-1\.5:where([dir="rtl"], [dir="rtl"] *){
    margin-right: -0.375rem;
}
.rtl\:ml-0:where([dir="rtl"], [dir="rtl"] *){
    margin-left: 0px;
}
.rtl\:ml-1:where([dir="rtl"], [dir="rtl"] *){
    margin-left: 0.25rem;
}
.rtl\:ml-1\.5:where([dir="rtl"], [dir="rtl"] *){
    margin-left: 0.375rem;
}
.rtl\:ml-2:where([dir="rtl"], [dir="rtl"] *){
    margin-left: 0.5rem;
}
.rtl\:ml-3:where([dir="rtl"], [dir="rtl"] *){
    margin-left: 0.75rem;
}
.rtl\:ml-5:where([dir="rtl"], [dir="rtl"] *){
    margin-left: 1.25rem;
}
.rtl\:ml-6:where([dir="rtl"], [dir="rtl"] *){
    margin-left: 1.5rem;
}
.rtl\:ml-\[9px\]:where([dir="rtl"], [dir="rtl"] *){
    margin-left: 9px;
}
.rtl\:ml-auto:where([dir="rtl"], [dir="rtl"] *){
    margin-left: auto;
}
.rtl\:mr-0\.5:where([dir="rtl"], [dir="rtl"] *){
    margin-right: 0.125rem;
}
.rtl\:mr-1:where([dir="rtl"], [dir="rtl"] *){
    margin-right: 0.25rem;
}
.rtl\:mr-1\.5:where([dir="rtl"], [dir="rtl"] *){
    margin-right: 0.375rem;
}
.rtl\:mr-2:where([dir="rtl"], [dir="rtl"] *){
    margin-right: 0.5rem;
}
.rtl\:mr-4:where([dir="rtl"], [dir="rtl"] *){
    margin-right: 1rem;
}
.rtl\:mr-6:where([dir="rtl"], [dir="rtl"] *){
    margin-right: 1.5rem;
}
.rtl\:mr-\[-13px\]:where([dir="rtl"], [dir="rtl"] *){
    margin-right: -13px;
}
.rtl\:mr-\[unset\]:where([dir="rtl"], [dir="rtl"] *){
    margin-right: 0;
    margin-right: initial;
}
.rtl\:-translate-x-1:where([dir="rtl"], [dir="rtl"] *){
    --tw-translate-x: -0.25rem;
    transform: translate(-0.25rem, var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.rtl\:-rotate-45:where([dir="rtl"], [dir="rtl"] *){
    --tw-rotate: -45deg;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(-45deg) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.rtl\:rotate-0:where([dir="rtl"], [dir="rtl"] *){
    --tw-rotate: 0deg;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(0deg) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.rtl\:-scale-x-100:where([dir="rtl"], [dir="rtl"] *){
    --tw-scale-x: -1;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(-1) scaleY(var(--tw-scale-y));
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.rtl\:space-x-reverse:where([dir="rtl"], [dir="rtl"] *) > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 1;
}
.rtl\:divide-x-reverse:where([dir="rtl"], [dir="rtl"] *) > :not([hidden]) ~ :not([hidden]){
    --tw-divide-x-reverse: 1;
}
.rtl\:rounded-l:where([dir="rtl"], [dir="rtl"] *){
    border-top-left-radius: .75rem;
    border-bottom-left-radius: .75rem;
}
.rtl\:rounded-l-md:where([dir="rtl"], [dir="rtl"] *){
    border-top-left-radius: 0.375rem;
    border-bottom-left-radius: 0.375rem;
}
.rtl\:rounded-l-none:where([dir="rtl"], [dir="rtl"] *){
    border-top-left-radius: 0px;
    border-bottom-left-radius: 0px;
}
.rtl\:rounded-r:where([dir="rtl"], [dir="rtl"] *){
    border-top-right-radius: .75rem;
    border-bottom-right-radius: .75rem;
}
.rtl\:rounded-r-none:where([dir="rtl"], [dir="rtl"] *){
    border-top-right-radius: 0px;
    border-bottom-right-radius: 0px;
}
.rtl\:rounded-bl-\[var\(--border-radius-card\)\]:where([dir="rtl"], [dir="rtl"] *){
    border-bottom-left-radius: var(--border-radius-card);
}
.rtl\:rounded-tr-\[var\(--border-radius-card\)\]:where([dir="rtl"], [dir="rtl"] *){
    border-top-right-radius: var(--border-radius-card);
}
.rtl\:border-l:where([dir="rtl"], [dir="rtl"] *){
    border-left-width: 1px;
}
.rtl\:border-l-0:where([dir="rtl"], [dir="rtl"] *){
    border-left-width: 0px;
}
.rtl\:pl-10:where([dir="rtl"], [dir="rtl"] *){
    padding-left: 2.5rem;
}
.rtl\:pl-2:where([dir="rtl"], [dir="rtl"] *){
    padding-left: 0.5rem;
}
.rtl\:pl-2\.5:where([dir="rtl"], [dir="rtl"] *){
    padding-left: 0.625rem;
}
.rtl\:pl-24:where([dir="rtl"], [dir="rtl"] *){
    padding-left: 6rem;
}
.rtl\:pl-3:where([dir="rtl"], [dir="rtl"] *){
    padding-left: 0.75rem;
}
.rtl\:pl-5:where([dir="rtl"], [dir="rtl"] *){
    padding-left: 1.25rem;
}
.rtl\:pl-6:where([dir="rtl"], [dir="rtl"] *){
    padding-left: 1.5rem;
}
.rtl\:pl-8:where([dir="rtl"], [dir="rtl"] *){
    padding-left: 2rem;
}
.rtl\:pl-\[1\.125rem\]:where([dir="rtl"], [dir="rtl"] *){
    padding-left: 1.125rem;
}
.rtl\:pl-\[7\%\]:where([dir="rtl"], [dir="rtl"] *){
    padding-left: 7%;
}
.rtl\:pr-12:where([dir="rtl"], [dir="rtl"] *){
    padding-right: 3rem;
}
.rtl\:pr-3:where([dir="rtl"], [dir="rtl"] *){
    padding-right: 0.75rem;
}
.rtl\:pr-4:where([dir="rtl"], [dir="rtl"] *){
    padding-right: 1rem;
}
.rtl\:pr-5:where([dir="rtl"], [dir="rtl"] *){
    padding-right: 1.25rem;
}
.rtl\:text-left:where([dir="rtl"], [dir="rtl"] *){
    text-align: left;
}
.rtl\:text-right:where([dir="rtl"], [dir="rtl"] *){
    text-align: right;
}
.rtl\:text-start:where([dir="rtl"], [dir="rtl"] *){
    text-align: left;
}
.rtl\:even\:border-r:nth-child(even):where([dir="rtl"], [dir="rtl"] *){
    border-right-width: 1px;
}
@media (min-width: 640px){
    .rtl\:sm\:left-12:where([dir="rtl"], [dir="rtl"] *){
        left: 3rem;
    }
    .sm\:rtl\:text-right:where([dir="rtl"], [dir="rtl"] *){
        text-align: right;
    }
}
@media (min-width: 768px){
    .md\:rtl\:left-0:where([dir="rtl"], [dir="rtl"] *){
        left: 0px;
    }
    .md\:rtl\:left-2:where([dir="rtl"], [dir="rtl"] *){
        left: 0.5rem;
    }
    .md\:rtl\:right-\[unset\]:where([dir="rtl"], [dir="rtl"] *){
        right: auto;
        right: initial;
    }
    .rtl\:md\:ml-12:where([dir="rtl"], [dir="rtl"] *){
        margin-left: 3rem;
    }
    .md\:rtl\:rounded-tl-\[var\(--border-radius-card\)\]:where([dir="rtl"], [dir="rtl"] *){
        border-top-left-radius: var(--border-radius-card);
    }
    .rtl\:md\:pl-10:where([dir="rtl"], [dir="rtl"] *){
        padding-left: 2.5rem;
    }
    .rtl\:md\:pl-12:where([dir="rtl"], [dir="rtl"] *){
        padding-left: 3rem;
    }
    .rtl\:md\:pl-16:where([dir="rtl"], [dir="rtl"] *){
        padding-left: 4rem;
    }
    .rtl\:md\:pl-8:where([dir="rtl"], [dir="rtl"] *){
        padding-left: 2rem;
    }
    .rtl\:md\:text-right:where([dir="rtl"], [dir="rtl"] *){
        text-align: right;
    }
}
@media (min-width: 1024px){
    .rtl\:lg\:left-8:where([dir="rtl"], [dir="rtl"] *){
        left: 2rem;
    }
    .rtl\:lg\:ml-8:where([dir="rtl"], [dir="rtl"] *){
        margin-left: 2rem;
    }
    .rtl\:lg\:mr-8:where([dir="rtl"], [dir="rtl"] *){
        margin-right: 2rem;
    }
    .rtl\:lg\:pl-24:where([dir="rtl"], [dir="rtl"] *){
        padding-left: 6rem;
    }
    .rtl\:lg\:pr-10:where([dir="rtl"], [dir="rtl"] *){
        padding-right: 2.5rem;
    }
}
@media (min-width: 480px){
    .rtl\:xs\:pl-5:where([dir="rtl"], [dir="rtl"] *){
        padding-left: 1.25rem;
    }
    .rtl\:xs\:pr-7:where([dir="rtl"], [dir="rtl"] *){
        padding-right: 1.75rem;
    }
}
.\[\&\>\*\]\:relative>*{
    position: relative;
}
.\[\&\>svg\]\:h-full>svg{
    height: 100%;
}
.\[\&\>svg\]\:w-full>svg{
    width: 100%;
}
.\[\&_\.s-modal-close\]\:hidden .s-modal-close{
    display: none;
}
.\[\&_\.s-modal-overlay\]\:pointer-events-none .s-modal-overlay{
    pointer-events: none;
}
.\[\&_iframe\]\:pointer-events-none iframe{
    pointer-events: none;
}
.\[\&_li\]\:text-\[color\:var\(--loc-muted\)\] li{
    color: var(--loc-muted);
}
.\[\&_p\]\:m-0 p{
    margin: 0px;
}
.\[\&_p\]\:text-\[color\:var\(--loc-muted\)\] p{
    color: var(--loc-muted);
}
.\[\&_ul\]\:m-0 ul{
    margin: 0px;
}
.\[\&_ul\]\:flex ul{
    display: flex;
}
.\[\&_ul\]\:list-none ul{
    list-style-type: none;
}
.\[\&_ul\]\:flex-col ul{
    flex-direction: column;
}
.\[\&_ul\]\:gap-2 ul{
    gap: 0.5rem;
}
.\[\&_ul\]\:p-0 ul{
    padding: 0px;
}
.\[\&_video\]\:pointer-events-none video{
    pointer-events: none;
}

/*# sourceMappingURL=app.css.map*/