/*********************************************************
Jumpseller Theme - app.css

0. Resets and Defaults
1. Basics
  1.1. Utilities
  1.2. Bootstrap Expansion
  1.3. Libraries Styling
    1.3.1. Auto complete
    1.3.2. Notifications
    1.3.3. Age Verification
  1.4. Main Container
  1.5. Theme Store name
  1.6. Theme Section
  1.7. Theme Navigation
  1.8. Buttons
  1.9. Theme Dropdown
  1.10. Theme Social
  1.11. Theme Breadcrumbs
  1.12. Theme Message
  1.13. Theme Filters
  1.14. Theme Share
  1.15. Store product
  1.16. Store Totals
  1.17. Blog Post
  1.18. Pagination
  1.19. Product Ratings
  1.20. Product Block
  1.21. Theme Modal
1. Header
  1.1. Header Navigation
  1.2. Header Search
  1.3. Header Slider
2. Sidebars
  2.1. Sidebar Accordion
  2.2. Sidebar Menu
  2.3. Sidebar Cart
3. Footer
  3.1. Footer Newsletter
4. Components
  4.1. Theme Slider
  4.2. Banner Block
  4.3. Trustbar Block
  4.4. Big Banner
  4.5. Theme Newsletter
  4.6. Testimony
  4.7. Theme Video
  4.8. Theme Custom Code
  4.9. Logo Block
  4.10. Instagram Block
  4.11. Review Block
  4.12. Theme Accordion
  4.13. Contact Block
  4.14. Theme Contact (Form)
  4.15. Contact Location
  4.16. Theme Pack (Frerquently Bought Together)
  4.17. Store Whatsapp
5. Product Page (+ Selected Product)
  5.1. Product Heading
  5.2. Product Gallery
  5.3. Product Info
  5.4. Product Form
  5.5. Product Options
  5.6. Product Stock and Stock Locations
  5.7. Product Page styled as Card
*********************************************************/

/* ========================================================
0. Resets and Defaults
======================================================== */
*,
::before,
::after {
  box-sizing: border-box;
}

html,
:host {
  font-feature-settings: normal;
  font-variation-settings: normal;
  line-height: 1.5;
  tab-size: 4;
  -webkit-tap-highlight-color: transparent;
  text-size-adjust: 100%;
}

body {
  min-height: 100vh;
  background: var(--color-background);
  color: var(--color-secondary);
  font-family: var(--font-secondary);
  font-size: var(--font-base-size);
  line-height: var(--font-base-line-height);
  overflow-wrap: break-word;
}

body *::selection {
  background: var(--color-main);
  color: var(--color-selection-text);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin-bottom: var(--section-content-padding);
}

h1,
h1 *,
h2,
h2 *,
h3,
h3 *,
h4,
h4 *,
h5,
h5 *,
h6,
h6 * {
  color: var(--color-main);
  font-family: var(--font-main);
  font-weight: inherit;
  line-height: 1;
}

@media only screen and (max-width: 575px) {
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    font-size: var(--title-size-mobile);
  }
}

@media only screen and (min-width: 576px) {
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    font-size: var(--title-size-desktop);
  }
}

p,
ul,
ol {
  margin-bottom: calc(var(--section-content-padding) * 1.5);
}

a {
  text-decoration: none;
}

p a:not(.button) {
  color: var(--color-links);
}

p a:not(.button):hover {
  color: var(--color-main);
}

hr {
  width: 100%;
  height: 0;
  border-top-width: 1px;
  color: var(--color-border);
  opacity: 1 !important;
}

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

b,
strong {
  font-weight: bolder;
}

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

small {
  font-size: 80%;
}

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

table {
  border-color: inherit;
  border-collapse: collapse;
  text-indent: 0;
}

button,
input,
optgroup,
select,
textarea {
  padding: 0;
  margin: 0;
  color: inherit;
  font-family: inherit;
  font-feature-settings: inherit;
  font-size: 100%;
  font-variation-settings: inherit;
  font-weight: inherit;
  line-height: inherit;
}

a,
.button,
.button:hover,
.button:focus,
.trsn,
form label,
form label:hover {
  transition: all 0.25s ease-in-out !important;
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
  border: none;
  appearance: button;
  background-image: none;
}

[type="search"] {
  appearance: textfield;
  outline-offset: -2px;
}

progress {
  vertical-align: baseline;
}

summary {
  display: list-item;
}

fieldset {
  padding: 0;
  margin: 0;
}

legend {
  padding: 0;
}

dialog {
  padding: 0;
}

textarea {
  resize: vertical;
}

input::placeholder,
textarea::placeholder {
  opacity: 0.8;
}

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

:disabled {
  cursor: default !important;
}

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block;
}

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

figure {
  text-align: center;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  margin: 0;
  appearance: none;
}

input[type="number"] {
  appearance: textfield;
}

:-moz-focusring {
  outline: auto;
}

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

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

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

::-webkit-file-upload-button {
  appearance: button;
  font: inherit;
}

.hidden-label {
  position: absolute;
  overflow: hidden;
  width: 1px;
  height: 1px;
  padding: 0;
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(0 0 99.9% 99.9%);
}

/* ========================================================
1. Basics
======================================================== */

/* Loading Spinner */
.loading-spinner__wrapper {
  padding: var(--section-content-padding);
  border: 1px solid var(--color-main-op2);
  background: var(--color-main-op05);
  font-size: smaller;
}

.loading-spinner__wrapper--warn {
  border-color: var(--color-label-lowstock-border);
  background: var(--color-label-lowstock-background);
}

.loading-spinner {
  width: 30px;
  height: 30px;
  border: 4px solid var(--color-main-op05);
  border-radius: 50%;
  border-left-color: var(--color-main);
  margin: 20px auto;
  animation: spin 200ms linear infinite;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

/* Theme Icon Style */
.theme-icon,
.theme-icon.ph {
  font-family: var(--theme-icon-style) !important;
}

/* Set width for containers */
@media only screen and (max-width: 1200px) {
  .container--adjust,
  .container-fluid > .container {
    max-width: 100%;
  }
}

.ph {
  color: inherit;
  font-size: 100%;
}

.ph--push {
  position: relative;
  top: 2px;
}

/* Video Wrapper */
.video-wrapper,
.video-wrapper > iframe {
  max-width: 100%;
}

.video-wrapper {
  display: inline-block;
  width: fit-content;
  aspect-ratio: var(--aspect-ratio-landscape);
}

.video-wrapper > iframe {
  height: 100%;
}

/* Theme Tables */
.theme-table {
  border-color: var(--color-border);
}

.theme-table thead tr th {
  background: var(--color-main-op1);
  color: var(--color-main) !important;
}

.theme-table tr,
.theme-table td {
  background: transparent;
  color: var(--color-secondary);
}

/* Aspect Ratio */
.aspect-ratio-landscape {
  aspect-ratio: var(--aspect-ratio-landscape);
}

.aspect-ratio-portrait {
  aspect-ratio: var(--aspect-ratio-portrait);
}

.aspect-ratio-rectangular {
  aspect-ratio: var(--aspect-ratio-rectangular);
}

.aspect-ratio-square {
  aspect-ratio: var(--aspect-ratio-square);
}

.aspect-ratio-slide {
  aspect-ratio: var(--aspect-ratio-slide);
}

.aspect-ratio-padding-landscape {
  padding-top: var(--aspect-ratio-padding-landscape);
}

.aspect-ratio-padding-portrait {
  padding-top: var(--aspect-ratio-padding-portrait);
}

.aspect-ratio-padding-rectangular {
  padding-top: var(--aspect-ratio-padding-rectangular);
}

.aspect-ratio-padding-square {
  padding-top: var(--aspect-ratio-padding-square);
}

/* Data Labels */
[data-label] {
  padding: calc(var(--font-base-size) * 0.25) calc(var(--font-base-size) * 0.5);
  background: var(--color-main-op05);
  color: var(--color-main);
}

[data-label="pending_payment"],
[data-label="warning"] {
  background: var(--color-label-pending-background) !important;
  color: var(--color-label-pending-text) !important;
}

[data-label="paid"],
[data-label="requested"] {
  background: var(--color-label-paid-background) !important;
  color: var(--color-label-paid-text) !important;
}

[data-label="canceled"] {
  background: var(--color-label-canceled-background) !important;
  color: var(--color-label-canceled-text) !important;
}

[data-label="in_preparation"],
[data-label="pickup_available"] {
  background: var(--color-label-preparation-background) !important;
  color: var(--color-label-preparation-text) !important;
}

[data-label="main_address"] {
  background: var(--color-main) !important;
  color: var(--color-background) !important;
}

[data-label="out-of-stock"] {
  border: 1px solid var(--color-label-outofstock-border);
  background: var(--color-label-outofstock-background);
  color: var(--color-secondary);
}

[data-label="available"] {
  border: 1px solid var(--color-label-available-border);
  background: var(--color-label-available-background);
  color: var(--color-secondary);
}

[data-label="lowstock"] {
  border: 1px solid var(--color-label-lowstock-border);
  background: var(--color-label-lowstock-background);
  color: var(--color-secondary);
}

/* Checkbox */
[type="checkbox"] {
  display: inline-block;
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
  padding: 0;
  appearance: none;
  background-origin: border-box;
  print-color-adjust: exact;
  user-select: none;
  vertical-align: middle;
}

[type="checkbox"],
.checkbox {
  padding: 0.5rem;
  border: 1px solid var(--color-main-op3);
  border-radius: 0.375rem;
  background-color: var(--color-background);
  color: var(--color-button-main-bg);
  cursor: pointer;
  transition: all 150ms cubic-bezier(0.4, 0, 0.2, 1);
}

.checkbox:checked,
[type="checkbox"]:checked {
  background-color: var(--color-button-main-bg);
  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");
  color: var(--color-button-main-text);
  fill: var(--color-button-main-text);
}

.checkbox:hover,
[type="checkbox"]:hover {
  opacity: 0.8;
}

.checkbox:focus,
[type="checkbox"]:focus {
  outline: none;
}

/* 1.1. Utilities
======================================================== */
.no-bullet {
  padding: 0;
  margin: 0;
  list-style: none;
}

.uppercase {
  text-transform: uppercase !important;
}

.check-empty:empty,
.check-empty:has(> .data-js-editable-text:empty),
.check-empty > .data-js-editable-text:empty {
  display: none !important;
  margin: 0 !important;
  visibility: hidden;
}

/* Format quantity inputs */
.text--qty[type="number"] {
  appearance: textfield !important;
}

.text--qty[type="number"]::-webkit-outer-spin-button,
.text--qty[type="number"]::-webkit-inner-spin-button {
  margin: 0 !important;
  appearance: none !important;
}

/* Additional manual visibility classes */
.visible {
  display: block !important;
}

.visible.d-flex {
  display: flex !important;
}

.hidden {
  display: none !important;
}

/* Hover styles */
.hover\:underline:hover {
  text-decoration: underline !important;
}

/* 1.2. Bootstrap Expansion
======================================================== */

/* Create new class for devices less than 414px */
@media only screen and (max-width: 414px) {
  .col-xs-12 {
    width: 100% !important;
  }

  .col-xs-6 {
    width: 50% !important;
  }
}

/* Create new class for columns of 5, in devices higher than 1200px */
@media only screen and (min-width: 1200px) {
  .col-lg-by-5 {
    width: 20% !important;
  }

  .col-lg-by-7 {
    width: 14.2857% !important;
  }

  .col-lg-by-8 {
    width: 12.5% !important;
  }
}

/* Redefine form's elements */
form input.text,
form input[type="email"],
form input[type="date"],
form input[type="number"],
form select,
form select.select,
form textarea,
.product-form .text,
.product-form .select,
.theme-filters select.select,
.theme-filters input[type="number"] {
  width: 100% !important;
  padding: calc(var(--font-base-size) * 0.5) calc(var(--font-base-size) * 0.75);
  border: 1px solid rgb(0 0 0 / 30%) !important;
  border-radius: 0 !important;
  background-color: white !important;
  box-shadow: none !important;
  color: #000 !important;
  font-family: var(--font-secondary) !important;
  font-size: calc(var(--font-base-size) * 0.9) !important;
  font-weight: normal !important;
  outline: none !important;
  transition: all 0.25s ease-in-out !important;
}

form input.text,
form input[type="email"],
form input[type="date"],
form input[type="number"],
form select,
form select.select,
.product-form .text,
.product-form .select,
.theme-filters select.select,
.theme-filters input[type="number"] {
  height: 44px !important;
}

form select,
form select.select,
form input[type="date"],
form input[type="number"],
.theme-filters select.select,
.theme-filters input[type="number"],
.product-form .select {
  appearance: auto !important;
}

form select,
form select.select,
form input[type="date"],
.theme-filters select.select,
.product-form .select {
  cursor: pointer !important;
}

form label {
  color: var(--color-secondary);
  cursor: pointer;
  font-size: calc(var(--font-base-size) * 0.9);
}

.product-form label {
  cursor: pointer;
}

form input.text::placeholder,
form input[type="email"]::placeholder,
form input[type="date"]::placeholder,
form input[type="number"]::placeholder,
form textarea::placeholder,
.product-form .text::placeholder,
.theme-filters input[type="number"]::placeholder {
  color: rgb(0 0 0 / 70%) !important;
}

form input.text:focus::placeholder,
form input[type="email"]:focus::placeholder,
form input[type="date"]:focus::placeholder,
form textarea:focus::placeholder,
.product-form .text:focus::placeholder,
.theme-filters input[type="number"]:focus::placeholder {
  color: rgb(0 0 0 / 100%) !important;
}

form input.text:focus,
form input[type="email"]:focus,
form input[type="date"]:hover,
form input[type="number"]:hover,
form label:hover + input.text,
form label:hover + br + input.text,
form label:hover > .input.text,
form textarea:focus,
form select:hover,
form select.select:hover,
.product-form .text:focus,
.product-form .select:hover,
.theme-filters select.select:hover,
.theme-filters input[type="number"]:focus {
  border-color: rgb(0 0 0 / 70%) !important;
  background-color: #fff !important;
  box-shadow: none !important;
  color: #000 !important;
}

/* 1.3. Libraries Styling
======================================================== */

/* 1.3.1. Auto complete */
.jumpseller-autocomplete {
  position: relative;
}

.aa-Autocomplete input {
  flex: 1 1 0%;
  border: 0;
  border-radius: 0;
}

.aa-Autocomplete input:focus {
  border: 0;
  box-shadow: none;
}

.aa-Autocomplete,
.aa-InputWrapper {
  width: 100%;
  height: 100%;
  flex: 1 1 0%;
}

.aa-Panel {
  position: fixed;
  overflow: hidden scroll;
  max-height: 400px !important;
  border-radius: var(--radius-style) !important;
  background-color: var(--color-background);
  color: var(--color-main) !important;
}

.aa-Item,
.aa-ItemLink {
  border-radius: var(--radius-style) !important;
}

.aa-ItemLink span {
  color: var(--color-main) !important;
  font-weight: normal;
}

.aa-ItemLink span > b {
  color: var(--color-main) !important;
  font-weight: bold;
}

@media only screen and (max-width: 991px) {
  .aa-Panel {
    top: 60px !important;
  }
}

@media only screen and (min-width: 992px) {
  body:has(.header-slider--fixed) .aa-Panel {
    top: 112px !important;
  }

  body:not(:has(.header-slider--fixed)) .aa-Panel {
    top: 67px !important;
  }
}

/* 1.3.2. Notifications */
.toast-notification {
  position: relative;
  max-width: 400px;
  padding: 0.75rem 1rem;
  border-radius: var(--radius-style);
  border-left: 4px solid #2a3034;
  background-color: #e7ecef;
  color: #202224;
  font-size: calc(var(--font-base-size) * 0.85);
}

.toast-notification__wrapper {
  position: fixed;
  z-index: 99999999;
  top: 0;
  right: 0;
  display: flex;
  width: auto;
  height: auto;
  flex-direction: column;
  padding: calc(var(--section-content-padding) * 1.5);
  gap: calc(var(--section-content-padding) * 1);
}

.toast-notification__wrapper:empty {
  height: 0;
  padding: 0;
}

.toast-notification__wrapper.top-right {
  top: 0;
  right: 0;
}

.toast-notification__wrapper.bottom-right {
  right: 0;
  bottom: 0;
}

.toast-notification__content {
  padding-right: 80px;
  line-height: 1.5;
}

.toast-notification__title {
  margin-bottom: 4px;
  font-size: calc(var(--font-base-size) * 0.9);
  font-weight: bold;
  line-height: 1.25;
}

.toast-notification__message {
  margin-bottom: 10px;
  font-weight: normal;
}

.toast-notification__message > span {
  margin-bottom: 10px;
}

.toast-notification__message a {
  padding: 4px 6px;
  border: 1px solid #202224;
  border-radius: var(--radius-style);
  background-color: #202224c0;
  color: #e7ecef;
  font-weight: 600;
}

.toast-notification__message a:hover {
  background-color: #202224;
}

.toast-notification__close {
  position: absolute;
  top: 10px;
  right: 10px;
  display: inline-flex;
  padding: 3px;
  border: none;
  border-radius: 2px;
  background: none;
  color: inherit;
  cursor: pointer;
  font-size: 16px;
  transition: background-color 100ms ease-in-out;
}

.toast-notification__close:hover {
  background-color: rgb(0 0 0 / 10%);
}

.toast-notification__progress {
  position: absolute;
  z-index: 10;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background-color: rgb(0 0 0 / 20%);
  transform-origin: left;
}

/* 1.3.2.1. Notification modifiers */
.toast-notification--success {
  border-left: 4px solid #197d5c;
  background-color: #cdf0de;
  color: #1f3429;
}

.toast-notification--error {
  border-left: 4px solid #9f1c2b;
  background-color: #ffe0e0;
  color: #351b1e;
}

.toast-notification--clickable {
  cursor: pointer;
}

.toast-notification--enter {
  animation: notification-enter 300ms ease-in forwards;
}

.toast-notification--exit {
  animation: notification-exit 300ms ease-in forwards;
}

@keyframes notification-enter {
  0% {
    opacity: 0;
    transform: translateY(-50%) scale(0.85);
  }

  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes notification-exit {
  0% {
    opacity: 1;
    transform: translateX(0) scale(1);
  }

  100% {
    opacity: 0;
    transform: translateX(100%) scale(0.85);
  }
}

/* 1.3.3. Age Verification */
.age-verification {
  position: fixed;
  z-index: 90000001;
  display: none;
  width: 100vw;
  height: 100vh;
  padding: calc(var(--section-content-padding) * 2);
  backdrop-filter: blur(4px);
  background-color: rgb(0 0 0 / 50%);
  inset: 0;
  transition: 200ms;
}

.age-verification__container {
  position: relative;
  display: flex;
  width: 100%;
  max-width: 500px;
  height: 100%;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
}

.age-verification__wrapper {
  display: flex;
  width: 100%;
  flex-direction: column;
  padding: calc(var(--section-content-padding) * 2.5) calc(var(--section-content-padding) * 1.5);
  margin: 0 auto;
  background-color: var(--av-popup-color-bg) !important;
  box-shadow: 1px 2px 9px 0 rgb(0 0 0 / 30%);
  color: var(--av-popup-color-text) !important;
  font-size: 1rem;
  gap: calc(var(--section-content-padding));
  text-align: center;
}

.age-verification__title,
.age-verification__text {
  display: block;
  color: var(--av-popup-color-text) !important;
}

.age-verification__title {
  margin: 0;
  font-size: calc(var(--font-base-size) * 1.25);
  font-weight: 600;
}

.age-verification__actions {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: center;
  margin-top: var(--section-content-padding);
  gap: calc(var(--section-content-padding) * 1.5);
}

.age-verification__button {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: calc(var(--font-base-size) * 0.9) calc(var(--font-base-size) * 1.25) !important;
  font-size: calc(var(--font-base-size) * 0.85);
  gap: calc(var(--font-base-size) * 0.5);
}

.age-verification__button:hover {
  box-shadow: 1px 2px 9px 0 rgb(0 0 0 / 30%);
}

.age-verification__button--accept {
  background-color: var(--av-popup-color-button-accept-bg) !important;
  color: var(--av-popup-color-button-accept-text) !important;
}

.age-verification__button--reject {
  background-color: var(--av-popup-color-button-reject-bg) !important;
  color: var(--av-popup-color-button-reject-text) !important;
}

@media only screen and (max-width: 414px) {
  .age-verification__actions {
    flex-direction: column;
  }
}

/* 1.4. Main container and components
======================================================== */
.main-container {
  position: relative;
  width: 100%;
  min-height: 100vh;
  transition: all 0.1s ease-in-out;
}

.main-container:has(.header--fixed) {
  padding-top: var(--header-height);
}

/* Hide Filters button when there is not Product feed component */
.main-container[data-layout="category"]:not(:has(.theme-section--feed)) .theme-section--heading .theme-section__column[data-column="filters"],
.main-container[data-layout="searchresults"]:not(:has(.theme-section--feed)) .theme-section--heading .theme-section__column[data-column="filters"] {
  display: none !important;
}

@media only screen and (min-width: 576px) {
  .main-container:has(.header-slider--fixed) {
    margin-top: 45px;
  }
}

@media only screen and (max-width: 767px) {
  .main-container:has(.header--fixed) {
    padding-top: var(--header-height-mobile);
  }
}

@media only screen and (min-width: 768px) {
  .main-container:has(.header--fixed) {
    padding-top: var(--header-height-desktop);
  }
}

/* 1.5. Theme Store name
======================================================== */
.theme-store-name {
  display: inline-block;
  margin: 0;
}

.theme-store-name,
.theme-store-name > .header__brand {
  color: var(--color-main);
  font-family: var(--font-store-name);
  font-weight: var(--store-name-weight);
  line-height: 1 !important;
}

/* In Header */
.header .theme-store-name {
  display: flex;
  width: auto;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
}

.header .theme-store-name:has(.header__logo) {
  width: fit-content;
}

@media screen and (max-width: 575px) {
  .theme-store-name {
    font-size: var(--store-name-size-mobile);
  }

  .header .theme-store-name:not(:has(.header__logo)) {
    max-width: 220px;
  }
}

@media screen and (min-width: 576px) {
  .theme-store-name {
    font-size: var(--store-name-size-desktop);
  }

  .header .theme-store-name:not(:has(.header__logo)) {
    max-width: 380px;
  }
}

/* 1.6. Theme Section
======================================================== */
.theme-section,
.theme-section__container {
  position: relative;
  padding-right: var(--section-content-padding);
  padding-left: var(--section-content-padding);
}

.theme-section {
  position: relative;
  padding-top: var(--section-margin-top);
  padding-bottom: var(--section-margin-bottom);
}

.theme-section__container:has(+ .theme-section__media) {
  z-index: 3;
}

.theme-section__content,
.theme-section__wrapper {
  margin-right: var(--section-content-margin);
  margin-left: var(--section-content-margin);
}

.theme-section__feed,
.theme-section__content--wrap {
  padding-right: var(--section-content-padding);
  padding-left: var(--section-content-padding);
}

.theme-section__heading {
  padding-bottom: calc(var(--section-content-padding) * 2);
}

.theme-section__column {
  position: relative;
  z-index: 3;
  padding-right: var(--section-content-padding);
  padding-left: var(--section-content-padding);
  margin-bottom: var(--section-content-padding);
}

.theme-section__block {
  padding: calc(var(--section-content-padding) * 1.5) var(--section-content-padding);
}

.theme-section__subtitle,
.theme-section__description {
  color: var(--color-secondary);
}

.theme-section__subtitle {
  margin-bottom: var(--section-content-padding);
  font-family: var(--font-secondary);
  line-height: 1;
  text-transform: uppercase;
}

.theme-section__title + .theme-section__subtitle {
  margin-top: calc(var(--section-content-padding) * 1.25);
}

.theme-section__title,
.theme-section__title > a {
  margin: 0 !important;
  color: var(--color-main);
  font-family: var(--font-main);
  font-weight: var(--title-weight);
}

.theme-section__title:not(:has(> a)) {
  letter-spacing: var(--title-spacing);
  text-transform: var(--title-text-transform);
}

.theme-section__title:has(> a):hover > a {
  text-decoration: underline !important;
}

.theme-section__title--link {
  border-bottom: 1px solid transparent;
  font-style: italic;
}

.theme-section__title--link:hover {
  border-bottom-color: var(--color-main);
}

.theme-section__description,
.theme-section__description * {
  font-family: var(--font-secondary);
}

.theme-section__description {
  margin-top: var(--section-content-padding);
}

.theme-section__link {
  padding: 2px 0;
  border-width: 0 0 1px;
  border-style: solid;
  border-color: transparent !important;
  color: var(--color-secondary) !important;
}

.theme-section__link:hover,
.theme-section__link:focus {
  border-color: var(--color-links) !important;
  color: var(--color-links) !important;
}

.theme-section__link > .ph-arrow-right {
  position: relative;
  top: 1px;
  font-size: 95%;
}

.theme-section__button {
  margin-top: calc(var(--section-content-padding) * 2);
  margin-bottom: calc(var(--section-content-padding) * 2);
}

.theme-section__dropdown-wrapper {
  display: inline-block;
  width: fit-content;
}

.theme-section__toggle {
  display: flex !important;
  align-items: center;
  justify-content: flex-start;
  background: transparent !important;
  color: var(--color-secondary) !important;
  gap: 4px;
}

.theme-section__toggle:hover,
.theme-section__toggle[aria-expanded="true"] {
  color: var(--color-links) !important;
}

.theme-section__toggle > .ph-caret-down {
  position: relative;
  top: 1px;
  font-size: 100%;
  transform: rotate(0deg);
  transition: transform 0.1s ease-in-out;
}

.theme-section__toggle.show > .ph-caret-down {
  transform: rotate(180deg);
}

.theme-section__toggle::after {
  display: none !important;
}

.theme-section__overlay {
  position: absolute;
  z-index: 3;
  display: block;
  width: 100%;
  height: 100%;
  background: var(--theme-overlay-background);
  opacity: var(--theme-overlay-opacity);
}

.theme-section__media {
  position: absolute;
  z-index: 1;
  display: block;
  overflow: hidden;
  width: 100%;
  height: 100%;
  inset: 0;
}

.theme-section__picture,
.theme-section__image {
  position: relative;
  z-index: 1;
  display: block;
  max-width: 100%;
}

.theme-section__image--variable-width {
  width: var(--section-image-variable-width);
}

.theme-section__media .theme-section__picture {
  width: 100%;
  height: 100%;
}

.theme-section__media .theme-section__image {
  width: 100%;
  height: 100%;
  object-fit: var(--theme-image-cover);
  object-position: center center;
  transform: var(--theme-image-zoom);
  transition: var(--theme-image-transition);
}

.hover-link:hover + * .theme-section__media .theme-section__image {
  transform: var(--theme-image-zoom-hover);
}

.theme-section__embed {
  overflow: hidden;
  width: 100%;
}

.theme-section__embed:not(.theme-section__embed--fixed) {
  height: auto;
}

.theme-section__embed--fixed {
  height: 450px;
}

.theme-section__embed > figure,
.theme-section__embed > figure > iframe,
.theme-section__embed > iframe {
  width: 100%;
  height: 100%;
  margin: 0;
}

.theme-modal:has(.theme-section__embed) iframe {
  min-height: 350px;
}

.theme-section__carousel {
  padding-right: 0 !important;
  padding-left: 0 !important;
}

.theme-section__line-divider::after {
  display: block;
  width: 100%;
  height: var(--section-line-divider-thickness);
  background: var(--color-main);
  content: "";
  opacity: var(--section-line-divider-opacity);
}

.theme-section__filters {
  padding-right: var(--section-content-padding);
  padding-left: var(--section-content-padding);
}

/* Theme Section > Body */
.theme-section__body {
  padding-right: var(--section-content-padding);
  padding-left: var(--section-content-padding);
}

.theme-section__body *:is(h1, h2, h3, h4, h5, h6) {
  margin-bottom: calc(var(--section-content-padding) * 1.5);
  color: var(--color-main);
}

.theme-section__body *:is(p, pre, span, ul, ol) {
  color: var(--color-secondary);
}

.theme-section__body a:not(.button) {
  color: var(--color-links) !important;
}

.theme-section__body a:not(.button):hover,
.theme-section__body a:not(.button):focus {
  color: var(--color-links-hover) !important;
  text-decoration: underline !important;
}

.theme-section__body hr {
  border-color: var(--color-border);
  margin: calc(var(--section-content-padding) * 2) 0;
}

.theme-section__body figure,
.theme-section__body img {
  overflow: hidden;
}

/* Theme Section Heights */
.theme-section-height-auto,
.theme-section-height-auto .theme-section-height-child {
  min-height: var(--section-height-auto);
}

.theme-section-height-small,
.theme-section-height-small .theme-section-height-child {
  min-height: var(--section-height-small);
}

.theme-section-height-medium,
.theme-section-height-medium .theme-section-height-child {
  min-height: var(--section-height-medium);
}

.theme-section-height-large,
.theme-section-height-large .theme-section-height-child {
  min-height: var(--section-height-large);
}

.theme-section-height-browser,
.theme-section-height-browser .theme-section-height-child {
  min-height: var(--section-height-browser);
}

/*
  Remove container right and left paddings
  for "template-image" and "image" components
  on full width
*/
.theme-section.container-fluid:has(> .theme-section__picture),
.theme-section.container-fluid:has(> .theme-section__image),
.theme-section.container-fluid:has(> .theme-image-placeholder) {
  padding-right: 0;
  padding-left: 0;
}

/* Theme Section Media Queries */
@media screen and (max-width: 575px) {
  .theme-section__subtitle {
    font-size: var(--subtitle-size-mobile);
  }

  .theme-section__title,
  .theme-section__title > a {
    font-size: var(--title-size-mobile);
  }

  .theme-section__title--link {
    font-size: calc(var(--title-size-mobile) * 0.75);
  }

  .theme-section__title--small {
    font-size: calc(var(--font-base-size) * 0.9);
  }

  .theme-section__title--medium {
    font-size: calc(var(--title-size-mobile) * 0.95);
  }

  .theme-section__description {
    font-size: var(--description-size-mobile);
  }

  .theme-section__link,
  .theme-section__toggle {
    font-size: var(--links-size-mobile);
  }

  .theme-section__heading .theme-section__column > .button {
    padding: calc(var(--font-base-size) * 0.8) calc(var(--font-base-size) * 1);
  }
}

@media screen and (min-width: 576px) {
  .theme-section__subtitle {
    font-size: var(--subtitle-size-desktop);
  }

  .theme-section__title,
  .theme-section__title > a {
    font-size: var(--title-size-desktop);
  }

  .theme-section__title--link {
    font-size: calc(var(--title-size-desktop) * 0.75);
  }

  .theme-section__title--small {
    font-size: var(--font-base-size);
  }

  .theme-section__title--medium {
    font-size: calc(var(--title-size-desktop) * 0.75);
  }

  .theme-section__description {
    font-size: var(--description-size-desktop);
  }

  .theme-section__link,
  .theme-section__toggle {
    font-size: var(--links-size-desktop);
  }

  /* Theme Section > Body */
  .theme-section__body h1 {
    font-size: calc(var(--title-size-desktop) * 0.9);
  }

  .theme-section__body h2 {
    font-size: calc(var(--title-size-desktop) * 0.85);
  }

  .theme-section__body h3 {
    font-size: calc(var(--title-size-desktop) * 0.8);
  }

  .theme-section__body h4 {
    font-size: calc(var(--title-size-desktop) * 0.75);
  }

  .theme-section__body h5 {
    font-size: calc(var(--title-size-desktop) * 0.7);
  }

  .theme-section__body h6 {
    font-size: calc(var(--title-size-desktop) * 0.65);
  }
}

@media screen and (min-width: 768px) {
  .theme-section__block {
    padding: var(--section-content-padding);
  }

  .theme-section__block--push:not(.order-md-1, .order-1) {
    padding-left: calc(var(--section-content-padding) * 3);
  }

  .theme-section__block--push.order-md-1,
  .theme-section__block--push.order-1 {
    padding-right: calc(var(--section-content-padding) * 3);
  }
}

/* 1.7. Theme Navigation
======================================================== */
.theme-navigation {
  position: relative;
  max-width: 1320px;
  height: 30px;
  padding: 0 var(--section-content-padding);
  margin: calc(var(--section-content-padding) * 2.5) auto 0;
}

.theme-navigation:has(> .swiper-button-lock):has(> .swiper-pagination-lock) {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
}

.theme-navigation__arrow {
  position: relative !important;
  display: flex !important;
  width: 30px !important;
  height: 24px;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  border: none !important;
  margin: 0 !important;
  background: transparent !important;
  color: var(--color-main) !important;
  inset: 0 !important;
  opacity: 0.7;
  outline: none !important;
  text-decoration: none !important;
}

.theme-navigation__arrow:hover {
  opacity: 1;
}

.theme-navigation__arrow::after {
  display: none !important;
}

.theme-navigation__pagination {
  position: relative !important;
  top: 0 !important;
  bottom: 0 !important;
  height: auto;
  padding: 0 var(--section-content-padding);
  gap: var(--section-content-padding);
}

.theme-navigation__pagination > .swiper-pagination-bullet {
  position: relative;
  display: flex;
  width: 24px;
  height: 24px;
  align-items: center;
  justify-content: center;
  margin: 0 !important;
  background: transparent;
  opacity: 1 !important;
}

.theme-navigation__pagination > .swiper-pagination-bullet::after {
  position: absolute;
  display: flex;
  width: var(--carousel-nav-size);
  height: var(--carousel-nav-size);
  padding: 3px;
  border: 1px solid transparent;
  border-radius: 100px;
  background: transparent !important;
  content: "";
  transition: all 0.25s ease-in-out;
}

.theme-navigation__pagination > .swiper-pagination-bullet:hover::after,
.theme-navigation__pagination > .swiper-pagination-bullet-active::after {
  border-color: var(--color-main);
}

.theme-navigation__pagination > .swiper-pagination-bullet::before {
  position: absolute;
  display: block;
  width: calc(var(--carousel-nav-size) - calc(var(--carousel-nav-size) * 0.35));
  height: calc(var(--carousel-nav-size) - calc(var(--carousel-nav-size) * 0.35));
  border-radius: 100px;
  background-color: var(--color-main);
  content: "";
}

.theme-navigation__pagination:not(:has(.swiper-pagination-bullet)),
.theme-navigation__pagination:not(:has(.swiper-pagination-bullet)) .swiper-pagination-current,
.theme-navigation__pagination:not(:has(.swiper-pagination-bullet)) .swiper-pagination-total {
  font-size: calc(var(--carousel-nav-size) * 0.75) !important;
}

/* Adjust sizes for Trust Bar component */
.theme-slider__carousel[sw-layout="trust-bar"] + .theme-navigation {
  margin: calc(var(--section-content-padding) * 1.5) auto 0;
}

/* Theme Navigation Media Queries */
@media only screen and (max-width: 767px) {
  .theme-navigation__arrow {
    font-size: calc(var(--carousel-nav-size) * 1.1) !important;
  }
}

@media only screen and (min-width: 768px) {
  .theme-navigation__arrow {
    font-size: calc(var(--carousel-nav-size) * 1.25) !important;
  }
}

/* Theme placeholder images */
.theme-image-placeholder {
  display: flex !important;
  width: 100% !important;
  height: 100% !important;
  align-items: center;
  justify-content: center;
  background: var(--color-main-op1);
  color: var(--color-main-op7);
  font-family: Phosphor, sans-serif !important;
  font-feature-settings: "liga";
  font-size: calc(var(--pb-font-size) * 1.75);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-variant-ligatures: discretionary-ligatures;
  font-weight: normal;
  letter-spacing: 0;
  line-height: 1;
  text-transform: none;
}

.theme-image-placeholder--landscape {
  aspect-ratio: var(--aspect-ratio-landscape);
}

.theme-image-placeholder--portrait {
  aspect-ratio: var(--aspect-ratio-portrait);
}

.theme-image-placeholder--rectangular {
  aspect-ratio: var(--aspect-ratio-rectangular);
}

.theme-image-placeholder--square {
  aspect-ratio: var(--aspect-ratio-square);
}

.theme-image-placeholder--wide {
  aspect-ratio: 7 / 2;
}

.theme-image-placeholder::before {
  content: "\e2ca";
}

.theme-image-placeholder--instagram::before {
  content: "\e2d0";
}

.theme-image-placeholder--video::before {
  content: "\e3d2";
}

.theme-image-placeholder--small {
  font-size: var(--pb-font-size);
}

.theme-image-placeholder--no-icon::before {
  content: "";
}

/* Add aspect ratio if Theme slider doesn't have any image */
.theme-slider--image:not(:has(.theme-slider__image)) .theme-image-placeholder {
  aspect-ratio: 7 / 2;
}

/* Add aspect ratio banners doesn't have any image */
.theme-section:not(:has(.banner-block__image)) .banner-block .theme-image-placeholder {
  aspect-ratio: 1;
}

/* Hover link
======================================================== */
.hover-link {
  position: absolute;
  z-index: 4;
  display: block;
  width: 100%;
  height: 100%;
  inset: 0;
}

/* 1.8. Buttons
======================================================== */
.button,
.button * {
  font-family: var(--font-buttons);
}

.button {
  display: inline-block;
  width: fit-content;
  padding: 0;
  border: none;
  font-size: var(--button-font-size);
  line-height: 1;
}

.button[disabled] {
  cursor: not-allowed !important;
  opacity: 0.5;
}

.button--full {
  display: block;
  width: 100% !important;
}

.button--bordered {
  border-width: 1px;
  border-style: solid;
}

.button--link {
  padding: 0 !important;
  border: none !important;
}

.button--link.button--bordered {
  padding: 0 0 calc(var(--font-base-size) * 0.325) !important;
  border-width: 0 0 1px !important;
  border-style: solid !important;
  background: transparent !important;
}

.button--style,
.button--style *:not(i) {
  font-weight: 600;
}

.button--style:not(.button--link) {
  padding: calc(var(--font-base-size) * 1) calc(var(--font-base-size) * 1.5);
  border-radius: var(--button-style);
}

.button > .ph-arrow-right {
  position: relative;
  top: 2px;
  margin-left: 0;
  transition: margin-left 0.25s ease-in-out;
}

.button:not([disabled]):hover > .ph-arrow-right,
.hover-link:hover + * .button > .ph-arrow-right {
  margin-left: 5px;
}

.button--small {
  padding: calc(var(--font-base-size) * 0.85) calc(var(--font-base-size) * 1.25) !important;
  font-size: calc(var(--font-base-size) * 0.825);
}

.button--flex {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(var(--font-base-size) * 0.5);
}

/* Main Button */
.button--main {
  background: var(--color-button-main-bg);
  color: var(--color-button-main-text);
}

.button--main:not([disabled]):hover,
.button--main:not([disabled]):focus,
.hover-link:hover + * .button--main {
  background: var(--color-button-main-bg-hover);
  color: var(--color-button-main-text);
}

.button--main.button--bordered {
  border-color: var(--color-button-main-bg);
  background: transparent !important;
  color: var(--color-button-main-bg);
}

.button--main.button--bordered:not([disabled]):hover,
.button--main.button--bordered:not([disabled]):focus,
.hover-link:hover + * .button--main.button--bordered {
  border-color: var(--color-button-main-bg);
  background: var(--color-button-main-bg) !important;
  color: var(--color-button-main-text);
}

.button--main.button--link {
  background: transparent !important;
  color: var(--color-button-main-bg) !important;
}

.button--main.button--link:hover,
.button--main.button--link:focus,
.hover-link:hover + * .button--main.button--link {
  background: transparent !important;
  color: var(--color-button-main-bg-hover) !important;
}

.button--main.button--link.button--bordered {
  border-color: var(--color-button-main-bg) !important;
  background: transparent !important;
}

.button--main.button--link.button--bordered:hover,
.button--main.button--link.button--bordered:focus,
.hover-link:hover + * .button--main.button--link.button--bordered {
  border-color: var(--color-button-main-bg-hover) !important;
  background: transparent !important;
}

/* Secondary Button */
.button--secondary {
  background: var(--color-button-secondary-bg);
  color: var(--color-button-secondary-text);
}

.button--secondary:not([disabled]):hover,
.button--secondary:not([disabled]):focus,
.hover-link:hover + * .button--secondary {
  background: var(--color-button-secondary-bg-hover);
  color: var(--color-button-secondary-text);
}

.button--secondary.button--bordered {
  border-color: var(--color-button-secondary-bg);
  background: transparent !important;
  color: var(--color-button-secondary-bg);
}

.button--secondary.button--bordered:not([disabled]):hover,
.button--secondary.button--bordered:not([disabled]):focus,
.hover-link:hover + * .button--secondary.button--bordered {
  border-color: var(--color-button-secondary-bg);
  background: var(--color-button-secondary-bg) !important;
  color: var(--color-button-secondary-text);
}

.button--secondary.button--link {
  background: transparent !important;
  color: var(--color-button-secondary-bg) !important;
}

.button--secondary.button--link:hover,
.button--secondary.button--link:focus,
.hover-link:hover + * .button--secondary.button--link {
  background: transparent !important;
  color: var(--color-button-secondary-bg-hover) !important;
}

.button--secondary.button--link.button--bordered {
  border-color: var(--color-button-secondary-bg) !important;
  background: transparent !important;
}

.button--secondary.button--link.button--bordered:hover,
.button--secondary.button--link.button--bordered:focus,
.hover-link:hover + * .button--secondary.button--link.button--bordered {
  border-color: var(--color-button-secondary-bg-hover) !important;
  background: transparent !important;
}

/* Whatsapp Button */
.button--whatsapp {
  background: var(--store-whatsapp-color-bg) !important;
  color: var(--store-whatsapp-color-icon) !important;
}

.button--whatsapp:hover {
  background: var(--store-whatsapp-color-bg-hover) !important;
  color: var(--store-whatsapp-color-icon) !important;
}

/* 1.9. Theme Dropdown
======================================================== */
.theme-dropdown {
  overflow: hidden;
  padding: 0;
  border-color: var(--color-border);
  border-radius: 0;
  margin-top: 0.5rem !important;
  background: var(--color-background);
  box-shadow: 0 0 10px rgb(0 0 0 / 20%);
}

.theme-dropdown__item:not(:last-child) {
  border-bottom: 1px solid var(--color-border);
}

.theme-dropdown__link {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: calc(var(--font-base-size) * 0.65) calc(var(--font-base-size) * 0.75);
  background: var(--color-background);
  color: var(--color-main) !important;
  font-size: calc(var(--font-base-size) * 0.825);
  gap: 0.25rem;
  line-height: 1;
}

.theme-dropdown__link:hover,
.theme-dropdown__link:focus,
.theme-dropdown__link.active,
.theme-dropdown__link--active {
  background: var(--color-main-op05) !important;
  color: var(--color-links) !important;
}

.theme-dropdown__link > .ph-check {
  display: none;
  font-size: 100%;
}

.theme-dropdown__link--active > .ph-check {
  display: block;
}

/* 1.10. Theme Social
======================================================== */
.theme-social {
  width: 100%;
  gap: 0.75rem;
  line-height: 1;
}

.theme-social__title {
  color: var(--color-secondary);
  font-size: calc(var(--font-base-size) * 0.9);
}

.theme-social__link {
  display: block;
  color: var(--color-main) !important;
  font-size: calc(var(--font-base-size) * 1.25);
  line-height: 1;
}

.theme-social__link:hover {
  color: var(--color-links) !important;
}

/* 1.11. Theme Breadcrumbs
======================================================== */
.theme-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  padding: calc(var(--section-content-padding) * 0.5) 0;
  gap: calc(var(--section-content-padding) * 0.5);
}

.theme-breadcrumbs__item,
.theme-breadcrumbs__arrow,
.theme-breadcrumbs__link {
  display: block;
  color: var(--color-secondary) !important;
  font-size: calc(var(--font-base-size) * 0.85);
  line-height: 1;
}

.theme-breadcrumbs__item--current {
  font-weight: 600;
}

.theme-breadcrumbs__arrow {
  position: relative;
  top: 1px;
  opacity: 0.7;
}

.theme-breadcrumbs__link:hover,
.theme-breadcrumbs__link:focus {
  color: var(--color-links) !important;
  text-decoration: underline !important;
}

/* 1.12. Theme Message
======================================================== */
.theme-message {
  margin-bottom: calc(var(--section-content-padding) * 2);
}

.theme-message__wrapper {
  padding: calc(var(--section-content-padding) * 3) calc(var(--section-content-padding) * 2);
  border: 1px solid var(--color-main-op05);
  background: var(--color-main-op05);
}

.theme-message__title {
  font-size: calc(var(--font-base-size) * 1.2);
  font-weight: 600;
}

.theme-message__text {
  margin-top: calc(var(--section-content-padding));
  color: var(--color-secondary);
}

.theme-message__button {
  margin-top: calc(var(--section-content-padding) * 2);
}

/* 1.13. Theme Filters
======================================================== */
.theme-filters,
.theme-filters__heading,
.theme-filters__form,
.theme-filters__group {
  display: flex;
  width: 100%;
  align-items: start;
}

.theme-filters,
.theme-filters__heading,
.theme-filters__form {
  flex-direction: column;
}

.theme-filters {
  gap: calc(var(--section-content-padding) * 2);
}

.theme-filters__form {
  gap: calc(var(--section-content-padding) * 1.35);
}

.theme-filters__heading {
  gap: calc(var(--section-content-padding) * 0.5);
}

.theme-filters__title,
.theme-filters__subtitle {
  font-family: var(--font-secondary);
}

.theme-filters__title {
  width: 100%;
  font-size: calc(var(--font-base-size) * 1.2);
}

.theme-filters__subtitle {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  background: transparent !important;
  color: var(--color-secondary) !important;
  font-size: calc(var(--font-base-size) * 0.8);
  font-weight: 600;
  gap: calc(var(--section-content-padding) * 0.5);
  line-height: 1.25;
  text-align: start;
  text-transform: uppercase;
}

.theme-filters__subtitle:not([data-bs-toggle="collapse"]) {
  margin-bottom: calc(var(--section-content-padding) * 0.25);
}

.theme-filters__caret {
  position: relative;
  top: -1px;
  font-size: 120%;
  transform: rotate(0deg);
  transition: transform 0.25s ease-in-out;
}

.theme-filters__subtitle[aria-expanded="true"] .theme-filters__caret {
  transform: rotate(180deg);
}

.theme-filters__count {
  color: var(--color-secondary);
  font-size: calc(var(--font-base-size) * 0.85);
}

.theme-filters__block {
  width: 100%;
}

.theme-filters__block:not(.theme-filters__block--first) {
  padding-top: calc(var(--section-content-padding) * 1.5);
  border-top: 1px solid var(--color-border);
}

.theme-filters__block--last {
  border-bottom: 1px solid var(--color-border);
}

#sidebar-filters .theme-filters__block--first:not(:has(.theme-filters__group)) {
  display: none;
  height: 0 !important;
}

.theme-filters__select {
  margin-top: calc(var(--section-content-padding) * 0.75);
}

.theme-filters__list {
  display: flex;
  align-items: start;
  padding-top: var(--section-content-padding);
  gap: calc(var(--section-content-padding) * 0.75);
  line-height: 1;
}

.theme-filters__list:not(.theme-filters__list--inline) {
  flex-direction: column;
}

.theme-filters__list--inline {
  flex-direction: row;
}

.theme-filters__list + .theme-filters__list {
  padding-top: var(--section-content-padding);
}

.theme-filters__item {
  display: block;
  width: 100%;
}

.theme-filters__link {
  color: var(--color-secondary) !important;
  font-size: calc(var(--font-base-size) * 0.95);
}

.theme-filters__link:hover,
.theme-filters__link:focus {
  color: var(--color-links) !important;
}

.theme-filters__input {
  margin-top: calc(var(--section-content-padding) * 0.5);
}

.theme-filters__message {
  color: red;
  font-size: calc(var(--font-base-size) * 0.8);
  line-height: calc(var(--font-base-line-height) * 0.8);
}

.theme-filters__label {
  display: flex;
  width: fit-content;
  align-items: center;
  justify-content: flex-start;
  color: var(--color-secondary);
  cursor: pointer;
  font-size: calc(var(--font-base-size) * 0.95);
  gap: calc(var(--section-content-padding) * 0.75);
}

.theme-filters__checkbox:is(:checked) + .theme-filters__square + span {
  font-weight: 600;
}

.theme-filters__checkbox {
  display: none;
}

.theme-filters__square,
.theme-filters__square::after {
  transition: all 0.25s ease-in-out;
}

.theme-filters__square {
  display: flex;
  width: 16px;
  height: 16px;
  align-items: center;
  justify-content: center;
  padding: 2px;
  border: 1px solid var(--color-main-op5);
}

.theme-filters__label:hover .theme-filters__square,
.theme-filters__label:has(.theme-filters__checkbox:checked) .theme-filters__square {
  border-color: var(--color-main);
}

.theme-filters__square::after {
  display: block;
  width: 100%;
  height: 100%;
  background: transparent;
  content: "";
}

.theme-filters__checkbox:is(:checked) + .theme-filters__square::after {
  background: var(--color-main);
}

.theme-filters__color,
.theme-filters__color > span {
  border-radius: 30px;
}

.theme-filters__color {
  display: flex;
  width: 30px;
  height: 30px;
  align-items: center;
  justify-content: center;
  padding: 2px;
  border: 1px solid var(--color-main-op2);
}

.theme-filters__label:hover > .theme-filters__color,
.theme-filters__checkbox:is(:checked) + .theme-filters__color {
  border-color: var(--color-main);
}

.theme-filters__color > span {
  display: block;
  width: 100%;
  height: 100%;
  background: var(--color-main-op1);
  color: transparent;
  font-size: 0;
  text-indent: -9999px;
}

.theme-filters__group {
  flex-wrap: wrap;
  align-items: center;
  padding-top: calc(var(--section-content-padding) * 0.5);
  gap: calc(var(--section-content-padding) * 0.75);
}

.theme-filters__group + .button {
  margin-top: calc(var(--section-content-padding) * 1.25);
}

.theme-filters__tag {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: calc(var(--section-content-padding) * 0.5) calc(var(--section-content-padding) * 0.75);
  border: 1px solid var(--color-main-op2);
  background: transparent !important;
  background-color: var(--color-secondary-op05) !important;
  color: var(--color-secondary);
  font-size: calc(var(--font-base-size) * 0.75);
  gap: calc(var(--section-content-padding) * 0.5);
  letter-spacing: calc(var(--font-base-size) * -0.025);
}

.theme-filters__tag:not(.theme-filters__tag--remove):hover {
  border-color: var(--color-main-op5);
}

.theme-filters__tag--remove {
  min-height: auto;
  padding: 2px 0 !important;
  border-width: 0 0 1px;
  border-radius: 0 !important;
  background-color: transparent !important;
}

.theme-filters__tag--remove:hover {
  border-color: var(--color-main-op5);
}

.theme-filters__tag--remove-price {
  margin-top: calc(var(--section-content-padding) * 0.5);
  margin-left: auto;
}

.theme-filters__xmark {
  position: relative;
  top: 1px;
  background: transparent !important;
  color: red !important;
}

.theme-filters__xmark:hover {
  opacity: 0.8;
}

.theme-filters__tooltip {
  font-size: calc(var(--pb-font-size) * 0.75);
}

.theme-filters__toggle,
.theme-filters__toggle > span {
  font-family: var(--font-secondary) !important;
}

.theme-filters__toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-bottom: 3px;
  border-bottom: 1px solid var(--color-secondary) !important;
  margin-top: calc(var(--section-content-padding) * 0.5);
  margin-left: calc(var(--section-content-padding) * 2);
  background: transparent !important;
  color: var(--color-secondary) !important;
  font-size: calc(var(--font-base-size) * 0.85);
  opacity: 0.7;
}

.theme-filters__toggle[aria-expanded="false"] > span:nth-child(1),
.theme-filters__toggle[aria-expanded="true"] > span:nth-child(2) {
  display: block;
}

.theme-filters__toggle[aria-expanded="false"] > span:nth-child(2),
.theme-filters__toggle[aria-expanded="true"] > span:nth-child(1) {
  display: none;
}

/* Theme Filters group specifications */
.theme-filters__form:has(.theme-filters__subtitle[data-bs-toggle="collapse"]) {
  gap: 0;
}

.theme-filters__block:has(.theme-filters__subtitle[data-bs-toggle="collapse"]),
.theme-filters__block:has(.theme-filters__subtitle[data-bs-toggle="collapse"]) .theme-filters__list {
  padding-top: 0;
}

.theme-filters__block:has(.theme-filters__subtitle[data-bs-toggle="collapse"]) .theme-filters__list {
  padding-bottom: calc(var(--section-content-padding) * 1.75);
}

.theme-filters__subtitle[data-bs-toggle="collapse"] {
  height: 50px;
  flex-wrap: nowrap;
}

#theme-filters-price-group:has(.theme-filters__tag--remove-price.d-none) > .d-block {
  display: none !important;
}

/* Theme Filters Price specifications */
#theme-filters-price:has(.theme-filters__message.d-none) .theme-filters__list:has(.theme-filters__message.d-none) {
  display: none;
  height: 0;
  padding-top: 0;
}

/* 1.14. Theme Share
======================================================== */
.theme-share {
  display: flex;
  align-items: center;
  gap: calc(var(--section-content-padding) * 1.25);
}

.theme-section__title + .theme-share {
  margin-top: calc(var(--section-content-padding) * 1.25);
}

.theme-share__link {
  padding: calc(var(--section-content-padding) * 0.5);
  background: transparent !important;
  color: var(--color-secondary) !important;
  font-size: calc(var(--font-base-size) * 1.35);
}

.theme-share__link:hover {
  color: var(--color-links) !important;
}

/* 1.15. Store product
======================================================== */
.store-product {
  padding-right: var(--pb-padding);
  padding-left: var(--pb-padding);
  margin-bottom: calc(var(--pb-margin) * 0.65);
  font-size: calc(var(--pb-font-size));
}

.store-product__wrapper,
.store-product__info,
.store-product__attributes,
.store-product__pricing,
.store-product__options,
.store-product__actions,
.store-product__quantity {
  display: flex;
}

.store-product__wrapper,
.store-product__info,
.store-product__options {
  align-items: flex-start;
}

.store-product__attributes,
.store-product__pricing,
.store-product__actions,
.store-product__quantity {
  align-items: center;
  justify-content: flex-start;
}

.store-product__wrapper {
  gap: var(--pb-padding);
}

.store-product__anchor {
  display: block;
  overflow: hidden;
  width: 70px !important;
  min-width: 70px;
  max-width: 70px;
}

.store-product__placeholder {
  width: 100%;
  height: 100%;
  aspect-ratio: 1;
  background: var(--color-main-op1);
  color: var(--color-main-op7);
  font-size: calc(var(--pb-font-size) * 1.25);
}

.store-product__image {
  display: block;
  width: 70px;
  height: 70px;
  object-fit: cover;
  object-position: center center;
}

.store-product__info {
  width: 100%;
  flex-direction: column;
  gap: calc(var(--pb-padding) * 0.5);
}

.store-product__attributes {
  width: 100%;
  color: var(--color-secondary-op7);
  font-size: 65%;
  gap: calc(var(--pb-padding) * 0.5);
  line-height: 1;
}

.store-product__attributes:has(.store-product__sku:empty):has(.store-product__brand:empty) {
  display: none;
  height: 0;
}

.store-product__attributes:has(.store-product__sku:not(:empty)):has(.store-product__brand:empty) > span:nth-child(2),
.store-product__attributes:has(.store-product__sku:empty):has(.store-product__brand:not(:empty)) > span:nth-child(2),
.store-product__attributes:has(.store-product__sku:empty):has(.store-product__brand:empty) > span:nth-child(2) {
  display: none !important;
}

.store-product__name {
  margin-bottom: 0;
  color: var(--color-main);
  font-size: 105%;
  font-weight: 600;
}

.store-product__pricing,
.store-product__price {
  color: var(--color-secondary);
  font-size: 95%;
  font-weight: normal;
  line-height: 1;
}

.store-product__pricing {
  width: 100%;
  align-items: center;
  gap: calc(var(--pb-padding) * 0.5);
}

.store-product__price--new {
  color: var(--color-discount);
  font-weight: 600;
}

.store-product__price--old {
  font-size: 90%;
  opacity: 0.7;
  text-decoration: line-through;
}

.store-product__price > .ph-x {
  font-size: 75%;
}

.store-product__price--qty {
  display: none;
}

.store-product__options {
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: calc(var(--font-base-size) * 0.25);
}

.store-product__option {
  display: block;
  width: 100%;
  color: var(--color-secondary-op7);
  font-size: 85%;
  line-height: 1;
}

.store-product__label {
  padding: calc(var(--pb-padding) * 0.5) calc(var(--pb-padding) * 0.75);
  font-size: 70%;
  line-height: 1;
}

.store-product__actions {
  width: 100%;
  margin-top: calc(var(--pb-padding) * 0.5);
  gap: var(--pb-padding);
}

.store-product__quantity {
  height: 34px;
  border: 1px solid var(--color-main-op3);
  border-radius: var(--button-style);
}

.store-product__handler {
  display: flex;
  height: 100%;
  align-items: center;
  justify-content: center;
  padding: 0 calc(var(--pb-padding) * 0.5);
  background: transparent !important;
  color: var(--color-secondary-op7) !important;
  font-size: 90%;
}

.store-product__handler:not(:disabled):hover {
  color: var(--color-secondary) !important;
}

.store-product .store-product__input {
  width: 40px !important;
  height: 100% !important;
  min-height: inherit !important;
  padding: 0 !important;
  font-size: 100% !important;
  text-align: center;
}

.store-product .store-product__input,
.store-product .store-product__input:hover,
.store-product .store-product__input:focus {
  border: none !important;
  background: transparent !important;
  color: var(--color-main) !important;
}

.store-product__delete {
  padding: 1px 0;
  border-bottom: 1px solid var(--color-secondary);
  background: transparent !important;
  color: var(--color-secondary) !important;
  font-size: 80%;
  font-weight: normal !important;
}

.store-product__delete:hover {
  border-color: var(--color-main) !important;
  color: var(--color-main) !important;
}

/* Show product qty on certains places */
.cart-summary .store-product__price--qty,
.theme-modal .store-product__price--qty {
  display: block;
}

/* 1.16. Store Totals
======================================================== */
cart-area .loading-spinner,
.store-totals .loading-spinner {
  width: 45px;
  height: 45px;
  border-width: 6px;
}

cart-area .loading-spinner__wrapper,
.store-totals .loading-spinner__wrapper {
  position: absolute;
  top: 0;
  left: 0;
  display: none;
  width: 100%;
  height: 100%;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: none;
  background-color: transparent;
}

cart-area.disabled .cart-area__content,
.store-totals.disabled {
  cursor: not-allowed;
  opacity: 0.25;
  pointer-events: none;
}

cart-area.disabled .loading-spinner__wrapper,
.store-totals.disabled .loading-spinner__wrapper {
  display: flex;
}

.store-totals {
  padding-top: calc(var(--section-content-padding) * 1.25);
  border-top: 1px solid var(--color-border);
  gap: calc(var(--section-content-padding) * 0.75);
}

.cart-page__column .store-totals {
  padding-top: 0;
  border-top: none;
}

.store-totals__column[data-name="total"] {
  padding-top: calc(var(--section-content-padding) * 1.25);
  border-top: 1px solid var(--color-border);
  margin-top: calc(var(--section-content-padding) * 0.25);
}

.store-totals__value,
.store-totals__price {
  font-size: calc(var(--font-base-size) * 0.9);
  line-height: 1;
}

.store-totals__price {
  color: var(--color-secondary);
  font-family: var(--font-secondary);
  font-weight: 500;
  text-align: right;
}

.store-totals__value--text {
  font-size: calc(var(--font-base-size) * 0.85);
  font-style: italic;
  line-height: 1.5;
}

.store-totals__value--last,
.store-totals__price--last {
  font-size: calc(var(--font-base-size));
  font-weight: bold;
}

.store-totals__require-minimum {
  padding: var(--section-content-padding);
  border: 1px solid var(--color-secondary-op1);
  background: var(--color-secondary-op05);
  color: var(--color-secondary);
  font-size: calc(var(--font-base-size) * 0.85);
  line-height: 1.25;
}

.store-totals__free-shipping {
  position: relative;
  display: block;
  width: 100%;
  padding-bottom: calc(var(--section-content-padding) * 1.25);
  margin-bottom: calc(var(--section-content-padding) * 0.5);
  color: var(--color-secondary);
  font-size: calc(var(--font-base-size) * 0.85);
  line-height: calc(var(--font-base-line-height) * 0.75);
  text-align: center;
}

.store-totals__free-shipping::before,
.store-totals__free-shipping::after {
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  height: 5px;
  content: "";
}

.store-totals__free-shipping::before {
  left: 0;
  width: 70%;
  background: var(--color-main);
}

.store-totals__free-shipping::after {
  right: 0;
  width: 100%;
  background: var(--color-main-op2);
}

.store-totals__code {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: calc(var(--section-content-padding) * 0.65);
  border: 1px solid var(--color-secondary-op1);
  margin-top: calc(var(--section-content-padding) * 0.75);
  margin-right: calc(var(--section-content-padding) * 0.75);
  background: var(--color-background);
  color: var(--color-secondary);
  font-size: calc(var(--font-base-size) * 0.8);
  gap: calc(var(--section-content-padding) * 0.5);
  line-height: 1;
}

.store-totals__remove {
  position: relative;
  top: 1px;
  background: transparent !important;
  color: red !important;
  font-size: 110%;
}

.store-totals__remove:hover {
  color: var(--color-secondary) !important;
}

.store-totals__divider {
  width: 100%;
  height: 1px;
  border-top: 1px solid var(--color-border) !important;
  margin: calc(var(--section-content-padding) * 0.5) auto;
  opacity: 1 !important;
}

/* Store Totals > Actions */
.store-totals__actions {
  width: 100%;
  gap: var(--section-content-padding);
}

.store-totals__button {
  font-size: calc(var(--font-base-size) * 1);
  font-weight: bold !important;
  text-transform: uppercase;
}

.store-totals__link {
  padding: 2px 0;
  border-bottom: 1px solid transparent;
  color: var(--color-secondary) !important;
  font-size: calc(var(--font-base-size) * 0.9);
  line-height: 1;
}

.store-totals__link:hover,
.store-totals__link:focus {
  border-bottom-color: var(--color-main);
  color: var(--color-main) !important;
}

/* 1.17. Blog Post
======================================================== */
.blog-post {
  padding-right: var(--section-content-block-padding);
  padding-left: var(--section-content-block-padding);
  font-size: calc(var(--font-base-size) * 0.9);
}

.blog-post:not(.swiper-slide) {
  margin-bottom: var(--section-content-block-margin);
}

.blog-post__wrapper {
  gap: calc(var(--section-content-block-padding));
}

.blog-post__anchor {
  display: block;
  overflow: hidden;
  width: 100%;
  margin-bottom: calc(var(--section-content-block-padding) * 0.75);
}

.blog-post__date {
  color: var(--color-secondary-op7);
  font-size: 75%;
  line-height: 1;
}

.blog-post__title {
  color: var(--color-main) !important;
  font-family: var(--font-main);
  font-size: 130%;
}

.blog-post__title:hover,
.blog-post__title:focus {
  text-decoration: underline;
}

.blog-post__excerpt {
  color: var(--color-secondary);
  font-size: 90%;
  line-height: calc(var(--font-base-line-height) * 0.8);
}

.blog-post__button {
  margin-top: calc(var(--section-content-block-padding) * 0.5);
  font-size: 80% !important;
}

@media only screen and (min-width: 576px) {
  .blog-post {
    font-size: calc(var(--font-base-size) * 1);
  }

  .blog-post:not(.swiper-slide) {
    margin-bottom: calc(var(--section-content-block-margin) * 1.5);
  }
}

/* 1.18. Pagination
======================================================== */
.pager {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  padding: calc(var(--section-content-padding) * 2.5) calc(var(--section-content-padding) * 1) 0;
  margin: calc(var(--section-content-padding) * 2) 0 0;
  gap: var(--section-content-padding);
  list-style: none !important;
}

.pager::after {
  position: absolute;
  top: 0;
  right: var(--section-content-padding);
  left: var(--section-content-padding);
  display: block;
  width: auto;
  height: 1px;
  background: var(--color-border);
  content: "";
}

.pager > li > a {
  display: flex;
  min-width: 30px;
  min-height: 30px;
  align-items: center;
  justify-content: center;
  border-bottom: 1px solid transparent;
  color: var(--color-secondary);
  font-size: calc(var(--font-base-size) * 0.9);
  line-height: 1;
}

.pager > li > a:hover,
.pager > li.active > a {
  border-bottom-color: var(--color-main);
  color: var(--color-main);
}

/* ========================================================
  1.19. Product Ratings
======================================================== */
.product-ratings {
  display: flex;
  width: 100%;
  min-height: 30px;
  flex-wrap: wrap;
  align-items: center;
  justify-content: var(--product-page-alignment);
  font-size: calc(var(--font-base-size) * 0.9);
  gap: calc(var(--section-content-padding) * 0.75);
  line-height: 1;
}

.product-ratings__score,
.product-ratings__link {
  color: var(--color-secondary) !important;
  font-size: 100%;
}

.product-ratings__score {
  font-weight: 600;
}

.product-ratings__divider {
  display: block;
  width: 1px;
  height: var(--font-base-size);
  background: var(--color-secondary);
  opacity: 0.3;
}

.product-ratings__stars {
  display: flex;
  align-items: center;
  color: var(--color-ratings);
  font-size: 100%;
  gap: calc(var(--section-content-padding) * 0.25);
}

.product-ratings__star {
  position: relative;
  display: block;
  color: var(--color-secondary-op3);
}

.product-ratings__star--partial::after {
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  width: var(--rating-partial-width);
  content: "\e46a";
}

.product-ratings__star--filled,
.product-ratings__star--partial::after {
  color: var(--color-ratings);
}

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

.product-ratings__link:hover {
  color: var(--color-links) !important;
}

/* Product rating specifications */
.review-block__rating .product-ratings {
  min-height: auto;
  justify-content: var(--review-block-alignment);
  font-size: calc(var(--font-base-size) * 0.75);
}

.theme-pack .product-ratings {
  min-height: auto;
  font-size: calc(var(--font-base-size) * 0.8);
}

.review-block .product-ratings__stars + .product-ratings__divider,
.review-block .product-ratings__link,
.theme-section__heading .product-ratings__stars + .product-ratings__divider,
.theme-section__heading .product-ratings__link,
.theme-pack .product-ratings__stars + .product-ratings__divider,
.theme-pack .product-ratings__link,
.main-container[data-layout="product"]:not(:has(#product-reviews)) .product-ratings > .product-ratings__link {
  display: none !important;
}

@media only screen and (max-width: 767px) {
  .theme-section__heading:has(.theme-section__column.text-center) .product-ratings {
    justify-content: center !important;
  }

  .theme-section__heading:has(.theme-section__column.text-end) .product-ratings {
    justify-content: end !important;
  }
}

/* ========================================================
  1.20. Product block
======================================================== */
.product-block {
  --pb-buy-now-height: 20px;

  padding-right: var(--pb-padding);
  padding-bottom: var(--pb-padding);
  padding-left: var(--pb-padding);
  font-size: var(--pb-font-size);
  text-align: var(--pb-alignment);
}

.product-block:not(.swiper-slide) {
  margin-bottom: var(--pb-margin);
}

.product-block__wrapper {
  position: relative;
  display: flex;
  overflow: hidden;
  width: 100%;
  height: 100%;
  flex-direction: column;
  gap: var(--pb-padding);
}

/* Product block > Gallery
======================================================== */
.product-block__gallery {
  position: relative;
  overflow: hidden;
  width: 100%;
}

.product-block__anchor {
  position: relative;
  z-index: 2;
  display: block;
  overflow: hidden;
  width: 100%;
  aspect-ratio: var(--pb-image-dimension);
}

.product-block__labels {
  position: absolute;
  z-index: 3;
  top: 0;
  left: 0;
  display: flex;
  width: 100%;
  height: 100%;
  flex-direction: column;
  justify-content: space-between;
  padding: var(--pb-padding);
}

.product-block__labels > .d-flex {
  gap: calc(var(--section-content-padding) * 0.75);
}

.product-block__label {
  display: block;
  width: fit-content;
  padding: calc(var(--pb-padding) * 0.5) calc(var(--pb-padding) * 0.75);
  background: #fff;
  color: #000;
  font-size: 82%;
  line-height: 1;
}

.product-block__label--discount {
  background: var(--color-discount);
  color: var(--color-discount-text);
}

.product-block__label--new {
  background: var(--pb-color-label-new-bg);
  color: var(--pb-color-label-new-text);
}

.product-block__label--status {
  border-color: var(--pb-color-label-status-border);
  background: var(--pb-color-label-status-bg);
  color: var(--pb-color-label-status-text);
}

.product-block__gallery:has(.product-block__options) .product-block__label--status {
  margin-bottom: calc(var(--font-base-size) * 2);
}

.product-block__canvas {
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  left: 0;
  overflow: hidden;
  width: 100%;
  height: 100%;
  margin: 0 auto;
}

.product-block__picture,
.product-block__image {
  position: absolute;
  z-index: 1;
  display: block;
  width: 100%;
  inset: 0;
  transition: var(--theme-image-transition);
}

.product-block__gallery:has(.product-block__picture--overlap):hover .product-block__picture {
  opacity: 0;
}

.product-block__gallery:has(.product-block__picture--overlap):hover .product-block__picture--overlap {
  opacity: 1;
}

.product-block__gallery:has(.product-block__picture--overlap) .product-block__picture--overlap {
  opacity: 0;
}

.product-block__image {
  height: 100%;
  object-fit: var(--theme-image-cover);
  object-position: var(--theme-image-position);
}

.product-block__options {
  position: absolute;
  z-index: 2;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: center;
  padding: 6px 0;
  background: rgb(255 255 255 / 90%);
  gap: calc(var(--pb-padding) * 0.5);
}

.product-block__color,
.product-block__color > div {
  border-radius: 20px;
}

.product-block__color {
  display: flex;
  overflow: hidden;
  min-width: 20px;
  height: 20px;
  align-items: center;
  justify-content: center;
  padding: 2px;
  background: transparent !important;
}

.product-block__color:not(.product-block__color--remaining) {
  border: 1px solid #eee;
}

.product-block__color:not(.product-block__color--remaining):hover,
.product-block__color--active {
  border-color: #000 !important;
}

.product-block__color--remaining {
  font-size: 80%;
}

.product-block__color--remaining-mobile {
  display: none !important;
}

.product-block__tooltip {
  font-size: calc(var(--pb-font-size) * 0.75);
}

/* Product block > Content
======================================================== */
.product-block__content {
  display: grid;
  padding-top: calc(var(--pb-padding) * 0.25);
  padding-bottom: calc(var(--pb-padding) * 0.5);
  gap: calc(var(--pb-padding) * 0.85);
}

.product-block__attributes,
.product-block__rating {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: var(--pb-alignment);
}

.product-block__attributes {
  color: var(--color-secondary);
  font-size: 75%;
  gap: calc(var(--pb-padding) * 0.5);
  line-height: 1;
  opacity: 0.7;
}

.product-block__attributes:has(.product-block__sku:empty):has(.product-block__brand:empty) {
  display: none;
  height: 0;
}

.product-block__attributes:has(.product-block__sku:not(:empty)):has(.product-block__brand:empty) > span:nth-child(2),
.product-block__attributes:has(.product-block__sku:empty):has(.product-block__brand:not(:empty)) > span:nth-child(2),
.product-block__attributes:has(.product-block__sku:empty):has(.product-block__brand:empty) > span:nth-child(2) {
  display: none !important;
}

.product-block__title,
.product-block__name {
  display: block;
  padding: 1px 0;
  margin: 0;
  color: var(--color-main) !important;
  font-family: var(--font-main) !important;
  font-size: 105%;
  font-weight: var(--pb-name-weight);
  line-height: 1.25;
  text-transform: var(--pb-name-text-transform);
}

.product-block__name:hover {
  text-decoration: underline !important;
}

.product-block__pricing,
.product-block__pricing > span,
.product-block__price {
  color: var(--color-secondary);
  font-family: var(--font-secondary);
}

.product-block__pricing {
  display: flex;
  width: 100%;
  gap: calc(var(--pb-padding) * 0.5);
  line-height: 1;
}

.product-block__pricing--horizontal {
  flex-wrap: wrap;
  align-items: center;
  justify-content: var(--pb-alignment);
}

.product-block__pricing--stack {
  flex-direction: column;
}

.product-block__price {
  color: var(--color-secondary);
  font-size: 95%;
}

.product-block__price--new {
  display: inline-block;
  color: var(--color-discount) !important;
  font-weight: 600;
}

.product-block__price--old {
  display: inline-block;
  color: var(--color-secondary);
  font-size: 85%;
  opacity: 0.7;
  text-decoration: line-through;
}

.product-block__price--text {
  display: block;
  color: var(--color-secondary);
  font-size: 75%;
  font-style: italic;
  font-weight: normal;
}

.product-block__pricing--stack .product-block__price--text {
  margin-bottom: calc(var(--font-base-size) * 0.5);
}

/* Specifictions for Product pricing wrapper */
.product-block__pricing--horizontal:has(.product-block__price-wrapper) {
  flex-direction: column;
  align-items: var(--pb-alignment);
  gap: calc(var(--pb-padding) * 1);
}

.product-block__pricing--horizontal .product-block__price-wrapper {
  display: flex;
  align-items: center;
  justify-content: var(--pb-alignment);
  gap: calc(var(--pb-padding) * 0.5);
}

.product-block__pricing--stack:has(.product-block__price-wrapper) {
  flex-direction: row;
  align-items: flex-start;
  justify-content: var(--pb-alignment);
  gap: calc(var(--font-base-size));
}

.product-block__pricing--stack .product-block__price-wrapper {
  display: flex;
  width: 50%;
  flex-direction: column;
  align-items: var(--pb-alignment);
  justify-content: flex-start;
}

.product-block__pricing--stack .product-block__price-wrapper .product-block__price--old {
  margin-top: calc(var(--font-base-size) * 0.35);
}

/* Specifications for Product ratings on Product block */
.product-block .product-ratings {
  min-height: 20px;
  justify-content: var(--pb-alignment);
  gap: calc(var(--pb-padding) * 0.5);
}

.product-block .product-ratings__score,
.product-block .product-ratings__link {
  font-size: 75%;
}

.product-block .product-ratings__score {
  position: relative;
  top: 1px;
  font-weight: normal;
}

.product-block .product-ratings__divider {
  height: 12px;
}

.product-block .product-ratings__stars {
  font-size: 80%;
}

.product-block .product-ratings__stars + .product-ratings__divider,
.product-block .product-ratings__link {
  display: none !important;
}

/* Product block > Actions
======================================================== */
.product-block__actions {
  position: relative;
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: center;
  margin-top: auto;
  gap: calc(var(--pb-padding) * 0.75);
}

.product-block__form {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  gap: calc(var(--pb-padding));
}

.product-block__quantity {
  display: flex;
  width: 100%;
  height: 40px;
  align-items: center;
  justify-content: space-between;
  border: 1px solid var(--color-main-op3);
  border-radius: var(--button-style);
}

.product-block__handler {
  display: flex;
  height: 100%;
  align-items: center;
  justify-content: center;
  padding: 0 calc(var(--pb-padding) * 0.75);
  color: var(--color-main) !important;
  font-size: 100%;
  opacity: 0.7;
}

.product-block__handler:hover {
  opacity: 1;
}

.product-block .product-block__quantity .product-block__input {
  width: 100%;
  height: 100% !important;
  min-height: auto !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  color: var(--color-main-op7) !important;
  font-size: 100% !important;
  text-align: center;
}

.product-block .product-block__quantity .product-block__input:hover,
.product-block .product-block__quantity .product-block__input:focus {
  background: transparent !important;
}

.product-block .product-block__quantity .product-block__input:focus {
  color: var(--color-main) !important;
}

.product-block__button {
  display: flex;
  width: 100%;
  height: 40px;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  padding: 0 !important;
  font-size: 85%;
  gap: calc(var(--font-base-size) * 0.5);
  line-height: 1;
  text-align: center;
}

.product-block__button--add-to-cart {
  max-width: 60px;
}

.product-block__button--add-to-cart > .theme-icon {
  font-size: 125%;
}

.product-block__quantity.d-none + .product-block__button--add-to-cart {
  max-width: 100%;
}

.product-block__button-text {
  font-size: 100%;
}

.product-block__button-text--large {
  display: block;
}

.product-block__button-text--small {
  display: none;
}

/* Product block 'Buy now' link specifications */
.product-block__buy-now {
  display: flex;
  width: fit-content;
  height: var(--pb-buy-now-height);
  align-items: center;
  justify-content: center;
  padding: 0 calc(var(--pb-padding) * 0.75);
  color: var(--color-main) !important;
  font-size: 90%;
  font-weight: 500;
}

.product-block__buy-now:is(:hover, :focus) {
  color: var(--color-links) !important;
}

.theme-section:has(.product-block__buy-now) .product-block:not(:has(.product-block__form)) .product-block__actions {
  padding-bottom: var(--pb-buy-now-height);
}

.theme-section:has(.product-block__buy-now) .product-block:not(:has(.product-block__form)) .product-block__actions > .product-block__button {
  margin-bottom: calc(var(--pb-padding) * 0.75);
}

/* Product Block Media Queries
======================================================== */
@media only screen and (min-width: 576px) {
  .product-block__button--add-to-cart {
    max-width: 90px;
  }
}

@media only screen and (min-width: 768px) {
  .theme-section__feed .product-block {
    width: 50% !important;
  }
}

@media only screen and (min-width: 992px) {
  .theme-section__feed .product-block {
    width: 33.3333% !important;
  }
}

/* Product block for smaller devices and when defined to be in 2 columns
======================================================== */
@media only screen and (max-width: 320px) {
  .product-block[data-mobile-display="2"]:not(:has(.product-block__quantity.d-none)) .product-block__button--add-to-cart {
    max-width: 50px !important;
  }
}

@media only screen and (max-width: 414px) {
  .theme-section:has(.product-block[data-mobile-display="2"]),
  .theme-section:has(.product-block[data-mobile-display="2"]) > .theme-section__container,
  .theme-section:has(.product-block[data-mobile-display="2"]) .theme-section__feed {
    padding-right: calc(var(--section-content-padding) * 0.5);
    padding-left: calc(var(--section-content-padding) * 0.5);
  }

  .theme-section:has(.product-block[data-mobile-display="2"]) .theme-section__content {
    margin-right: calc(var(--section-content-margin) * 0.5);
    margin-left: calc(var(--section-content-margin) * 0.5);
  }

  .theme-section:has(.product-block[data-mobile-display="2"]) .theme-navigation {
    padding-right: 0;
    padding-left: 0;
    margin: calc(var(--section-content-padding) * 1.5) auto 0;
  }

  .product-block[data-mobile-display="2"] {
    padding-right: calc(var(--pb-padding) * 0.5);
    padding-bottom: calc(var(--pb-padding) * 0.5);
    padding-left: calc(var(--pb-padding) * 0.5);
    font-size: calc(var(--font-base-size) * .8);
  }

  .product-block[data-mobile-display="2"]:not(.swiper-slide) {
    margin-bottom: calc(var(--pb-margin) * 0.5);
  }

  .product-block[data-mobile-display="2"] .product-block__labels {
    padding: calc(var(--pb-padding) * 0.5);
  }

  .product-block[data-mobile-display="2"] .product-block__wrapper {
    gap: calc(var(--pb-padding) * 0.75);
  }

  .product-block[data-mobile-display="2"] .product-block__content {
    gap: calc(var(--pb-padding)* .5);
  }

  .product-block[data-mobile-display="2"] .product-block__form {
    gap: calc(var(--pb-padding) * 0.5);
  }

  .product-block[data-mobile-display="2"] .product-block__quantity,
  .product-block[data-mobile-display="2"] .product-block__button {
    height: 34px;
  }

  .product-block[data-mobile-display="2"] .product-block__button--add-to-cart:not(:has(.product-block__button-text)) > .theme-icon {
    font-size: 150%;
  }

  .product-block[data-mobile-display="2"] .product-block__button-text--large {
    display: none;
  }

  .product-block[data-mobile-display="2"] .product-block__button-text--small {
    display: block;
  }

  .product-block[data-mobile-display="2"] .product-block__color {
    min-width: 16px;
    height: 16px;
}

  .product-block[data-mobile-display="2"] .product-block__color.button:not(:nth-child(1), :nth-child(2), :nth-child(3)) {
    display: none;
  }

  .product-block[data-mobile-display="2"] .product-block__color--remaining:not(.product-block__color--remaining-mobile) {
    display: none !important;
  }

  .product-block[data-mobile-display="2"] .product-block__color--remaining-mobile {
    display: flex !important;
  }
}

/* ========================================================
1.21. Theme Modal
======================================================== */
.theme-modal {
  background: rgb(0 0 0 / 50%);
}

.theme-modal__dialog {
  align-items: stretch;
}

.theme-modal__content {
  border: none !important;
  border-radius: 0 !important;
}

/* Theme Modal > Header & Footer
======================================================== */
.theme-modal__header,
.theme-modal__footer {
  display: flex;
  align-items: start;
  justify-content: space-between;
  padding: calc(var(--section-content-padding) * 1.5);
  border: none !important;
  background: var(--color-main-op1);
}

.theme-modal__footer {
  flex-direction: column;
}

.theme-modal__title {
  font-size: calc(var(--font-base-size) * 1.25);
  font-weight: 600;
  line-height: calc(var(--font-base-line-height));
}

.theme-modal__close {
  position: relative;
  top: calc(var(--font-base-size) * 0.25);
  color: var(--color-main) !important;
  font-size: calc(var(--font-base-size) * 1.25);
  opacity: 0.7;
}

.theme-modal__close:hover {
  opacity: 1;
}

.theme-modal__button {
  margin: 0 !important;
  font-size: var(--font-base-size);
}

/* Theme Modal > Body
======================================================== */
.theme-modal__body,
.theme-modal__group {
  display: flex;
  flex-direction: column;
}

.theme-modal__body {
  padding: calc(var(--section-content-padding) * 1.5);
  font-size: calc(var(--font-base-size) * 1);
  gap: var(--section-content-padding);
}

.theme-modal__group {
  font-size: calc(var(--font-base-size) * 0.9);
  gap: var(--section-content-padding);
}

.theme-modal__subtitle {
  color: var(--color-main);
  font-weight: 600;
}

.theme-modal__text {
  color: var(--color-secondary);
}

.theme-modal__text--large {
  font-size: 115%;
}

.theme-modal__text.alert {
  padding: calc(var(--section-content-padding));
  font-size: calc(var(--font-base-size) * 0.9);
  line-height: calc(var(--font-base-line-height) * 0.75);
}

.theme-modal__list {
  padding-left: calc(var(--section-content-padding) * 1.75);
  margin: 0;
}

.theme-modal__divider {
  margin: calc(var(--section-content-padding) * 0.5) auto;
}

/* ========================================================
1. Header
======================================================== */
.header {
  --header-font: var(--font-secondary);
  --header-font-size-dropdown: calc(var(--font-base-size) * 0.85);
  --header-font-size-desktop-nav: calc(var(--font-base-size) * 1);

  width: 100%;
}

.header--fixed {
  position: fixed;
  z-index: 99;
  top: 0;
  right: 0;
  left: 0;
}

.header[data-border="true"] {
  border-bottom: 1px solid var(--color-border);
}

.header__container,
.header__column {
  padding-right: var(--section-content-padding);
  padding-left: var(--section-content-padding);
}

.header__container {
  margin: 0 auto;
}

.header__container:not(.container--adjust) {
  max-width: var(--theme-variable-width);
}

.header__wrapper {
  margin-right: var(--section-content-margin);
  margin-left: var(--section-content-margin);
}

.header__brand {
  display: flex;
  width: auto;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
}

.header__picture,
.header__logo {
  display: block;
  width: auto;
}

.header__logo {
  width: auto;
  object-fit: var(--theme-image-contain);
  object-position: center center;
}

.header__menu {
  gap: 0.75rem;
}

.header__item {
  position: relative;
  display: block;
}

.header__link,
.header__text {
  font-family: var(--header-font);
  font-size: var(--header-font-size-dropdown);
}

.header__link {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 0 !important;
  background: transparent !important;
  color: var(--color-main) !important;
}

.header__link.dropdown-toggle::after {
  display: none !important;
}

.header__link:hover,
.header__link.show {
  color: var(--color-links) !important;
}

.header__text {
  margin-left: 0.25rem;
}

.header__text--counter {
  display: flex;
  min-width: var(--header-counter-height);
  height: var(--header-counter-height);
  align-items: center;
  justify-content: center;
  padding-top: 1px;
  border-radius: 100px;
  background: var(--color-button-main-bg);
  color: var(--color-button-main-text);
  font-size: calc(var(--font-base-size) * 0.8);
  font-weight: 600;
}

.header__icon {
  font-size: 120%;
}

.header__angle {
  margin-left: 2px;
  font-size: 100%;
  transform: rotate(0deg);
  transition: transform 0.1s ease-in-out;
}

.show > .header__angle {
  transform: rotate(180deg);
}

/* 1.1. Header Navigation
============================================================ */
.header-nav {
  position: relative;
  height: 100%;
  padding: 0 var(--section-content-padding);
}

.header-nav[data-border="true"]::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 1px;
  margin: 0 auto;
  background: var(--color-border);
  content: "";
}

.header-nav__menu {
  flex-wrap: wrap;
  gap: calc(var(--section-content-padding) * 0.5) calc(var(--section-content-padding) * 1.75);
}

.header-nav__item--inherit {
  position: initial;
}

.header-nav__anchor {
  position: relative;
  display: flex;
  height: var(--header-nav-height);
  align-items: center;
  justify-content: center;
  color: var(--color-main) !important;
  font-family: var(--header-font);
  font-size: var(--header-font-size-desktop-nav);
  gap: 2px;
  line-height: 1;
}

.header-nav__anchor:hover,
.header-nav__anchor.show,
.header-nav__item--hover:hover > .header-nav__anchor,
.header-nav__anchor--active {
  color: var(--color-links) !important;
}

.header-nav__anchor.dropdown-toggle::after {
  display: none !important;
}

.header-nav__caret {
  position: relative;
  top: 1px;
  font-size: 90%;
  transform: rotate(0deg);
  transition: transform 0.25s ease-in-out;
}

.header-nav__anchor.show > .header-nav__caret {
  transform: rotate(180deg);
}

.header-nav__anchor::before {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  width: 0;
  height: 2px;
  margin: 0 auto;
  background: var(--color-links);
  content: "";
  transition: all 0.25s ease-in-out;
}

.header-nav__item.dropdown:hover > .header-nav__anchor::before,
.header-nav__anchor:hover::before,
.header-nav__anchor--active::before,
.header-nav__anchor.show::before {
  width: 100%;
}

/* Header Flyout */
.header-flyout {
  top: 100% !important;
  display: none !important;
  width: 220px;
  padding: 0;
  border-color: var(--color-border);
  border-radius: 0;
  margin-top: 0 !important;
  background: var(--color-background);
  box-shadow: 0 0 10px rgb(0 0 0 / 20%);
  transform: translate3d(0, 0, 0) !important;
  visibility: hidden;
}

.header-flyout.show,
.header-nav__item--hover:hover > .header-flyout,
.header-nav__item--hover > .header-nav__link:hover + .header-flyout,
.header-flyout__item--hover:hover > .header-flyout,
.header-flyout__item--hover > .header-flyout__link:hover + .header-flyout {
  display: block !important;
  visibility: visible;
}

.header-flyout .header-flyout {
  top: 0 !important;
  left: 100% !important;
}

.header-flyout__item:not(:last-child) {
  border-bottom: 1px solid var(--color-border);
}

.header-flyout__link {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  padding: calc(var(--font-base-size) * 0.65) calc(var(--font-base-size) * 0.75);
  background: var(--color-background);
  color: var(--color-main) !important;
  font-size: calc(var(--font-base-size) * 0.9);
  gap: 0.25rem;
  line-height: 1;
  white-space: normal;
}

.header-flyout__link:hover,
.header-flyout__link:focus,
.header-flyout__link--active,
.header-flyout__item:hover > .header-flyout__link {
  background: var(--color-main-op05);
  color: var(--color-links) !important;
}

.header-flyout__link.dropdown-toggle::after {
  display: none !important;
}

.header-flyout__link--last {
  justify-content: start;
  font-size: calc(var(--font-base-size) * 0.8);
}

.header-flyout__link--last > .ph-caret-double-right {
  font-size: 80%;
}

/* Force position of Flyout submenus that go off the viewport window */
.header-nav__item > .header-flyout[data-submenu-position="force-right"],
.header-nav__item > .header-flyout[data-submenu-position="force-right"]:has(.header-flyout[data-submenu-position="force-right"]),
.header-nav__item > .header-flyout:has(.header-flyout[data-submenu-position="force-right"]) {
  right: 0 !important;
  left: auto !important;
}

.header-flyout .header-flyout[data-submenu-position="force-right"],
.header-flyout .header-flyout[data-submenu-position="force-right"] .header-flyout {
  right: 100% !important;
  left: auto !important;
}

.header-nav__item > .header-flyout[data-submenu-position="force-right"] > .header-flyout__menu > .header-flyout__item > .header-flyout__link:not(.header-flyout__link--last),
.header-nav__item > .header-flyout:has(.header-flyout[data-submenu-position="force-right"]) > .header-flyout__menu > .header-flyout__item > .header-flyout__link:not(.header-flyout__link--last),
.header-flyout .header-flyout[data-submenu-position="force-right"] > .header-flyout__menu > .header-flyout__item > .header-flyout__link:not(.header-flyout__link--last) {
  flex-direction: row-reverse;
  text-align: right !important;
}

.header-nav__item > .header-flyout[data-submenu-position="force-right"] > .header-flyout__menu > .header-flyout__item > .header-flyout__link--last,
.header-nav__item > .header-flyout:has(.header-flyout[data-submenu-position="force-right"]) > .header-flyout__menu > .header-flyout__item > .header-flyout__lin--last,
.header-flyout .header-flyout[data-submenu-position="force-right"] > .header-flyout__menu > .header-flyout__item > .header-flyout__link--last {
  justify-content: flex-end;
  text-align: right !important;
}

.header-nav__item > .header-flyout[data-submenu-position="force-right"] > .header-flyout__menu > .header-flyout__item > .header-flyout__link:not(.header-flyout__link--last) > .header-flyout__caret,
.header-nav__item > .header-flyout:has(.header-flyout[data-submenu-position="force-right"]) > .header-flyout__menu > .header-flyout__item > .header-flyout__link:not(.header-flyout__link--last) > .header-flyout__caret,
.header-flyout .header-flyout[data-submenu-position="force-right"] > .header-flyout__menu > .header-flyout__item > .header-flyout__link:not(.header-flyout__link--last) > .header-flyout__caret {
  transform: rotate(-180deg);
}

/* Header Mega Menu */
.header-megamenu {
  top: 50px !important;
  right: 0 !important;
  left: 0 !important;
  display: none !important;
  width: 100%;
  max-width: 1296px !important;
  padding: 0 !important;
  border-color: var(--color-border);
  border-radius: 0;
  margin: 0 auto !important;
  background: var(--color-background);
  box-shadow: 0 5px 10px rgb(0 0 0 / 20%);
  transform: translate(0) !important;
  visibility: hidden;
}

.header-megamenu.show,
.header-nav__item--hover:hover > .header-megamenu,
.header-nav__item--hover > .header-nav__link:hover + .header-megamenu {
  display: block !important;
  visibility: visible;
}

.header-megamenu__container {
  padding: calc(var(--section-content-padding) * 2) calc(var(--section-content-padding) * 2) 0;
}

.header-megamenu__row {
  margin-right: var(--section-content-margin);
  margin-left: var(--section-content-margin);
}

.header-megamenu__column {
  padding: 0 var(--section-content-padding);
}

.header-megamenu__column:not(.header-megamenu__column--last) {
  margin-bottom: calc(var(--section-content-padding) * 2);
}

.header-megamenu__title {
  display: block;
  width: fit-content;
  color: var(--color-main) !important;
  font-size: calc(var(--font-base-size) * 0.9);
  font-weight: 600;
  line-height: 1;
}

.header-megamenu__title:not([role="button"]):hover {
  text-decoration: underline !important;
}

.header-megamenu__list {
  padding-top: var(--section-content-padding);
  gap: calc(var(--section-content-padding) * 0.75);
}

.header-megamenu__item {
  display: block;
  line-height: 1;
}

.header-megamenu__link {
  color: var(--color-secondary) !important;
  font-size: calc(var(--font-base-size) * 0.85);
}

.header-megamenu__link--last {
  font-size: calc(var(--font-base-size) * 0.75);
}

.header-megamenu__link--all {
  display: flex;
  width: fit-content;
  align-items: center;
  justify-content: center;
  padding: calc(var(--font-base-size) * 0.75) calc(var(--font-base-size) * 1.5);
  margin: 0 auto;
  font-size: calc(var(--font-base-size) * 0.725);
  font-weight: 500;
  gap: calc(var(--font-base-size) * 0.25);
  letter-spacing: calc(var(--font-base-size) * 0.025);
  text-transform: uppercase;
}

.header-megamenu__link:hover,
.header-megamenu__link:focus {
  color: var(--color-links) !important;
}

.header-megamenu__link--all:hover,
.header-megamenu__link--all:focus {
  gap: calc(var(--font-base-size) * 0.5);
}

.header-megamenu__divider {
  margin: calc(var(--section-content-padding) * 0.5) auto 0;
}

.header-megamenu__link--last > .ph-arrow-right {
  position: relative;
  top: 1px;
}

.header-megamenu__link--all > .ph-arrow-right {
  position: relative;
  font-size: 120%;
}

/* Header text transform */
.header[data-uppercase="true"] .header-nav__anchor,
.header[data-uppercase="true"] + #mobile-menu .sidebar-accordion > .sidebar-accordion__item--level1 > .sidebar-accordion__button {
  text-transform: uppercase;
}

/* Header Search
============================================================ */
.header-search {
  position: relative;
  display: flex;
  min-width: 220px;
  height: var(--header-search-height);
  align-items: center;
  justify-content: flex-start;
}

.header-search__submit {
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  display: flex;
  width: 34px !important;
  height: 100%;
  align-items: center;
  justify-content: center;
  background: transparent !important;
  color: var(--color-main) !important;
  font-size: calc(var(--font-base-size) * 1.1);
}

.header-search__submit:hover,
.header-search__submit:focus {
  color: var(--color-links) !important;
}

.header-search__submit > .aa-SubmitIcon {
  width: var(--font-base-size);
}

.header-search .header-search__input {
  position: relative;
  z-index: 1;
  height: 100% !important;
  padding: calc(var(--font-base-size) * 0.35) calc(var(--font-base-size) * 0.35) calc(var(--font-base-size) * 0.35) calc(var(--font-base-size) * 2.25) !important;
  border: none !important;
  border-radius: 0 !important;
  background: var(--color-background) !important;
  color: var(--color-main) !important;
  font-size: calc(var(--font-base-size) * 0.85) !important;
}

.header-search .header-search__input::placeholder {
  color: var(--color-main-op7) !important;
}

.header-search .header-search__input:focus::placeholder {
  color: var(--color-main) !important;
}

.header-search .header-search__input:focus {
  background: var(--color-main-op1) !important;
  color: var(--color-main) !important;
}

.header__close-mobile-search {
  position: fixed;
  z-index: 99999;
  top: calc(var(--font-base-size) * 0.75);
  right: calc(var(--font-base-size) * 0.25);
  display: none !important;
  padding: calc(var(--font-base-size) * 0.5);
  color: var(--color-main);
  font-size: calc(var(--font-base-size) * 1.1);
  opacity: 0.7;
}

.header:has(.header-search--visible) .header__close-mobile-search {
  display: block !important;
}

/* 1.3. Header Slider
============================================================ */
.header-slider {
  height: auto;
}

.header-slider__block {
  height: auto;
}

.header-slider__text,
.header-slider__link {
  color: var(--color-main);
  font-size: calc(var(--font-base-size) * 0.8);
  line-height: 1.25;
}

.header-slider__link {
  position: relative;
  top: 1px;
  padding: 2px 0;
  border-bottom: 1px solid var(--color-main);
}

.header-slider__link:hover,
.header-slider__link:not([target="_blank"]):focus {
  border-color: var(--color-links);
  color: var(--color-links);
}

.header-slider__icon {
  position: relative;
  top: 1px;
  margin-right: calc(var(--font-base-size) * 0.25);
  font-size: 110%;
}

/* Header Media Queries
============================================================ */
@media only screen and (max-width: 414px) {
  .header__logo {
    max-width: 220px;
  }
}

@media only screen and (max-width: 575px) {
  .header__container {
    padding-top: calc(var(--section-content-padding) * 1.25);
    padding-bottom: calc(var(--section-content-padding) * 1.25);
  }

  .header__logo {
    width: 100%;
    max-width: 320px;
    height: var(--header-logo-height-mobile);
  }

  .header-slider__block {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
  }

  .header-slider__content {
    flex-direction: column;
    gap: calc(var(--font-base-size) * 0.5);
  }
}

@media only screen and (min-width: 576px) {
  .header--fixed.header--push {
    top: 45px;
  }

  .header--push:not(.header--fixed) {
    position: relative;
    margin-top: 45px;
  }

  .header__container {
    padding-top: calc(var(--section-content-padding) * 2);
    padding-bottom: calc(var(--section-content-padding) * 2);
  }

  .header__logo {
    height: var(--header-logo-height-desktop);
  }

  .header__menu {
    gap: 1rem;
  }

  .header-slider {
    height: 45px;
  }

  .header-slider--fixed {
    position: fixed;
    z-index: 11;
    top: 0;
    right: 0;
    left: 0;
  }

  .header-slider__content {
    flex-wrap: wrap;
    gap: var(--font-base-size);
  }
}

@media only screen and (max-width: 991px) {
  .header-search,
  .header:has(.jumpseller-autocomplete) .header__item form {
    position: fixed;
    z-index: 99;
    top: -60px;
    right: 0;
    left: 0;
    height: 60px !important;
    border-bottom: 1px solid var(--color-main-op05);
    background: var(--color-background);
    opacity: 0;
    transition: all 0.25s ease-in-out;
    visibility: hidden;
  }

  .header-search--visible {
    top: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  .header-search__submit {
    left: calc(var(--section-content-padding) * 0.5);
  }

  .header-search .header-search__input {
    padding: calc(var(--font-base-size) * 0.35) var(--section-content-padding) calc(var(--font-base-size) * 0.35) calc(var(--section-content-padding) + 34px) !important;
    background: var(--color-main-op05) !important;
  }
}

/* ========================================================
2. Sidebars
======================================================== */
.sidebar {
  width: 100% !important;
  max-width: 414px;
  border: none !important;
}

.sidebar-header {
  justify-content: space-between;
  padding: var(--section-content-padding);
}

.sidebar-header:not(.sidebar-header--transparent) {
  background: var(--color-main-op1);
}

.sidebar-header__logo,
.sidebar-header__title,
.sidebar-header__title > span,
.sidebar-header__close {
  color: var(--color-main) !important;
}

.sidebar-header__logo {
  height: var(--header-logo-height-desktop);
  object-fit: var(--theme-image-contain);
  object-position: left center;
}

.sidebar-header__title,
.sidebar-header__title > span {
  font-size: var(--font-base-size);
  font-weight: 600;
}

.sidebar-header__title {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.5rem;
}

.sidebar-header__icon {
  font-size: 120%;
}

.sidebar-header__close {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.25rem;
  background: transparent;
  font-size: calc(var(--font-base-size) * 1.15);
  opacity: 0.7;
}

.sidebar-header__close:hover {
  opacity: 1;
}

.sidebar-body {
  padding: var(--section-content-padding);
  padding-top: calc(var(--section-content-padding) * 1.5);
}

.sidebar-body__content {
  display: flex;
  flex-direction: column;
  gap: calc(var(--section-content-padding) * 0.5);
}

.sidebar-body__text {
  padding: var(--section-content-padding);
  background: var(--color-secondary-op1);
  color: var(--color-secondary);
  font-size: calc(var(--font-base-size) * 0.9);
}

.sidebar-actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: var(--section-content-padding);
  background: var(--color-main-op1);
  gap: var(--section-content-padding);
  text-align: center;
}

.sidebar-actions__text {
  font-size: calc(var(--font-base-size) * 0.9);
  line-height: 1;
}

.sidebar-actions__button {
  font-weight: 600;
}

.sidebar-actions__button:not(.button--bordered) {
  font-size: calc(var(--font-base-size) * 1.1);
}

/* 2.1. Sidebar Accordion
============================================================ */
.sidebar-accordion {
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
}

.sidebar-accordion__item {
  border: none !important;
  background: transparent !important;
}

.sidebar-accordion__button {
  display: flex;
  width: 100%;
  align-items: flex-start;
  justify-content: flex-start;
  padding: 0.5rem 0;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--color-main) !important;
  font-family: var(--font-secondary);
  font-size: calc(var(--font-base-size) * 1);
  font-weight: normal !important;
  line-height: 1;
}

.sidebar-accordion__button:hover,
.sidebar-accordion__button.sidebar-accordion__button--active,
.sidebar-accordion__button[aria-expanded="true"] {
  color: var(--color-links) !important;
}

.sidebar-accordion__button::after {
  display: none !important;
}

.sidebar-accordion__caret {
  position: relative;
  margin-left: 0.15rem;
  transform: rotate(0deg);
  transition: transform 0.25s ease-in-out;
}

.sidebar-accordion__button[aria-expanded="true"] .sidebar-accordion__caret {
  transform: rotate(180deg);
}

.sidebar-accordion__button--last {
  font-size: calc(var(--font-base-size) * 0.8) !important;
}

.sidebar-accordion__button--last .ph-caret-double-right {
  margin-left: 0.25rem;
  font-size: 90%;
}

.sidebar-accordion__body {
  padding: 0 0 0 1rem;
  border-left: 1px solid var(--color-border);
  margin: 0.25rem 0;
}

.sidebar-accordion__body .sidebar-accordion__button {
  font-size: calc(var(--font-base-size) * 0.9);
  font-weight: 500;
}

/* 2.2. Sidebar Menu
============================================================ */
.sidebar-menu,
.sidebar .theme-social {
  padding-top: calc(var(--section-content-padding) * 2);
  border-top: 1px solid var(--color-border);
  margin-top: calc(var(--section-content-padding) * 2);
}

.sidebar-menu__wrapper {
  gap: var(--section-content-padding);
}

.sidebar-menu__title {
  display: block;
  margin-bottom: var(--section-content-padding);
  color: var(--color-secondary);
  font-size: calc(var(--font-base-size) * 0.9);
  line-height: 1;
}

.sidebar-menu__button {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: flex-start;
  padding: calc(var(--section-content-padding)) !important;
  border: 1px solid var(--color-main-op3);
  background: var(--color-background);
  color: var(--color-main) !important;
  font-size: calc(var(--font-base-size) * 0.9);
  gap: 5px;
}

.sidebar-menu__button:hover,
.sidebar-menu__button.show {
  border-color: var(--color-main-op7);
}

.dropup .sidebar-menu__button::after {
  display: none !important;
}

.sidebar-menu__text {
  font-weight: normal !important;
}

.sidebar-menu__icon {
  font-size: 110%;
}

.sidebar-menu__angle {
  transform: rotate(0deg);
  transition: transform 0.1s ease-in-out;
}

.show > .sidebar-menu__angle {
  transform: rotate(180deg);
}

/* 2.3 Sidebar Cart
============================================================ */
#sidebar-cart:not(.has-items) .sidebar-actions,
#sidebar-cart:not(.has-items) .store-totals,
#sidebar-cart.has-items .sidebar-body__text--empty {
  display: none !important;
}

#sidebar-cart.has-items:has(.store-totals__require-minimum.d-block) .sidebar-actions .button--main {
  display: none;
}

/* ========================================================
3. Footer
======================================================== */
.footer {
  --footer-logo-height: 50px;

  padding-top: var(--section-content-padding);
  padding-bottom: calc(var(--section-content-padding) * 2);
}

.footer__container {
  margin: 0 auto;
}

.footer__container:not(.container--adjust) {
  max-width: var(--theme-variable-width);
}

.footer__wrapper {
  padding-top: var(--section-content-padding);
  margin-right: var(--section-content-margin);
  margin-left: var(--section-content-margin);
}

.footer__column {
  padding-right: var(--section-content-padding);
  padding-left: var(--section-content-padding);
  margin-top: calc(var(--section-content-padding) * 2);
}

.footer__content {
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: var(--section-content-padding);
}

.footer__logo {
  width: fit-content;
  max-width: 100%;
  height: var(--footer-logo-height);
  margin-bottom: calc(var(--section-content-padding) * 0.5);
  object-fit: var(--theme-image-contain);
  object-position: left center;
}

.footer__text {
  color: var(--color-secondary);
  font-size: calc(var(--font-base-size) * 0.85);
  line-height: 1.5;
}

.footer__title,
.footer__title * {
  color: var(--color-main);
  font-size: var(--font-base-size);
  font-weight: 600;
}

.footer__title {
  margin-bottom: calc(var(--section-content-padding) * 0.5);
}

.footer__menu {
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: start;
  gap: calc(var(--section-content-padding) * 0.25);
}

.footer__item {
  display: block;
  line-height: 1.25;
}

.footer__link {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  padding: calc(var(--font-base-size) * 0.2) 0;
  color: var(--color-secondary);
  font-size: calc(var(--font-base-size) * 0.875);
  gap: calc(var(--font-base-size) * 0.5);
}

.footer__link:hover,
.footer__link:not([target="_blank"]):focus {
  color: var(--color-links);
}

.footer__icon {
  position: relative;
  top: 2px;
}

.footer__divider {
  border-color: var(--color-border);
  margin: 0 auto;
}

.footer__copyright {
  font-size: calc(var(--font-base-size) * 0.8);
  line-height: 1.5;
}

.footer__copyright a {
  color: var(--color-secondary);
  font-weight: 600;
}

.footer__copyright a:hover {
  color: var(--color-links) !important;
  text-decoration: underline !important;
}

.footer__payment {
  max-width: 58px;
  height: 38px;
  padding: 3px;
  border: 1px solid var(--color-main-op1);
  margin-top: calc(var(--section-content-padding) * 0.5);
  margin-bottom: calc(var(--section-content-padding) * 0.5);
  background: #fff;
}

.footer__payment:not(:last-child) {
  margin-right: calc(var(--section-content-padding));
}

.footer__payment > img {
  width: 100%;
  height: 100%;
  object-fit: var(--theme-image-contain);
  object-position: center center;
}

/* Footer Media Queries
============================================================ */
@media only screen and (max-width: 767px) {
  /* Aligned to center */
  .footer.text-center .footer__logo {
    margin-right: auto;
    margin-left: auto;
  }

  .footer.text-center .theme-social {
    justify-content: center !important;
  }

  .footer.text-center .footer__menu {
    align-items: center !important;
  }

  .footer.text-center .footer__link:not(:has(.footer__icon)) {
    justify-content: center !important;
  }

  .footer.text-center .footer__link:has(.footer__icon) {
    flex-direction: column;
    align-items: center;
    justify-content: flex-start !important;
  }

  .footer.text-center .footer__column:has(.footer__payment) > .d-flex {
    justify-content: center !important;
  }

  /* Aligned to right */
  .footer.text-end .footer__logo {
    margin-left: auto;
  }

  .footer.text-end .theme-social {
    justify-content: end !important;
  }

  .footer.text-end .footer__menu {
    align-items: end !important;
  }

  .footer.text-end .footer__link:not(:has(.footer__icon)) {
    justify-content: end !important;
  }

  .footer.text-end .footer__link:has(.footer__icon) {
    flex-direction: row-reverse;
  }

  .footer.text-end .footer__column:has(.footer__payment) > .d-flex {
    justify-content: flex-end !important;
  }
}

@media only screen and (min-width: 768px) {
  /* Aligned to center */
  .footer.text-md-center .footer__logo {
    margin-right: auto;
    margin-left: auto;
  }

  .footer.text-md-center .theme-social {
    justify-content: center !important;
  }

  .footer.text-md-center .footer__menu {
    align-items: center !important;
  }

  .footer.text-md-center .footer__link:not(:has(.footer__icon)) {
    justify-content: center !important;
  }

  .footer.text-md-center .footer__link:has(.footer__icon) {
    flex-direction: column;
    align-items: center;
    justify-content: flex-start !important;
  }

  .footer.text-md-center .footer__column:has(.footer__payment) > .d-flex {
    justify-content: center !important;
  }

  /* Aligned to right */
  .footer.text-md-end .footer__logo {
    margin-left: auto;
  }

  .footer.text-md-end .theme-social {
    justify-content: end !important;
  }

  .footer.text-md-end .footer__menu {
    align-items: end !important;
  }

  .footer.text-md-end .footer__link:not(:has(.footer__icon)) {
    justify-content: end !important;
  }

  .footer.text-md-end .footer__link:has(.footer__icon) {
    flex-direction: row-reverse;
  }

  .footer.text-md-end .footer__column:has(.footer__payment) > .d-flex {
    justify-content: flex-start !important;
  }
}

@media only screen and (max-width: 1199px) {
  .footer__container {
    padding-right: calc(var(--section-content-padding) * 2);
    padding-left: calc(var(--section-content-padding) * 2);
  }
}

@media only screen and (min-width: 1200px) {
  .footer__container {
    padding-right: var(--section-content-padding);
    padding-left: var(--section-content-padding);
  }
}

/* 3.1. Footer Newsletter
============================================================ */
.footer-newsletter {
  height: 40px;
}

.footer-newsletter__field {
  display: flex;
  width: 100%;
  height: 44px;
  align-items: flex-start;
  justify-content: flex-start;
}

.footer-newsletter__input {
  height: 100%;
  border-width: 1px 0 1px 1px;
}

.footer-newsletter__submit {
  display: flex;
  min-width: 44px;
  height: 100%;
  align-items: center;
  justify-content: center;
  font-size: calc(var(--font-base-size) * 1.1);
}

/* ========================================================
4. Components
======================================================== */

/* 4.1. Theme Slider
======================================================== */
.theme-slider {
  width: 100%;
  margin: var(--section-margin-top) auto var(--section-margin-bottom) auto;
}

.theme-slider:not(.theme-slider--grid) {
  padding-right: 0;
  padding-left: 0;
}

.theme-slider__carousel {
  overflow: hidden;
}

.theme-slider:not(.theme-slider--grid) .theme-slider__carousel {
  max-width: var(--theme-variable-width);
}

.theme-slider--grid .theme-slider__carousel {
  max-width: var(--theme-variable-width-grid);
}

.theme-slider__gallery {
  inset: 0;
}

.theme-slider__image--trsn {
  object-fit: var(--theme-image-cover);
  object-position: var(--theme-image-position);
  transform: scale(1);
  transition: transform 0.5s ease-in-out;
}

.theme-slider__block:hover .theme-slider__image--trsn {
  transform: scale(1.1);
}

.theme-slider__content {
  position: relative;
  padding: calc(var(--section-content-padding) * 4) calc(var(--section-content-padding) * 2);
  opacity: 0;
  transition: all 0.5s ease-in-out;
}

.theme-slider__block.swiper-slide-active .theme-slider__content {
  opacity: 1;
}

.justify-content-start > .theme-slider__content {
  left: -50%;
}

.theme-slider__block.swiper-slide-active .justify-content-start > .theme-slider__content {
  left: 0;
}

.justify-content-center > .theme-slider__content {
  top: -50%;
}

.theme-slider__block.swiper-slide-active .justify-content-center > .theme-slider__content {
  top: 0;
}

.justify-content-end > .theme-slider__content {
  right: -50%;
}

.theme-slider__block.swiper-slide-active .justify-content-end > .theme-slider__content {
  right: 0;
}

/* Theme Slider > Navigation */
.theme-slider .theme-navigation {
  position: absolute;
  right: 0;
  bottom: calc(var(--section-content-padding) * 2);
  left: 0;
  max-width: var(--theme-variable-width-grid);
}

.theme-slider--grid .theme-navigation {
  padding: 0 calc(var(--section-content-padding) * 2);
}

.theme-slider .theme-navigation__arrow {
  color: white !important;
}

.theme-slider .theme-navigation__pagination > .swiper-pagination-bullet:hover::after,
.theme-slider .theme-navigation__pagination > .swiper-pagination-bullet-active::after {
  border-color: white !important;
}

.theme-slider .theme-navigation__pagination > .swiper-pagination-bullet::before {
  background-color: white !important;
}

.theme-slider .theme-navigation__pagination.swiper-pagination-fraction,
.theme-slider .theme-navigation__pagination.swiper-pagination-fraction > span {
  color: white !important;
}

/* Theme Slider Media Queries */
@media only screen and (min-width: 1200px) {
  .theme-slider:not(.theme-slider--grid) .theme-navigation {
    padding-right: 0;
    padding-left: 0;
  }

  .theme-slider--grid {
    padding-right: calc(var(--section-content-padding) * 2);
    padding-left: calc(var(--section-content-padding) * 2);
  }
}

/* 4.2. Banner Block
======================================================== */
.banner-block {
  padding-right: var(--section-content-padding);
  padding-left: var(--section-content-padding);
}

.banner-block:not(.swiper-slide) {
  margin-bottom: var(--section-content-block-margin);
}

.banner-block__wrapper {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100%;
}

.banner-block__content,
.banner-block__media {
  inset: 0;
}

.banner-block__content {
  z-index: 2;
  display: flex;
  width: 100%;
  height: 100%;
  flex-direction: column;
  align-items: var(--banner-block-position-x);
  justify-content: var(--banner-block-position-y);
  text-align: var(--banner-block-alignment);
}

.banner-block__content:not(.position-relative) {
  padding: calc(var(--section-content-block-padding) * 2);
}

.banner-block__content.position-relative {
  padding: calc(var(--section-content-block-padding) * 4) calc(var(--section-content-block-padding) * 2);
}

.banner-block__media {
  position: absolute;
  z-index: 1;
  display: block;
  overflow: hidden;
  width: 100%;
  height: 100%;
}

.banner-block__image {
  position: relative;
  z-index: 1;
  display: block;
}

.banner-block__media .banner-block__placeholder,
.banner-block__media .banner-block__image {
  transform: var(--theme-image-zoom);
}

.banner-block__media .banner-block__image {
  width: 100%;
  height: 100%;
  object-fit: var(--theme-image-cover);
  object-position: var(--theme-image-position);
}

.banner-block__wrapper:has(> .hover-link):hover .banner-block__media .banner-block__placeholder {
  transform: scale(1.25);
}

.banner-block__wrapper:has(> .hover-link):hover .banner-block__media .banner-block__image {
  transform: var(--theme-image-zoom-hover);
}

/* 4.3. Trustbar Block
======================================================== */
.trustbar-block {
  padding-right: var(--section-content-block-padding);
  padding-left: var(--section-content-block-padding);
}

.trustbar-block:not(.swiper-slide) {
  margin-bottom: var(--section-content-block-margin);
}

.trustbar-block__wrapper:not(.flex-column) {
  gap: calc(var(--section-content-block-padding) * 0.75);
}

.trustbar-block__wrapper.flex-column {
  gap: calc(var(--section-content-block-padding) * 0.5);
}

.trustbar-block__icon {
  display: block;
  color: var(--color-links);
  font-size: calc(var(--font-base-size) * 1.5);
  line-height: 1;
}

.trustbar-block__info {
  padding-top: calc(var(--section-content-block-padding) * 0.4);
  gap: calc(var(--section-content-block-padding) * 0.5);
}

.trustbar-block__title {
  color: var(--color-main);
  font-size: calc(var(--font-base-size) * 0.9);
  font-weight: bold;
  line-height: 1;
  text-transform: uppercase;
}

.trustbar-block__text {
  color: var(--color-secondary);
  font-size: calc(var(--font-base-size) * 0.9);
  line-height: 1.5;
}

.trustbar-block__link {
  display: block;
  width: fit-content;
  margin-top: calc(var(--section-content-block-padding) * 0.35);
  color: var(--color-links) !important;
  font-size: calc(var(--font-base-size) * 0.75);
  font-weight: 500;
  line-height: 1;
  text-transform: uppercase;
}

.trustbar-block__link:hover,
.trustbar-block__link:focus {
  color: var(--color-secondary) !important;
}

/* 4.4. Big Banner
======================================================== */
.big-banner {
  overflow: hidden;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin: var(--section-margin-top) auto var(--section-margin-bottom) auto;
}

.big-banner:not(.container--adjust) {
  max-width: var(--theme-variable-width);
}

.big-banner.container--adjust {
  max-width: 1296px;
}

.big-banner__content {
  padding-top: calc(var(--section-content-padding) * 5);
  padding-bottom: calc(var(--section-content-padding) * 5);
}

.big-banner.container--adjust .big-banner__content {
  padding-right: calc(var(--section-content-padding) * 2);
  padding-left: calc(var(--section-content-padding) * 2);
}

.big-banner__picture {
  object-position: var(--theme-image-position) !important;
}

/* Theme Newsletter
======================================================== */
.theme-newsletter {
  padding-top: calc(var(--section-content-padding) * 2);
}

.theme-newsletter__wrapper {
  display: flex;
  gap: calc(var(--section-content-padding) * 1.5);
}

.theme-newsletter__input {
  height: 46px;
  margin: 0 !important;
}

.theme-newsletter__submit {
  display: flex;
  width: 100%;
  height: 46px;
  align-items: center;
  justify-content: center;
  padding: 0 calc(var(--font-base-size) * 1.5) !important;
  line-height: 1;
}

.theme-newsletter__disclaimer {
  padding-top: calc(var(--section-content-padding) * 1.25);
  color: var(--color-secondary);
  font-size: calc(var(--font-base-size) * 0.85);
  line-height: calc(var(--font-base-line-height) * 0.75);
}

@media only screen and (max-width: 575px) {
  .theme-newsletter__wrapper {
    flex-direction: column;
  }
}

@media only screen and (min-width: 576px) {
  .theme-newsletter__submit {
    width: auto;
  }
}

@media only screen and (min-width: 768px) {
  .theme-newsletter.col-md-6 {
    padding-top: 0;
  }
}

/* Testimony
======================================================== */
.testimony {
  padding-right: var(--section-content-block-padding);
  padding-left: var(--section-content-block-padding);
  color: var(--color-secondary);
  font-size: calc(var(--font-base-size) * 1);
}

.testimony:not(.swiper-slide) {
  margin-bottom: calc(var(--section-content-block-margin) * 1.5);
}

.testimony__content {
  gap: calc(var(--section-content-block-padding) * 1);
}

.testimony__icon {
  font-size: 170%;
  line-height: 1;
}

.testimony__quote {
  font-size: 100%;
  font-style: italic;
}

.testimony__avatar,
.testimony__avatar-placeholder {
  overflow: hidden;
  width: var(--avatar-size);
  height: var(--avatar-size);
  border-radius: var(--radius-style);
}

.testimony__avatar-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-main-op1);
  font-size: 120%;
}

.testimony__author {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: calc(var(--section-content-block-padding) * 0.5);
  font-size: 75%;
  font-weight: 600;
  gap: calc(var(--section-content-block-padding) * 0.5);
  line-height: 1;
}

.testimony__author::before,
.testimony__author::after {
  display: block;
  width: 10px;
  height: 1px;
  background: var(--color-secondary);
  content: "";
}

/* Testimony Block > Card style */
.testimony--card .testimony__content {
  height: 100%;
  padding: calc(var(--section-content-block-padding) * 1.5);
}

.testimony--card .testimony__content[data-border="true"] {
  position: relative;
}

.testimony--card .testimony__content[data-border="true"]::after {
  position: absolute;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  border: 1px solid var(--color-main);
  background: transparent;
  content: "";
  inset: 0;
  opacity: var(--testimony-card-border);
}

/* Testimony Block Media Queries */
@media only screen and (min-width: 576px) {
  .testimony:not(.swiper-slide) {
    margin-bottom: calc(var(--section-content-block-margin) * 1.5);
  }
}

/* 4.7. Theme Video
======================================================== */
.theme-video:has(> .container-fluid),
.theme-video > .container-fluid {
  padding-right: 0;
  padding-left: 0;
}

/* 4.8. Theme Custom Code
======================================================== */
.theme-custom-code {
  margin-top: var(--section-margin-top);
  margin-bottom: var(--section-margin-bottom);
}

/* 4.9. Logo Block
======================================================== */
.logo-block {
  padding-right: var(--section-content-block-padding);
  padding-left: var(--section-content-block-padding);
}

.logo-block:not(.swiper-slide) {
  margin-bottom: var(--section-content-block-margin);
}

.logo-block__image-placeholder {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1;
  background: var(--color-main-op1);
  color: var(--color-main-op5);
  font-size: calc(var(--font-base-size) * 1.5);
}

/* 4.10. Instagram Block
======================================================== */
.instagram-block {
  padding-right: var(--section-content-block-padding);
  padding-left: var(--section-content-block-padding);
}

.instagram-block:not(.swiper-slide) {
  margin-bottom: var(--section-content-block-margin);
}

.theme-section__content--wrap .instagram-block {
  padding-right: 0 !important;
  padding-left: 0 !important;
  margin: 0 !important;
}

.instagram-block__anchor {
  position: relative;
  display: block;
  overflow: hidden;
  width: 100%;
  height: auto;
  aspect-ratio: 1;
}

.theme-image-placeholder--instagram {
  border: 1px solid var(--color-background);
}

.instagram-block__image {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

.instagram-block__overlay {
  position: absolute;
  z-index: 2;
  display: flex;
  width: 100%;
  height: 100%;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: rgb(0 0 0 / 70%);
  color: white;
  font-size: calc(var(--font-base-size) * 0.725);
  gap: var(--section-content-padding);
  inset: 0;
  line-height: 1;
  opacity: 0;
  text-transform: uppercase;
}

.instagram-block:hover .instagram-block__overlay {
  opacity: 1;
}

.instagram-block__overlay > .ph-instagram-logo {
  font-size: calc(var(--font-base-size) * 1.25);
}

/* 4.11. Review Block
======================================================== */
.review-block {
  padding-right: var(--section-content-block-padding);
  padding-left: var(--section-content-block-padding);
}

.review-block:not(.swiper-slide) {
  margin-bottom: var(--section-content-block-margin);
}

.review-block__wrapper,
.review-block__header,
.review-block__rating,
.review-block__footer {
  display: flex;
}

.review-block__header,
.review-block__content,
.review-block__footer {
  position: relative;
  z-index: 2;
}

.review-block__wrapper,
.review-block__header {
  gap: var(--section-content-block-padding);
}

.review-block__wrapper,
.review-block__footer {
  flex-direction: column;
}

.review-block__footer,
.review-block__rating {
  gap: calc(var(--section-content-block-padding) * 0.5);
}

.review-block__header,
.review-block__footer {
  justify-content: var(--review-block-alignment);
}

.review-block__wrapper {
  overflow: hidden;
  text-align: var(--review-block-alignment);
}

.review-block__header {
  align-items: center;
}

.review-block__anchor {
  width: 50px;
  min-width: 50px !important;
  max-width: 50px !important;
  aspect-ratio: 1;
}

.review-block__image-placeholder {
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  background: var(--color-main-op1);
  color: var(--color-main-op7);
}

.review-block__name {
  color: var(--color-main) !important;
  font-size: calc(var(--font-base-size) * 0.9);
  font-weight: 600;
  line-height: calc(var(--font-base-line-height) * 0.75);
}

.review-block__name:hover {
  text-decoration: underline;
}

.review-block__rating {
  align-items: center;
}

.review-block__score {
  color: var(--color-secondary);
  font-size: calc(var(--font-base-size) * 0.8);
  line-height: 1;
}

.review-block__stars {
  color: var(--color-ratings);
  font-size: calc(var(--font-base-size) * 0.9);
  line-height: 1;
}

.review-block__content {
  overflow: hidden;
  width: 100%;
  max-height: 70px;
  color: var(--color-main);
  font-style: italic;
  line-height: 1.4;
}

.review-block__content.expanded {
  max-height: none;
}

.review-block__expand {
  z-index: 10;
  display: none;
  margin-top: calc(var(--section-content-block-padding) * -1);
  background: transparent !important;
  color: var(--color-links) !important;
  font-size: calc(var(--font-base-size) * 0.8);
  font-weight: 500;
  text-align: var(--review-block-alignment);
}

.review-block__expand:hover {
  color: var(--color-links-hover) !important;
}

.review-block__expand > span {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: calc(var(--section-content-padding) * 0.25);
}

.review-block__expand.active > span:first-child {
  display: flex;
}

.review-block__expand.active > span:last-child {
  display: none;
}

.review-block__expand:not(.active) > span:first-child {
  display: none;
}

.review-block__expand:not(.active) > span:last-child {
  display: flex;
}

.review-block__expand > span > .ph {
  position: relative;
  top: 1px;
}

.review-block__customer,
.review-block__date {
  line-height: 1;
}

.review-block__customer {
  color: var(--color-secondary);
  font-size: calc(var(--font-base-size) * 0.825);
  font-weight: 600;
}

.review-block__date {
  color: var(--color-secondary-op7);
  font-size: calc(var(--font-base-size) * 0.725);
}

/* Review Block > Card style */
.review-block--card .review-block__wrapper {
  height: 100%;
  padding: calc(var(--section-content-block-padding) * 1.5);
}

.review-block--card .review-block__wrapper[data-border="true"] {
  position: relative;
}

.review-block--card .review-block__wrapper[data-border="true"]::after {
  position: absolute;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  border: 1px solid var(--color-main);
  background: transparent;
  content: "";
  inset: 0;
  opacity: var(--review-block-card-border);
}

/* Review Block Media Queries */
@media only screen and (min-width: 576px) {
  .review-block:not(.swiper-slide) {
    margin-bottom: calc(var(--section-content-block-margin) * 1.5);
  }
}

/* 4.12. Theme Accordion
======================================================== */
.theme-accordion {
  width: 100%;
  margin: 0 !important;
}

.theme-accordion__item {
  overflow: hidden;
  border-color: var(--color-border) !important;
  border-radius: 0 !important;
  background: transparent !important;
}

.theme-accordion__item--image {
  width: var(--accordion-image-size);
}

.theme-accordion__button {
  display: flex;
  width: 100%;
  align-items: start;
  justify-content: space-between;
  padding: calc(var(--section-content-padding) * 1.5);
  background: transparent !important;
  box-shadow: none !important;
  color: var(--color-main) !important;
  font-size: calc(var(--font-base-size) * 1);
  font-weight: 500;
}

.theme-accordion__button:hover,
.theme-accordion__button[aria-expanded="true"] {
  background: var(--color-main-op05) !important;
}

.theme-accordion__button::after {
  display: none !important;
}

.theme-accordion__button:has(.theme-accordion__icon) {
  position: relative;
  padding-left: calc(var(--font-base-size) * 3) !important;
}

.theme-accordion__icon {
  position: absolute;
  top: calc(var(--font-base-size) * 1.05);
  left: calc(var(--section-content-padding) * 1.5);
  font-size: 120%;
}

.theme-accordion__caret {
  position: relative;
  color: var(--color-main) !important;
  font-size: 110%;
  transform: rotate(0deg);
  transition: all 0.25s ease-in-out;
}

[aria-expanded="true"] > .theme-accordion__caret {
  transform: rotate(180deg);
}

.theme-accordion__body {
  padding: calc(var(--section-content-padding) * 1.5);
  font-size: calc(var(--font-base-size) * 0.95);
}

.theme-accordion__body,
.theme-accordion__body *:not(a, a > span, a > i) {
  color: var(--color-secondary);
}

.theme-accordion__body a {
  color: var(--color-links);
}

.theme-accordion__body a:hover,
.theme-accordion__body a:focus {
  color: var(--color-links-hover);
}

.theme-accordion__link {
  display: flex;
  width: fit-content;
  align-items: center;
  justify-content: flex-start;
  font-weight: 600;
  gap: calc(var(--font-base-size) * 0.25);
}

.theme-accordion__link:hover {
  gap: calc(var(--font-base-size) * 0.5);
}

.theme-accordion__link > .ph-arrow-right {
  position: relative;
  top: 1px;
}

.theme-accordion__body img:not(.store-product__image) {
  margin-bottom: var(--section-content-padding);
}

/* Theme Accordion > on Product page */
.product-page .theme-accordion,
.product-page .theme-accordion * {
  text-align: start !important;
}

.product-page .theme-accordion {
  margin: calc(var(--section-content-padding)) 0 0 !important;
}

.product-page .theme-accordion__item {
  border-width: 1px 0;
}

.product-page .theme-accordion__button {
  padding: calc(var(--section-content-padding) * 1.5) 0;
  color: var(--color-secondary) !important;
  font-size: calc(var(--font-base-size) * 0.925);
}

.product-page .theme-accordion__button:has(.theme-accordion__icon) {
  padding-left: calc(var(--font-base-size) * 1.75) !important;
}

.product-page .theme-accordion__button,
.product-page .theme-accordion__button:hover,
.product-page .theme-accordion__button[aria-expanded="true"] {
  background: transparent !important;
}

.product-page .theme-accordion__button:hover,
.product-page .theme-accordion__button[aria-expanded="true"] {
  color: var(--color-main) !important;
}

.product-page .theme-accordion__icon {
  left: 0;
}

.product-page .theme-accordion__body {
  padding: 0 0 calc(var(--section-content-padding) * 1.5);
  font-size: calc(var(--font-base-size) * 0.9);
}

/* 4.13. Contact Block
======================================================== */
.contact-block {
  padding-right: var(--contact-block-padding);
  padding-left: var(--contact-block-padding);
  margin-bottom: var(--contact-block-margin);
  text-align: var(--contact-block-alignment);
}

.contact-block__title {
  display: flex;
  align-items: center;
  justify-content: var(--contact-block-alignment);
  margin-bottom: calc(var(--contact-block-padding) * 1.5);
  font-size: var(--contact-block-title);
  font-weight: 600;
  gap: calc(var(--contact-block-padding) * 0.5);
}

.contact-block__title > i {
  font-size: 110%;
}

.contact-block__link,
.contact-block__text {
  color: var(--color-secondary) !important;
  font-size: var(--contact-block-text);
}

.contact-block__link:hover {
  color: var(--color-links) !important;
}

.contact-block .theme-social {
  justify-content: var(--contact-block-alignment) !important;
}

.contact-block__socials:not(:has(.theme-social)) {
  display: none !important;
}

.contact-block .theme-social__title {
  display: none !important;
}

.contact-block .theme-social__link {
  font-size: calc(var(--contact-block-text) * 1.25);
}

/* Theme Contact (Form)
======================================================== */
.theme-contact #contact_form {
  padding-right: var(--section-content-padding);
  padding-left: var(--section-content-padding);
}

.theme-contact #contactpage {
  width: 100%;
  gap: calc(var(--section-content-padding) * 2);
}

.theme-contact #contactpage .field {
  margin: 0;
}

.theme-contact #contactpage label {
  display: block;
  margin-bottom: calc(var(--section-content-padding) * 0.75);
  color: var(--color-secondary);
  cursor: pointer;
  font-size: calc(var(--font-base-size) * 0.9);
  line-height: 1;
}

.theme-contact #contactpage label + br {
  display: none;
}

.theme-contact #contactpage p.required {
  display: flex;
  align-items: center;
  justify-content: start;
  margin: 0;
  color: var(--color-secondary);
  font-size: calc(var(--font-base-size) * 0.85);
  font-style: italic;
}

/* Theme Contact Media queries */
@media only screen and (max-width: 575px) {
  .theme-contact #contactpage {
    display: flex;
    flex-direction: column;
  }

  .theme-contact #contactpage .actions {
    text-align: start !important;
  }
}

@media only screen and (min-width: 576px) {
  .theme-contact #contactpage {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(3, 0fr);
  }

  .theme-contact #contactpage .field {
    grid-column: span 1;
  }

  .theme-contact #contactpage #contactpage_message {
    grid-column: span 3;
  }

  .theme-contact #contactpage p.required {
    grid-column: span 1;
  }

  .theme-contact #contactpage .actions {
    grid-column: 3 / 3;
  }
}

/* 4.15. Contact Location
======================================================== */
.contact-location {
  padding-right: var(--section-content-block-padding);
  padding-left: var(--section-content-block-padding);
  margin-bottom: var(--section-content-block-margin);
}

.contact-location__wrapper {
  display: flex;
  width: 100%;
  height: 100%;
  flex-direction: column;
  align-items: var(--section-content-block-alignment);
  justify-content: flex-start;
  padding: calc(var(--section-content-block-padding) * 2);
  border: 1px solid var(--color-border);
  gap: var(--section-content-block-padding);
  text-align: var(--section-content-block-alignment);
}

.contact-location__title {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: var(--section-content-block-alignment);
  margin: 0;
  font-size: calc(var(--font-base-size) * 1.5);
  font-weight: 600;
  gap: calc(var(--section-content-block-padding) * 0.75);
  line-height: 1;
}

.contact-location--center .contact-location__title {
  flex-direction: column;
}

.contact-location__badge {
  display: block;
  padding: calc(var(--section-content-block-padding) * 0.5) calc(var(--section-content-block-padding) * 0.75);
  background: var(--color-main);
  color: var(--color-background);
  font-size: 50%;
  line-height: 1;
}

.contact-location__link {
  display: flex;
  width: fit-content;
  align-items: start;
  justify-content: flex-start;
  color: var(--color-secondary) !important;
  font-size: calc(var(--font-base-size) * 1);
  gap: calc(var(--section-content-block-padding) * 0.5);
}

.contact-location--center .contact-location__link {
  flex-direction: column;
  align-items: var(--section-content-block-alignment);
}

.contact-location__link:hover {
  color: var(--color-links) !important;
}

.contact-location__link > i {
  position: relative;
  top: 5px;
}

.contact-location__link > i.ph-envelope {
  top: 6px;
}

.contact-location--end .contact-location__link > i {
  order: 2;
}

/* 4.16. Theme Pack (Frerquently Bought Together)
======================================================== */
.theme-pack {
  padding-right: var(--section-content-block-padding);
  padding-left: var(--section-content-block-padding);
}

.theme-pack__container {
  display: grid;
  overflow: hidden;
  width: 100%;
  height: 100%;
  border: 1px solid var(--color-border);
}

.theme-pack__products {
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: flex-start;
  padding: calc(var(--section-content-block-padding) * 1.5);
  gap: calc(var(--section-content-block-padding) * 1.75);
}

/* Theme Pack > Pack Item */
.pack-item {
  display: flex;
  width: 100%;
  align-items: flex-start;
  gap: var(--section-content-block-padding);
  text-align: start;
}

.pack-item__image,
.pack-item__image-placeholder {
  width: 60px !important;
  min-width: 60px;
  max-width: 60px;
}

.pack-item__image-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1;
  background: var(--color-main-op1);
  color: var(--color-main-op7);
}

.pack-item__info {
  display: flex;
  width: 100%;
  height: 100%;
  flex-direction: column;
  justify-content: center;
  font-size: calc(var(--font-base-size) * 0.9);
  gap: calc(var(--section-content-block-padding) * 0.75);
  line-height: 1;
}

.pack-item__attributes {
  color: var(--color-secondary-op7);
  font-size: 75%;
}

.pack-item__title {
  color: var(--color-main) !important;
  font-size: 100%;
  font-weight: 500;
}

.pack-item__title--clickable:hover,
.pack-item__title--clickable:focus {
  text-decoration: underline !important;
}

.pack-item__pricing {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: flex-start;
  font-size: 85%;
  gap: calc(var(--section-content-block-padding) * 0.5);
}

.pack-item__price {
  color: var(--color-secondary);
}

.pack-item__price--new {
  color: var(--color-discount);
  font-weight: 600;
}

.pack-item__price--old {
  font-size: 95%;
  opacity: 0.7;
  text-decoration: line-through;
}

.pack-item__option {
  color: var(--color-secondary);
  font-size: 85%;
}

/* Theme Pack > Actions */
.theme-pack__actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: calc(var(--section-content-block-padding) * 1.5);
  margin-top: auto;
  background: var(--color-main-op05);
  gap: var(--section-content-block-padding);
  text-align: center;
}

.theme-pack__pricing {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: center;
  font-size: calc(var(--font-base-size) * 1);
  gap: calc(var(--section-content-block-padding) * 0.5);
}

.theme-pack__price {
  color: var(--color-main);
  font-weight: 600;
}

.theme-pack__price--new {
  color: var(--color-discount);
}

.theme-pack__price--old {
  font-size: 90%;
  font-weight: normal;
  opacity: 0.7;
  text-decoration: line-through;
}

.theme-pack__text {
  margin-top: calc(var(--section-content-block-padding) * 0.25);
  font-size: calc(var(--font-base-size) * 0.8);
  font-style: italic;
  line-height: 1;
}

.theme-pack__button > i {
  position: relative;
  top: -1px;
  font-size: 110%;
}

.theme-pack__button {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: calc(var(--font-base-size) * 1);
  gap: calc(var(--font-base-size) * 0.25);
}

/* Theme Pack Media Queries */
@media only screen and (min-width: 992px) {
  .theme-pack[data-display="single"] .theme-pack__products {
    flex-direction: row;
    padding: 0;
    gap: 0;
  }

  .theme-pack[data-display="single"] .pack-item {
    height: 100%;
    padding: calc(var(--section-content-block-padding) * 1.5);
  }

  .theme-pack[data-display="single"] .pack-item:not(:last-child) {
    border-right: 1px solid var(--color-border);
  }

  .theme-pack[data-display="single"] .pack-item__info {
    height: auto;
    min-height: 60px;
  }

  .theme-pack[data-display="single"] .theme-pack__actions {
    flex-direction: row;
    justify-content: center;
    gap: calc(var(--section-content-block-padding) * 2);
  }
}

/* 4.17. Store Whatsapp
======================================================== */
.store-whatsapp {
  position: fixed;
  z-index: 100;
  min-width: 50px;
  min-height: 50px;
}

.store-whatsapp__message {
  position: absolute;
  width: 250px;
  max-width: calc(100vw - 60px - 2rem);
  padding: calc(var(--font-base-size) * 0.75) var(--font-base-size);
  border-radius: calc(var(--font-base-size) * 0.5);
  background-color: var(--store-whatsapp-color-message-bg) !important;
  box-shadow: 0 4px 15px var(--store-whatsapp-color-message-shadow);
  color: var(--store-whatsapp-color-message-text) !important;
  font-size: calc(var(--font-base-size) * 0.85);
  line-height: calc(var(--font-base-size) * 1.25);
}

.store-whatsapp__close {
  position: absolute;
  top: 0;
  right: 0;
  padding: calc(var(--font-base-size) * 0.5);
  color: var(--store-whatsapp-color-message-text) !important;
  cursor: pointer;
  font-size: calc(var(--font-base-size) * 0.85);
  line-height: 1;
}

.store-whatsapp__button {
  position: absolute;
  display: flex;
  width: 50px;
  height: 50px;
  align-items: center;
  justify-content: center;
  border-radius: 50px;
  background-color: var(--store-whatsapp-color-bg) !important;
  box-shadow: 0 0 20px transparent;
  color: var(--store-whatsapp-color-icon) !important;
  font-size: calc(var(--font-base-size) * 1.75);
  text-align: center;
  text-decoration: none;
}

.store-whatsapp__button:hover {
  background-color: var(--store-whatsapp-color-bg-hover) !important;
  box-shadow: 0 0 20px rgb(0 0 0 / 30%);
  color: var(--store-whatsapp-color-icon) !important;
}

.store-whatsapp__button svg {
  width: 26px;
  fill: var(--store-whatsapp-color-icon) !important;
}

/* ========================================================
5. Product Page
======================================================== */

/* 5.1. Product Heading
======================================================== */
.product-heading {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: calc(var(--section-content-padding) * 1);
}

.product-heading:not(:empty) {
  margin-bottom: calc(var(--section-content-padding) * 1.5);
}

/* 5.2. Product Gallery
======================================================== */
.product-gallery {
  margin-bottom: calc(var(--section-content-padding) * 2);
}

.product-gallery__wrapper {
  position: relative;
  display: flex;
  overflow: hidden;
  width: 100%;
  flex-direction: column;
  gap: calc(var(--section-content-padding) * 2);
}

.product-gallery__zoom-icon {
  position: absolute;
  z-index: 2;
  top: 0;
  right: 0;
  display: flex;
  width: 40px;
  height: 40px;
  align-items: center;
  justify-content: center;
  color: var(--color-main-op7);
  cursor: pointer;
  font-size: calc(var(--font-base-size) * 1.1);
}

.product-gallery__zoom-icon:hover {
  color: var(--color-main);
}

.product-gallery__carousel {
  width: 100%;
}

.product-gallery__carousel--main {
  overflow: hidden;
}

.product-gallery__wrapper[data-zoom="true"] .product-gallery__slide.zoom {
  cursor: zoom-in !important;
}

.product-gallery__slide {
  overflow: hidden;
}

.product-gallery__thumb {
  padding-right: var(--section-content-padding);
  padding-left: var(--section-content-padding);
  cursor: pointer;
  opacity: 0.5;
  transition: all 0.25s ease-in-out;
}

.product-gallery__thumb:hover,
.product-gallery__thumb.swiper-slide-thumb-active {
  opacity: 1 !important;
}

.product-gallery__picture {
  display: block;
  width: 100%;
  height: auto;
}

.product-gallery__image {
  margin: 0 auto;
}

.product-gallery__placeholder {
  display: flex;
  width: 100%;
  height: auto;
  align-items: center;
  justify-content: center;
  background: var(--color-main-op1);
  color: var(--color-main-op5);
  font-size: calc(var(--font-base-size) * 2);
}

.product-gallery__placeholder--landscape {
  aspect-ratio: 4 / 3;
}

.product-gallery__placeholder--portrait {
  aspect-ratio: 3 / 4;
}

.product-gallery__placeholder--square {
  aspect-ratio: 1;
}

/* Product Gallery > Arrows  */
.product-gallery__arrow {
  display: flex;
  width: 30px;
  height: 30px;
  align-items: center;
  background: transparent !important;
  font-size: calc(var(--font-base-size) * 1.5);
  opacity: 1;
}

.product-gallery__arrow--prev {
  left: 0;
  justify-content: flex-start;
}

.product-gallery__arrow--next {
  right: 0;
  justify-content: flex-end;
}

.product-gallery__arrow::after {
  display: none !important;
}

/* Product Gallery > Main carousel */
.product-gallery__carousel--main .product-gallery__arrow {
  width: 40px;
  height: 50px;
  color: rgb(0 0 0 / 70%) !important;
}

.product-gallery__carousel--main .product-gallery__arrow:hover {
  color: rgb(0 0 0 / 100%) !important;
}

.product-gallery__carousel--main .product-gallery__arrow--prev {
  padding-left: var(--section-content-padding);
}

.product-gallery__carousel--main .product-gallery__arrow--next {
  padding-right: var(--section-content-padding);
}

/* Product Gallery > Thumbnails carousel */
.product-gallery__carousel--thumbs {
  padding-right: 45px;
  padding-left: 45px;
}

.product-gallery__carousel--thumbs .product-gallery__arrow {
  top: 0 !important;
  height: 100%;
  margin-top: 0 !important;
  background: var(--color-background) !important;
  color: var(--color-main-op7) !important;
}

.product-gallery__carousel--thumbs .product-gallery__arrow:hover {
  color: var(--color-main) !important;
}

/* Product Gallery Media Queries */
@media only screen and (max-width: 767px) {
  .product-gallery {
    position: relative;
    padding-bottom: calc(var(--section-content-padding) * 2);
  }

  .product-gallery::after {
    position: absolute;
    right: var(--section-content-padding);
    bottom: 0;
    left: var(--section-content-padding);
    display: block;
    width: auto;
    height: 1px;
    background: var(--color-border);
    content: "";
  }

  .product-gallery__wrapper.sticky-md-top {
    top: 0 !important;
  }
}

@media only screen and (min-width: 768px) {
  .product-gallery {
    margin-bottom: var(--section-content-padding);
  }

  .product-gallery__wrapper.sticky-md-top {
    position: sticky !important;
    z-index: 10;
  }

  body:has(.header-slider--fixed) .product-gallery__wrapper.sticky-md-top {
    top: 50px;
  }
}

@media only screen and (min-width: 992px) {
  /* Product Gallery > when Thumbs positioned to "left" or "right" */
  .product-gallery__wrapper[data-thumbs="left"]:has(.product-gallery__carousel--thumbs) {
    flex-direction: row-reverse;
  }

  .product-gallery__wrapper[data-thumbs="right"]:has(.product-gallery__carousel--thumbs) {
    flex-direction: row;
  }

  .product-gallery__wrapper[data-thumbs="left"] .product-gallery__carousel--thumbs,
  .product-gallery__wrapper[data-thumbs="right"] .product-gallery__carousel--thumbs {
    width: 86px;
    min-width: 86px;
    max-width: 86px;
    padding: 40px 0 0 !important;
  }

  .product-gallery__wrapper[data-thumbs="left"][data-dimension="square"] .product-gallery__carousel--thumbs,
  .product-gallery__wrapper[data-thumbs="right"][data-dimension="square"] .product-gallery__carousel--thumbs {
    max-height: 430px;
  }

  .product-gallery__wrapper[data-thumbs="left"] .product-gallery__thumb,
  .product-gallery__wrapper[data-thumbs="right"] .product-gallery__thumb {
    height: auto !important;
    padding: 0;
  }

  .product-gallery__wrapper[data-thumbs="left"] .product-gallery__image--thumb,
  .product-gallery__wrapper[data-thumbs="right"] .product-gallery__image--thumb {
    margin-bottom: var(--section-content-padding);
  }

  .product-gallery__wrapper[data-thumbs="left"] .product-gallery__carousel--thumbs .product-gallery__arrow,
  .product-gallery__wrapper[data-thumbs="right"] .product-gallery__carousel--thumbs .product-gallery__arrow {
    width: 50%;
    height: 30px;
    align-items: start;
  }

  .product-gallery__wrapper[data-thumbs="left"]:has(.product-gallery__carousel--thumbs) + .product-gallery__text,
  .product-gallery__wrapper[data-thumbs="right"]:has(.product-gallery__carousel--thumbs) + .product-gallery__text {
    width: calc(100% - calc(var(--section-content-padding) * 2) - 86px);
  }

  .product-gallery__wrapper[data-thumbs="left"]:has(.product-gallery__carousel--thumbs) + .product-gallery__text {
    position: relative;
    left: calc(calc(var(--section-content-padding) * 2) + 86px);
  }

  .product-gallery__wrapper[data-thumbs="right"]:has(.product-gallery__carousel--thumbs[sw-thumbs-direction="vertical"]) .product-gallery__zoom-icon {
    right: calc(calc(var(--section-content-padding) * 2) + 86px);
  }
}

/* 5.3. Product Info
======================================================== */
.product-page__info {
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: var(--product-page-alignment);
  gap: calc(var(--section-content-padding) * 1.25);
  text-align: var(--product-page-alignment);
}

.product-page__attributes,
.product-page__attributes > span {
  color: var(--color-secondary-op7);
  font-size: calc(var(--font-base-size) * 0.85);
  line-height: 1;
}

.product-page__attributes {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: var(--product-page-alignment);
  gap: calc(var(--section-content-padding) * 0.75);
}

.product-page__title {
  text-align: var(--product-page-alignment);
}

.product-price {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  font-size: calc(var(--font-base-size) * 1.25);
  gap: calc(var(--section-content-padding) * 0.75);
  line-height: 1;
}

.product-price[data-display="horizontal"] {
  justify-content: var(--product-page-alignment);
}

.product-price[data-display="stack"] {
  flex-direction: column;
  align-items: var(--product-page-alignment);
}

.product-page__price {
  color: var(--color-secondary);
  font-size: 100%;
}

.product-page__price--new {
  color: var(--color-discount);
  font-weight: 600;
}

.product-page__price--old {
  font-size: 90%;
  opacity: 0.7;
  text-decoration: line-through;
}

.product-page__discount-label {
  padding: calc(var(--font-base-size) * 0.45) calc(var(--font-base-size) * 0.35);
  background: var(--color-discount);
  color: var(--color-discount-text);
  font-size: 65%;
  line-height: 1;
}

.product-page__discount-message {
  width: 100%;
  padding: calc(var(--section-content-padding) * 0.5) calc(var(--section-content-padding) * 1);
  border: 1px solid var(--color-secondary-op05);
  margin-top: calc(var(--section-content-padding) * 1.25);
  background: var(--color-secondary-op05);
  color: var(--color-secondary);
  font-size: calc(var(--font-base-size) * 0.9);
  font-style: italic;
}

.product-page__description {
  display: flex;
  flex-direction: column;
  margin-bottom: calc(var(--section-content-padding) * 1.5);
  gap: calc(var(--section-content-padding) * 1);
}

.product-page__subtitle {
  width: 100%;
  font-size: calc(var(--font-base-size) * 0.85);
  font-weight: 600;
  text-transform: uppercase;
}

.product-page__description > .product-page__subtitle {
  padding-bottom: calc(var(--section-content-padding) * 0.5);
  border-bottom: 1px solid var(--color-border);
}

.product-page__body {
  position: relative;
  overflow: hidden;
  max-height: 100%;
  color: var(--color-secondary);
  font-size: var(--font-base-size);
  text-align: start !important;
  transition: all 0.25s ease-in-out;
}

.product-page__body h1,
.product-page__body h2,
.product-page__body h3,
.product-page__body h4,
.product-page__body h5,
.product-page__body h6 {
  color: var(--color-main);
  font-size: calc(var(--font-base-size) * 1.5);
}

.product-page__body > p:last-child:empty,
.product-page__body > p:first-child:empty {
  display: none;
}

.product-page__body::after {
  position: absolute;
  z-index: 3;
  right: 0;
  bottom: 0;
  left: 0;
  display: none;
  width: 100%;
  height: 50%;
  background: linear-gradient(180deg, var(--color-background-op0) 0%, var(--color-background) 100%);
  content: "";
}

.product-page__body--collapse::after {
  display: block;
}

.product-page__body *:last-child {
  margin-bottom: 0;
}

.product-page__toggle {
  margin-top: calc(var(--section-content-padding));
  background: transparent !important;
  color: var(--color-links) !important;
  font-size: calc(var(--font-base-size) * 0.9);
  font-weight: 500;
}

.product-page__toggle:hover {
  color: var(--color-links-hover) !important;
}

.product-page__toggle > span {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: calc(var(--section-content-padding) * 0.25);
}

.product-page__toggle.active > span:first-child {
  display: flex;
}

.product-page__toggle.active > span:last-child {
  display: none;
}

.product-page__toggle:not(.active) > span:first-child {
  display: none;
}

.product-page__toggle:not(.active) > span:last-child {
  display: flex;
}

.product-page__toggle > span > .ph {
  position: relative;
  top: 1px;
}

.product-page__line-divider {
  margin-top: var(--section-margin-top);
  margin-bottom: var(--section-margin-bottom);
}

/* Product Message */
.product-message {
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: var(--product-page-alignment);
  padding: calc(var(--section-content-padding) * 2) calc(var(--section-content-padding) * 1.5);
  background: var(--color-main-op05);
  gap: calc(var(--section-content-padding) * 0.75);
}

.product-message__title {
  width: 100%;
  color: var(--color-main);
  font-size: calc(var(--font-base-size) * 1.1);
  font-weight: bold;
  line-height: 1;
}

.product-message__text {
  color: var(--color-secondary);
  font-size: calc(var(--font-base-size) * 0.9);
}

.product-message__button {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: calc(var(--font-base-size) * 0.85);
  gap: calc(var(--font-base-size) * 0.5);
}

.product-message__button + .product-message__button {
  margin-top: calc(var(--section-content-padding) * 0.5);
}

.product-message__button > i {
  font-size: 110%;
}

.product-message__link {
  display: inline-block;
  width: fit-content;
  margin-top: calc(var(--section-content-padding) * 0.75);
  color: var(--color-secondary) !important;
  font-size: calc(var(--font-base-size) * 0.9);
  line-height: 1;
  text-decoration: underline !important;
}

.product-message__link:hover {
  color: var(--color-links) !important;
}

/* Product Details */
.product-details {
  width: 100%;
  margin-bottom: calc(var(--section-content-padding) * 1.5);
  text-align: start !important;
}

.product-details--table {
  border: 1px solid var(--color-border);
}

.product-details--list {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: calc(var(--section-content-padding) * 0.5);
}

.product-page__subtitle:not(:empty) + .product-details {
  margin-top: var(--section-content-padding);
}

.product-details__row {
  display: flex;
  width: 100%;
  align-items: start;
}

.product-details--table .product-details__row:nth-child(odd) {
  background: var(--color-secondary-op05);
}

.product-details--list .product-details__row {
  position: relative;
  flex-direction: column;
  padding-left: var(--section-content-padding);
}

.product-details--list .product-details__row::before {
  position: absolute;
  top: calc(var(--font-base-size) * 0.7);
  left: 0;
  display: block;
  width: 6px;
  height: 6px;
  border-radius: 6px;
  background: var(--color-secondary-op3);
  content: "";
}

.product-details__title,
.product-details__value {
  display: block;
  font-size: calc(var(--font-base-size) * 0.9);
}

.product-details--table .product-details__title,
.product-details--table .product-details__value {
  padding: calc(var(--section-content-padding));
  color: var(--color-secondary);
}

.product-details__title {
  font-weight: 600;
}

.product-details--table .product-details__title {
  width: 35%;
}

.product-details--table .product-details__value {
  width: 65%;
}

.product-details--list .product-details__value {
  width: 100%;
}

.product-details__media {
  position: relative;
  overflow: hidden;
  width: 100%;
  aspect-ratio: 4 / 3;
}

.product-details__media > iframe {
  width: 100%;
  max-width: 100%;
  height: 100%;
}

.product-details__download {
  display: flex;
  width: 100%;
  align-items: flex-start;
  justify-content: flex-start;
  padding: calc(var(--section-content-padding));
  color: var(--color-secondary) !important;
  font-size: calc(var(--font-base-size) * 0.9);
}

.product-details__download:hover {
  color: var(--color-links) !important;
}

.product-details__download > .ph {
  position: relative;
  top: calc(var(--font-base-size) * 0.25);
  margin-right: calc(var(--font-base-size) * 0.5);
  font-size: 120%;
}

/* Product Share */
.product-share {
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: var(--product-page-alignment);
  gap: calc(var(--section-content-padding) * 0.25);
}

.product-share .theme-share {
  gap: calc(var(--section-content-padding) * 0.5);
}

.product-share .theme-share__link {
  font-size: calc(var(--font-base-size) * 1.2);
}

/* 5.4. Product Form
======================================================== */
.product-form,
.product-form__actions,
.product-form__wrapper {
  display: flex;
  width: 100%;
}

.product-form,
.product-form__actions {
  flex-direction: column;
}

.product-form,
.product-form__wrapper {
  gap: calc(var(--section-content-padding) * 2);
}

.product-form__wrapper--has-buy-now {
  gap: calc(var(--section-content-padding) * 1);
}

.product-form {
  margin-bottom: calc(var(--section-content-padding));
}

.product-form__actions {
  gap: calc(var(--section-content-padding) * 1.25);
}

.product-form__wrapper {
  align-items: start;
  justify-content: flex-start;
}

.product-form__quantity {
  display: flex;
  width: 33%;
  height: 50px;
  align-items: center;
  justify-content: space-between;
  border: 1px solid var(--color-main-op3);
  border-radius: var(--button-style);
}

.product-form__handler {
  display: flex;
  height: 100%;
  align-items: center;
  justify-content: center;
  padding: calc(var(--font-base-size) * 0.5);
  background: transparent !important;
  color: var(--color-main-op7);
  font-size: calc(var(--font-base-size) * 1.1);
}

.product-form__handler:hover {
  color: var(--color-main);
}

.product-form .product-form__input {
  width: 100% !important;
  max-width: 100px;
  height: 100% !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  font-size: calc(var(--font-base-size) * 1.2) !important;
  text-align: center;
}

.product-form .product-form__input,
.product-form .product-form__input:hover {
  color: var(--color-main-op7) !important;
}

.product-form .product-form__input,
.product-form .product-form__input:hover,
.product-form .product-form__input:focus {
  background: transparent !important;
}

.product-form .product-form__input:focus {
  color: var(--color-main) !important;
}

.product-form .product-form__input[disabled] {
  color: rgb(0 0 0 / 50%) !important;
}

.product-form__button {
  display: flex;
  width: 76%;
  min-height: 50px;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  padding: 0 !important;
  font-size: calc(var(--font-base-size) * 1.1);
  gap: calc(var(--font-base-size) * 0.5);
  line-height: 1;
}

.product-form__button > i {
  font-size: 110%;
}

.product-form__text,
.product-form__link {
  color: var(--color-secondary);
  font-size: calc(var(--font-base-size) * 0.9);
  line-height: 1;
}

.product-form__link {
  display: inline-block;
  width: fit-content;
}

.product-form__link:hover,
.product-form__link:focus {
  color: var(--color-links) !important;
}

.product-form__link > .ph-arrow-right {
  position: relative;
  top: 1px;
  font-size: 90%;
}

.product-form__text--max-stock-disclaimer {
  color: red;
  font-size: calc(var(--font-base-size) * 0.8);
}

/* Product form has 'Buy now button' */
.product-form:has(#add-to-cart[disabled]) #buy-now-button {
  display: none !important;
}

@media only screen and (max-width: 991px) {
  .product-form__wrapper:has(#buy-now-button) {
    flex-direction: column;
  }

  .product-form__wrapper:has(#buy-now-button) > * {
    width: 100% !important;
  }
}

@media only screen and (min-width: 992px) {
  .product-form:has(#buy-now-button) .product-form__button {
    width: 50%;
  }

  .product-form:has(#add-to-cart[disabled]) #buy-now-button {
    display: none !important;
  }

  .product-form:has(#buy-now-button) #add-to-cart[disabled] {
    width: 76% !important;
  }
}

/* 5.5. Product Options
======================================================== */
.product-options {
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: var(--product-page-alignment);
  padding: calc(var(--section-content-padding) * 2) 0;
  border-top: 1px solid var(--color-border);
  gap: calc(var(--section-content-padding) * 2);
}

.product-options__fieldset {
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: var(--product-page-alignment);
  gap: calc(var(--section-content-padding) * 0.5);
}

.product-options__title {
  width: auto;
  margin: 0;
  color: var(--color-main);
  font-size: calc(var(--font-base-size) * 0.85);
  font-weight: 500;
  line-height: 1;
  text-transform: uppercase;
}

.product-options__group {
  display: flex;
  width: 100%;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: var(--product-page-alignment);
  clear: none !important;
  gap: calc(var(--section-content-padding));
}

.product-options__selector {
  position: relative;
  display: flex;
  overflow: hidden;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--color-main-op2);
  background: transparent !important;
  color: var(--color-main-op7) !important;
  cursor: pointer;
  font-size: calc(var(--font-base-size) * 0.9);
  line-height: 1;
}

.product-options__selector:hover {
  border-color: var(--color-main);
  background: transparent !important;
  color: var(--color-main) !important;
}

.product-options__tooltip {
  font-size: calc(var(--pb-font-size) * 0.75);
}

.product-options__selector > input[type="radio"] {
  display: none !important;
}

/* Product options > selector > Button */
.product-options__selector--button {
  padding: calc(var(--section-content-padding) * 1) calc(var(--section-content-padding) * 1.5);
}

.product-options__selector--button:has(input[type="radio"]:checked) {
  border-color: var(--color-main);
  background: var(--color-main) !important;
  color: var(--color-background) !important;
}

/* Product options > selector > Color */
.product-options__selector--color,
.product-options__selector--color > span {
  border-radius: 40px;
}

.product-options__selector--color {
  width: 40px;
  height: 40px;
  padding: 3px;
}

.product-options__selector--color:has(input[type="radio"]:checked) {
  border-color: var(--color-main);
}

.product-options__selector--color > span {
  width: 100%;
  height: 100%;
  border: 1px solid #00000060;
  color: transparent !important;
  font-size: 0;
  text-indent: -9999px;
}

/* Disabled status for buttons and color options */
.product-options__selector--button:has(input[type="radio"].disabled) {
  border-color: var(--color-main-op3);
  background: transparent !important;
  color: var(--color-main-op7) !important;
}

.product-options__selector:has(input[type="radio"].disabled) {
  border-color: var(--color-main-op3) !important;
}

.product-options__selector:has(input[type="radio"].disabled:checked) {
  border-color: var(--color-main) !important;
}

.product-options__selector:has(input[type="radio"].disabled)::before,
.product-options__selector:has(input[type="radio"].disabled)::after {
  position: absolute;
  display: block;
  content: "";
}

.product-options__selector:has(input[type="radio"].disabled)::before {
  z-index: 2;
  width: 42px;
  height: 42px;
  background: var(--color-background);
  inset: -1px;
  opacity: 0.75;
}

.product-options__selector:has(input[type="radio"].disabled:checked)::before {
  background: var(--color-main-op1);
}

.product-options__selector:has(input[type="radio"].disabled)::after {
  z-index: 3;
  width: 200%;
  height: 1px;
  background: var(--color-main);
  inset: auto;
  opacity: 0.5;
}

.product-options__selector--button:has(input[type="radio"].disabled)::after {
  transform: rotate(36deg);
}

.product-options__selector--color:has(input[type="radio"].disabled)::after {
  transform: rotate(45deg);
}

/* Product options > File option */
.product-options__file-upload {
  display: none !important;
}

.product-options__file-wrapper {
  display: flex;
  width: 100%;
  height: 44px !important;
  align-items: flex-start;
  padding: 0 !important;
  border: 1px solid rgb(0 0 0 / 30%) !important;
  background: var(--color-main-op1) !important;
}

.product-options__file-wrapper .product-options__file-name {
  border: 0 !important;
  background: transparent !important;
  text-overflow: ellipsis;
}

.product-options__file-button {
  display: flex;
  width: auto !important;
  min-width: fit-content;
  height: 100%;
  align-items: center;
  justify-content: center;
  padding: 0 var(--section-content-padding);
  gap: calc(var(--font-base-size) * 0.5);
}

/* 5.6. Product Stock and Stock Locations
======================================================== */
.product-stock-locations {
  margin-bottom: var(--section-content-padding);
}

.product-stock-locations__button {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: var(--product-page-alignment);
  padding: calc(var(--font-base-size));
  border: 1px solid var(--color-main-op05);
  background: var(--color-main-op05);
  color: var(--color-main) !important;
  font-size: calc(var(--font-base-size) * 0.9);
  font-weight: 600;
  gap: calc(var(--font-base-size) * 0.5);
  text-align: var(--product-page-alignment);
}

.product-stock-locations__button:hover,
.product-stock-locations:has(#product-stock-locations-sidebar.show) .product-stock-locations__button {
  border-color: var(--color-links);
  background: color-mix(in srgb, var(--color-links), var(--color-main-op05) 95%);
  color: var(--color-links) !important;
}

.product-stock-locations__button > .theme-icon {
  font-size: 120%;
}

.product-stock-locations__content,
.product-stock-locations__content * {
  text-align: start !important;
}

.product-stock-locations__content {
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: flex-start;
}

.product-stock-locations__entry {
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: flex-start;
  padding-bottom: calc(var(--section-content-padding) * 1.5);
  border-bottom: 1px solid var(--color-border);
  margin-bottom: calc(var(--section-content-padding) * 1.5);
  font-size: var(--font-base-size);
  gap: calc(var(--section-content-padding) * 0.25);
  line-height: calc(var(--font-base-line-height) * 0.75);
}

.product-stock-locations__heading {
  display: flex;
  width: 100%;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--section-content-padding);
}

.product-stock-locations__name {
  color: var(--color-main);
  font-size: 110%;
  font-weight: 600;
}

.product-stock-locations__link {
  color: var(--color-links) !important;
}

.product-stock-locations__link:hover {
  color: var(--color-links-hover) !important;
}

.product-stock,
.product-stock-locations__geolocation,
.product-stock-locations__address,
.product-stock-locations__status,
.product-stock-locations__status > span {
  color: var(--color-secondary);
}

.product-stock-locations__geolocation {
  font-size: 90%;
}

.product-stock-locations__address {
  font-size: 85%;
  opacity: 0.7;
}

.product-stock,
.product-stock-locations__status {
  display: flex;
  align-items: flex-start;
  margin-top: calc(var(--section-content-padding) * 0.5);
  font-size: calc(var(--font-base-size) * 0.875);
  gap: calc(var(--section-content-padding) * 0.5);
}

.product-stock {
  align-items: center;
}

.product-stock__icon {
  position: relative;
  top: calc(var(--section-content-padding) * 0.25);
}

.product-stock__icon--available {
  color: var(--color-label-available-dot);
}

.product-stock__icon--out-of-stock {
  color: var(--color-label-outofstock-dot);
}

.product-stock__icon--low-stock {
  color: var(--color-label-lowstock-dot);
}

/* 5.7. Product Page styled as Card
======================================================== */
.product-page[data-card="true"] .theme-section__container {
  padding-right: calc(var(--section-content-padding) * 2);
  padding-left: calc(var(--section-content-padding) * 2);
}

.product-page[data-card="true"] .theme-section__content {
  padding: calc(var(--section-content-padding) * 3) var(--section-content-padding) calc(var(--section-content-padding) * 3) var(--section-content-padding);
}

.product-page[data-card-border="true"] .theme-section__content {
  position: relative;
}

.product-page[data-card-border="true"] .theme-section__content::after {
  position: absolute;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  border: 1px solid var(--color-main);
  background: transparent;
  content: "";
  inset: 0;
  opacity: var(--product-page-border);
}