@import url("https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&family=DM+Sans:wght@300;400;500&display=swap");

:root {
  --mivia-bg: #F7F5EC;
  --mivia-bg-alt: #E9E4D8;
  --mivia-ink: #2B2C28;
  --mivia-muted: #6E7068;
  --mivia-line: #DAD5C8;
  --mivia-sage: #B8C2B7;
  --mivia-terracotta: #9EA197;
  --mivia-hover-cream: #E6E0D2;
  --mivia-control-on-dark: #2B2C28;
  --mivia-serif: "Playfair Display", Georgia, serif;
  --mivia-sans: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --mivia-img-gap: 6px;
  --mivia-section-gap: 34px;

  --color-body-background: var(--mivia-bg);
  --color-body-foreground: var(--mivia-ink);
  --color-product-background: var(--mivia-bg);
  --color-footer-background: var(--mivia-sage);
  --color-footer-foreground: var(--mivia-ink);
  --color-footer-link: var(--mivia-ink);
  --color-footer-border: rgba(43, 44, 40, .18);
  --theme-body-font: var(--mivia-sans);
  --theme-heading-font: var(--mivia-serif);
  --theme-menu-font: var(--mivia-sans);
}

html,
body {
  background: var(--mivia-bg) !important;
  color: var(--mivia-ink);
}

body,
button,
input,
select,
textarea {
  font-family: var(--mivia-sans);
  letter-spacing: 0;
}

body {
  font-weight: 400;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body .page-content,
body .main-content {
  background-color: var(--mivia-bg) !important;
}

body #page,
body .site,
body .site-content,
body .content-area,
body .site-main,
body .woocommerce,
body .elementor,
body .elementor-section,
body .elementor > .elementor-element,
body .elementor .e-con,
body .elementor .e-con-inner {
  background-color: var(--mivia-bg) !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
.elementor-heading-title {
  color: var(--mivia-ink);
  font-family: var(--mivia-serif);
  letter-spacing: 0;
}

a {
  color: var(--mivia-ink);
}

a:hover {
  color: var(--mivia-terracotta);
}

body .mivia-loop-gallery-arrows button,
body.single-product .mivia-product-gallery-arrows button,
body.single-product .mivia-lightbox-arrows button,
body.single-product .mivia-lightbox-close,
body button.mivia-loop-gallery-prev,
body button.mivia-loop-gallery-next,
body button.mivia-product-prev,
body button.mivia-product-next,
body button.mivia-lightbox-prev,
body button.mivia-lightbox-next,
body button.mivia-lightbox-close,
body .slick-nav,
body .slick-arrow,
body .slick-button,
body .hover-slider-arrow,
body .elementor-swiper-button,
body .swiper-button-prev,
body .swiper-button-next {
  border: 0 !important;
  border-radius: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
}

body .slick-nav svg,
body .slick-arrow svg,
body .slick-button svg,
body .hover-slider-arrow svg,
body .elementor-swiper-button svg,
body .swiper-button-prev svg,
body .swiper-button-next svg {
  color: currentColor !important;
  fill: none !important;
  stroke: currentColor !important;
}

body .mivia-loop-gallery-arrows button:hover,
body.single-product .mivia-product-gallery-arrows button:hover,
body.single-product .mivia-lightbox-arrows button:hover,
body.single-product .mivia-lightbox-close:hover,
body button.mivia-loop-gallery-prev:hover,
body button.mivia-loop-gallery-next:hover,
body button.mivia-product-prev:hover,
body button.mivia-product-next:hover,
body button.mivia-lightbox-prev:hover,
body button.mivia-lightbox-next:hover,
body button.mivia-lightbox-close:hover,
body .slick-nav:hover,
body .slick-arrow:hover,
body .slick-button:hover,
body .hover-slider-arrow:hover,
body .elementor-swiper-button:hover,
body .swiper-button-prev:hover,
body .swiper-button-next:hover {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
}

/* Audo-inspired header polish. CSS-only, no theme template changes. */
body .site-header,
body .site-header.header-transparent {
  --theme-header-height-desktop: 60px;
  --theme-header-height-mobile: 60px;
  position: sticky;
  top: 0;
  z-index: 1000;
  width: min(100%, 1758px) !important;
  max-width: 1758px !important;
  margin-right: auto !important;
  margin-left: auto !important;
  background: var(--mivia-bg) !important;
  color: var(--mivia-ink) !important;
  box-shadow: none !important;
}

body.admin-bar .site-header {
  top: 32px;
}

body .site-header::before,
body .site-header:not(.header-transparent)::before,
body .site-header.header-transparent::before {
  background: var(--mivia-bg) !important;
  border-bottom: 1px solid rgba(43, 44, 40, .12) !important;
  box-shadow: none !important;
  opacity: 1 !important;
}

body .site-header.header-transparent + .main-content {
  margin-top: 0 !important;
}

body .site-header .site-header-row {
  background: var(--mivia-bg) !important;
  height: var(--theme-header-height-mobile) !important;
  min-height: var(--theme-header-height-mobile) !important;
}

body .site-header .site-header-row .site-header-inner {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  max-width: none !important;
  height: var(--theme-header-height-mobile) !important;
  min-height: var(--theme-header-height-mobile) !important;
  gap: 24px !important;
  padding: 0 22px !important;
}

body .site-header .site-brand {
  display: inline-flex !important;
  flex: 0 0 auto;
  align-items: center;
  min-width: 0;
  color: var(--mivia-ink) !important;
  font-family: var(--mivia-serif);
  line-height: 1 !important;
  text-decoration: none !important;
}

body .site-header .site-brand img,
body .site-header .site-brand .site-brand-logo {
  display: block !important;
  width: auto !important;
  max-width: 210px !important;
  max-height: 32px !important;
  object-fit: contain;
}

body .site-header .site-brand .site-brand-logo.transparent {
  display: none !important;
}

body .site-header .site-nav {
  flex: 1 1 auto;
  min-width: 0;
}

body .site-header .site-nav .site-menu {
  display: flex !important;
  align-items: center;
  gap: 28px !important;
  margin: 0 !important;
}

body .site-header .site-nav .site-menu > li > a,
body .site-header .site-action-button .site-action-link,
body .site-header .site-action-label,
body .site-header .site-action-label p,
body .site-header .site-action-icon::before,
body .site-header .site-action-count {
  color: var(--mivia-ink) !important;
  font-family: var(--mivia-sans);
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase;
}

body .site-header .site-nav .site-menu > li > a {
  display: inline-flex !important;
  align-items: center !important;
  height: var(--theme-header-height-mobile) !important;
  padding: 0 !important;
}

body .site-header .site-nav .site-menu > li > a:hover,
body .site-header .site-action-button .site-action-link:hover {
  color: var(--mivia-terracotta) !important;
}

body .site-header .site-actions {
  display: flex !important;
  flex: 0 0 auto;
  align-items: center;
  justify-content: flex-end;
  gap: 24px !important;
  margin-left: auto;
}

body .site-header .site-action-button,
body .site-header .site-action-button .site-action-link {
  display: inline-flex !important;
  align-items: center;
  min-width: 0;
}

body .site-header .site-action-icon {
  display: inline-flex !important;
  align-items: center;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  font-size: 13px !important;
  line-height: 1 !important;
}

body .site-header .site-action-icon i,
body .site-header .site-action-icon svg {
  display: none !important;
}

body .site-header .search-toggle .site-action-icon::before {
  content: "Szukaj";
}

body .site-header .wishlist-toggle .site-action-icon::before {
  content: "Ulubione";
}

body .site-header .action-account .site-action-icon {
  display: none !important;
}

body .site-header .action-account .site-action-label {
  display: block !important;
}

body .site-header .action-account .site-action-label span {
  display: none !important;
}

body .site-header .action-account .site-action-label p {
  margin: 0 !important;
}

body .site-header .action-cart .site-action-icon {
  display: inline-flex !important;
  align-items: center;
  gap: 3px;
}

body .site-header .action-cart .site-action-icon::before {
  content: "Koszyk";
}

body .site-header .site-action-count,
body .site-header.header-transparent:not(:hover) .site-action-button .site-action-count {
  position: static !important;
  display: inline !important;
  min-width: 0 !important;
  width: auto !important;
  height: auto !important;
  padding: 0 !important;
  transform: none !important;
  background: transparent !important;
  color: var(--mivia-ink) !important;
  border-radius: 0 !important;
  font-family: var(--mivia-sans);
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
}

body .site-header .action-cart .site-action-count::before {
  content: "(";
}

body .site-header .action-cart .site-action-count::after {
  content: ")";
}

@media (min-width: 1024px) {
  body .site-header .site-header-row {
    height: var(--theme-header-height-desktop) !important;
    min-height: var(--theme-header-height-desktop) !important;
  }

  body .site-header .site-header-row .site-header-inner {
    height: var(--theme-header-height-desktop) !important;
    min-height: var(--theme-header-height-desktop) !important;
    gap: 32px !important;
    padding: 0 34px !important;
  }

  body .site-header .site-brand img,
  body .site-header .site-brand .site-brand-logo {
    max-height: 34px !important;
  }

  body .site-header .site-nav .site-menu > li > a {
    height: var(--theme-header-height-desktop) !important;
  }
}

@media (max-width: 782px) {
  body.admin-bar .site-header {
    top: 46px;
  }
}

@media (max-width: 1023px) {
  body .site-header .site-nav {
    display: none !important;
  }

  body .site-header .site-brand img,
  body .site-header .site-brand .site-brand-logo {
    max-height: 28px !important;
    max-width: 170px !important;
  }

  body .site-header .site-actions {
    gap: 16px !important;
  }
}

body.content-rounded::before,
body.content-rounded .main-content,
body.content-rounded .main-content::after,
.site-footer,
.site-footer *,
.site-footer input,
.site-footer button {
  border-radius: 0 !important;
}

body.content-rounded .main-content::after {
  background-color: var(--mivia-sage) !important;
}

.site-footer {
  --color-footer-background: var(--mivia-sage);
  --color-footer-foreground: var(--mivia-ink);
  --color-footer-link: var(--mivia-ink);
  --color-footer-border: rgba(43, 44, 40, .18);
  background: var(--mivia-sage) !important;
  color: var(--mivia-ink) !important;
  border-top: 1px solid rgba(43, 44, 40, .18);
  font-family: var(--mivia-sans);
  font-size: 14px;
  line-height: 1.55;
  margin-top: var(--mivia-section-gap);
  padding: 0;
}

.site-footer a,
.site-footer .footer-copyright .site-footer-inner .site-copyright a,
.site-footer .widget .widget-title,
.site-footer .mivia-footer-title,
.site-footer .footer-col h5 {
  color: var(--mivia-ink) !important;
}

.site-footer a {
  text-decoration: none;
  text-decoration-color: transparent;
  text-underline-offset: .28rem;
  transition: color .2s ease, opacity .2s ease, text-decoration-color .2s ease;
}

.site-footer a:hover {
  color: var(--mivia-terracotta) !important;
  text-decoration: underline;
  text-decoration-color: currentColor;
}

.site-footer .container,
.site-footer .site-footer-inner,
.site-footer .footer-cols,
.site-footer .footer-bottom,
.site-footer .mivia-footer-main > .container {
  max-width: 1340px;
  margin-right: auto;
  margin-left: auto;
}

.site-footer .container,
.site-footer .site-footer-inner,
.site-footer .footer-cols,
.site-footer .footer-brand,
.site-footer .footer-bottom,
.site-footer .mivia-footer-main > .container {
  padding-right: 40px;
  padding-left: 40px;
}

.site-footer .footer-widgets,
.site-footer .mivia-footer-main {
  padding: 72px 0 32px;
}

.site-footer .footer-cols,
.site-footer .mivia-footer-columns,
.site-footer .footer-widgets .site-footer-inner .row {
  display: grid !important;
  grid-template-columns: 1fr 1fr 1.4fr;
  gap: 52px;
  align-items: start;
  width: 100%;
  padding-bottom: 56px;
  border-bottom: 1px solid rgba(43, 44, 40, .18);
}

.site-footer .footer-widgets .site-footer-inner .row > * {
  width: auto !important;
  max-width: none !important;
  min-width: 0;
  padding: 0 !important;
}

.site-footer .footer-col,
.site-footer .mivia-footer-column,
.site-footer .widget {
  min-width: 0;
  margin: 0 !important;
}

.site-footer .footer-col h5,
.site-footer .mivia-footer-title,
.site-footer .widget .widget-title {
  margin: 0 0 20px;
  font-family: var(--mivia-sans);
  font-size: 12px !important;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.site-footer ul,
.site-footer .menu,
.site-footer .footer-col ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.site-footer li,
.site-footer .footer-col li {
  margin: 0 0 10px;
  padding: 0;
}

.site-footer .footer-col a,
.site-footer .mivia-footer-nav a,
.site-footer .widget_nav_menu a,
.site-footer .widget_text a,
.site-footer .site-copyright a {
  color: rgba(43, 44, 40, .82) !important;
  font-family: var(--mivia-sans);
  font-size: 14px !important;
  font-weight: 400;
  line-height: 1.55;
}

.site-footer .mivia-footer-nav {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
}

.site-footer .newsletter p,
.site-footer .mivia-footer-newsletter p,
.site-footer .privacy-text,
.site-footer .consent {
  max-width: 36ch;
  margin: 0 0 18px;
  color: rgba(43, 44, 40, .76) !important;
  font-family: var(--mivia-sans);
  font-size: 14px !important;
  line-height: 1.6;
}

.site-footer .newsletter .consent,
.site-footer .privacy-text {
  margin-top: 13px;
  font-size: 11px !important;
  line-height: 1.5;
  color: rgba(43, 44, 40, .65) !important;
}

.site-footer .newsletter-form,
.site-footer .mivia-newsletter-placeholder,
.site-footer .site-newsletter-form form .mc4wp-form-fields {
  display: flex !important;
  align-items: center;
  gap: 0;
  max-width: 360px;
  min-height: 0;
  height: auto;
  padding: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--mivia-ink) !important;
  background: transparent !important;
  box-shadow: none !important;
}

.site-footer .newsletter-form input,
.site-footer .mivia-newsletter-placeholder input,
.site-footer .site-newsletter-form form .mc4wp-form-fields input,
.site-footer .site-newsletter-form form input[type="email"],
.site-footer .site-newsletter-form form input[type="text"] {
  flex: 1 1 auto;
  min-width: 0;
  height: auto !important;
  padding: 10px 0 !important;
  border: 0 !important;
  outline: 0;
  background: transparent !important;
  color: var(--mivia-ink) !important;
  font-family: var(--mivia-sans);
  font-size: 14px !important;
  box-shadow: none !important;
}

.site-footer input::placeholder {
  color: rgba(43, 44, 40, .55) !important;
}

.site-footer .newsletter-form button,
.site-footer .mivia-newsletter-placeholder button,
.site-footer .site-newsletter-form form .mc4wp-form-fields button,
.site-footer .site-newsletter-form form input[type="submit"] {
  flex: 0 0 auto;
  height: auto !important;
  padding: 10px 0 10px 16px !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--mivia-ink) !important;
  font-family: var(--mivia-sans);
  font-size: 11px !important;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: .12em;
  text-transform: uppercase;
  box-shadow: none !important;
}

.site-footer .newsletter-form button:hover,
.site-footer .mivia-newsletter-placeholder button:hover,
.site-footer .site-newsletter-form form .mc4wp-form-fields button:hover,
.site-footer .site-newsletter-form form input[type="submit"]:hover {
  color: var(--mivia-terracotta) !important;
}

.site-footer .footer-brand,
.site-footer .mivia-footer-brand {
  text-align: center;
  margin: 0;
  padding-top: 48px;
  border-top: 0;
}

.site-footer .logo-sm,
.site-footer .mivia-footer-logo,
.site-footer .site-brand {
  color: var(--mivia-ink) !important;
  font-family: var(--mivia-serif);
  font-size: 28px !important;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.site-footer .company,
.site-footer .mivia-footer-company,
.site-footer .site-copyright {
  margin-top: 16px;
  color: rgba(43, 44, 40, .76) !important;
  font-family: var(--mivia-sans);
  font-size: 13px !important;
  line-height: 1.8;
}

.site-footer .mivia-footer-company p {
  margin: 0;
  color: inherit !important;
  font-size: inherit !important;
  line-height: inherit;
}

.site-footer .footer-bottom,
.site-footer .footer-copyright .site-footer-inner {
  display: flex !important;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 40px;
  padding-top: 22px;
  padding-bottom: 0;
  border-top: 1px solid rgba(43, 44, 40, .18) !important;
  color: rgba(43, 44, 40, .7) !important;
  font-family: var(--mivia-sans);
  font-size: 12px !important;
}

.site-footer .footer-bottom .legal,
.site-footer .footer-copyright .site-copyright,
.site-footer .footer-copyright .menu {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  align-items: center;
}

.site-footer .site-payment-cards {
  display: none !important;
}

@media (max-width: 1023px) {
  .site-footer .footer-cols,
  .site-footer .mivia-footer-columns,
  .site-footer .footer-widgets .site-footer-inner .row {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .site-footer .container,
  .site-footer .site-footer-inner,
  .site-footer .footer-cols,
  .site-footer .footer-brand,
  .site-footer .footer-bottom,
  .site-footer .mivia-footer-main > .container {
    padding-right: 20px;
    padding-left: 20px;
  }
}

/* Home: hero and two editorial tiles. Scoped to Elementor page 412 only. */
.elementor-412 .elementor-element-e338c88 {
  position: relative;
  display: block !important;
  width: 100%;
  max-width: none !important;
  aspect-ratio: 21 / 9;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 0 var(--mivia-img-gap) !important;
  padding: 0 !important;
  overflow: hidden;
  background: var(--mivia-bg-alt);
}

.elementor-412 .elementor-element-e338c88 > .elementor-widget-image,
.elementor-412 .elementor-element-e338c88 > .elementor-widget-image .elementor-widget-container {
  width: 100%;
  height: 100%;
  margin: 0 !important;
}

.elementor-412 .elementor-element-e338c88 img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
}

.elementor-412 .elementor-element-e338c88::before {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 42%;
  background: linear-gradient(to top, rgba(43, 44, 40, .38), rgba(43, 44, 40, 0));
  pointer-events: none;
  z-index: 1;
}

.elementor-412 .elementor-element-e338c88::after {
  content: none;
  display: none;
  position: absolute;
  right: 40px;
  bottom: 34px;
  left: 40px;
  z-index: 2;
  color: #F4F1E8;
  font-family: var(--mivia-serif);
  font-size: 46px;
  font-weight: 600;
  line-height: 1.05;
  letter-spacing: 0;
  text-shadow: 0 2px 14px rgba(0, 0, 0, .34);
  pointer-events: none;
}

.elementor-412 .elementor-element-8b62a35 {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: var(--mivia-img-gap) !important;
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  --grid-column-gap: var(--mivia-img-gap);
  --grid-row-gap: var(--mivia-img-gap);
}

.elementor-412 .elementor-element-8b62a35 > .elementor-element {
  min-width: 0;
  margin: 0 !important;
}

.elementor-412 .elementor-element-8b62a35 .site-banner {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 3;
  min-height: 0 !important;
  height: auto !important;
  overflow: hidden;
  background: var(--mivia-bg-alt);
  border-radius: 0 !important;
}

.elementor-412 .elementor-element-8b62a35 .site-banner > .site-banner-media {
  width: 100%;
  height: auto !important;
  aspect-ratio: 4 / 3;
}

.elementor-412 .elementor-element-8b62a35 .site-banner > .site-banner-media img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
}

.elementor-412 .elementor-element-8b62a35 .site-banner > .site-banner-content {
  padding: 0 !important;
}

.elementor-412 .elementor-element-8b62a35 .site-banner::before {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 46%;
  background: linear-gradient(to top, rgba(43, 44, 40, .36), rgba(43, 44, 40, 0));
  pointer-events: none;
  z-index: 2;
}

.elementor-412 .elementor-element-8b62a35 .site-banner::after {
  position: absolute;
  right: 34px;
  bottom: 30px;
  left: 34px;
  z-index: 3;
  color: #F4F1E8;
  font-family: var(--mivia-serif);
  font-size: 38px;
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: 0;
  text-shadow: 0 2px 14px rgba(0, 0, 0, .34);
  pointer-events: none;
}

.elementor-412 .elementor-element-cf4a67d .site-banner::after {
  content: "Odkryj kolekcję";
}

.elementor-412 .elementor-element-7a2981c .site-banner::after {
  content: "O nas";
}

@media (max-width: 1023px) {
  .elementor-412 .elementor-element-e338c88::after {
    right: 24px;
    bottom: 24px;
    left: 24px;
    font-size: 34px;
  }

  .elementor-412 .elementor-element-8b62a35 .site-banner::after {
    right: 22px;
    bottom: 20px;
    left: 22px;
    font-size: 28px;
  }
}

@media (max-width: 640px) {
  .elementor-412 .elementor-element-e338c88::after {
    font-size: 26px;
  }

  .elementor-412 .elementor-element-8b62a35 {
    grid-template-columns: 1fr !important;
  }
}

/* MIVIA refinement: homepage media blocks, excluding header/mega-menu. */
.elementor-412 > .e-con,
.elementor-412 .e-con {
  --content-width: 100%;
  --container-default-padding-top: 0;
  --container-default-padding-right: 0;
  --container-default-padding-bottom: 0;
  --container-default-padding-left: 0;
}

.elementor-412 .elementor-element-e338c88,
.elementor-412 .elementor-element-8b62a35,
.elementor-412 .elementor-element-1565864 {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-right: calc(50% - 50vw) !important;
  margin-left: calc(50% - 50vw) !important;
  padding: 0 !important;
}

.elementor-412 .elementor-element-e338c88 {
  aspect-ratio: 21 / 9;
  margin-top: var(--mivia-img-gap) !important;
  margin-bottom: 0 !important;
}

.elementor-412 .elementor-element-e338c88::before,
.elementor-412 .elementor-element-e338c88::after,
.elementor-412 .elementor-element-e338c88 > .elementor-background-overlay,
.elementor-412 .elementor-element-8b62a35 .site-banner::before,
.elementor-412 .elementor-element-8b62a35 .image-overlay::before,
.elementor-412 .elementor-element-1565864::before {
  content: none !important;
  display: none !important;
  background: none !important;
}

.elementor-412 .elementor-element-e338c88::after {
  display: none !important;
  right: 0;
  bottom: 40px;
  left: 0;
  text-align: center;
  font-size: clamp(30px, 3.4vw, 52px);
  font-weight: 600;
  line-height: 1.1;
  text-shadow: 0 1px 14px rgba(0, 0, 0, .25);
}

.elementor-412 .elementor-element-8b62a35 {
  margin-top: var(--mivia-img-gap) !important;
  margin-bottom: 0 !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: var(--mivia-img-gap) !important;
}

.elementor-412 .elementor-element-8b62a35 .site-banner {
  aspect-ratio: 4 / 3;
  display: grid;
  min-height: 0 !important;
  height: auto !important;
}

.elementor-412 .elementor-element-8b62a35 .site-banner > * {
  grid-column: 1;
  grid-row: 1;
}

.elementor-412 .elementor-element-8b62a35 .site-banner > .site-banner-media {
  height: 100% !important;
  aspect-ratio: 4 / 3;
}

.elementor-412 .elementor-element-8b62a35 .site-banner > .site-banner-media img {
  transition: transform .8s cubic-bezier(.2, .6, .2, 1);
}

.elementor-412 .elementor-element-8b62a35 .site-banner:hover > .site-banner-media img {
  transform: scale(1.03);
}

.elementor-412 .elementor-element-8b62a35 .site-banner .wrap-link {
  z-index: 5;
}

.elementor-412 .elementor-element-8b62a35 .site-banner::after {
  right: 0;
  bottom: 32px;
  left: 0;
  text-align: center;
  font-size: 30px;
  font-weight: 600;
  line-height: 1.1;
  text-shadow: 0 1px 14px rgba(0, 0, 0, .3);
  z-index: 4;
}

.elementor-412 .elementor-element-e318e2 {
  position: relative;
  z-index: 3;
  margin: 0 0 16px !important;
  padding: 0 !important;
}

.elementor-412 .elementor-element-e318e2 > .e-con-inner {
  display: flex !important;
  justify-content: center;
  width: 100%;
  max-width: none !important;
  min-height: 116px;
  padding: 54px 0 30px !important;
}

.elementor-412 .elementor-element-e318e2 .site-module-header {
  justify-content: center;
  text-align: center;
  width: 100%;
  margin: 0 auto !important;
  padding: 0 24px !important;
}

.elementor-412 .elementor-element-e318e2 .entry-title {
  margin: 0 !important;
  font-family: var(--mivia-serif);
  font-size: 26px;
  font-weight: 500;
  line-height: 1.2;
}

.elementor-412 .elementor-element-2766daa {
  width: 100%;
  margin: 0 !important;
  padding: 0 var(--mivia-img-gap) !important;
}

.elementor-412 .elementor-element-2766daa > .e-con-inner {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: var(--mivia-img-gap) !important;
  width: 100%;
  max-width: none !important;
  overflow-x: auto;
  scroll-behavior: smooth;
  scrollbar-width: none;
  padding: 0 !important;
}

.elementor-412 .elementor-element-2766daa > .e-con-inner::-webkit-scrollbar {
  display: none;
}

.elementor-412 .elementor-element-2766daa .mivia-cat-card,
.elementor-412 .elementor-element-2766daa > .e-con-inner > .e-con {
  position: relative;
  flex: 0 0 calc((100% - 3 * var(--mivia-img-gap)) / 4) !important;
  width: auto !important;
  min-width: 0;
  aspect-ratio: 3 / 4;
  overflow: hidden;
  background: var(--mivia-bg-alt);
}

.elementor-412 .elementor-element-2766daa .mivia-cat-card {
  display: block;
  color: inherit;
  cursor: pointer;
  text-decoration: none !important;
}

.elementor-412 .elementor-element-2766daa .mivia-cat-link {
  position: absolute;
  inset: 0;
  z-index: 3;
  display: block;
  overflow: hidden;
  color: transparent !important;
  text-decoration: none !important;
  text-indent: -9999px;
  background: transparent !important;
}

.elementor-412 .elementor-element-2766daa .mivia-cat-link:focus-visible {
  outline: 2px solid rgba(244, 241, 232, .95);
  outline-offset: -5px;
}

.elementor-412 .elementor-element-2766daa .mivia-cat-card.is-placeholder {
  border: 1px solid var(--mivia-line);
}

.elementor-412 .elementor-element-2766daa .mivia-cat-card.is-placeholder::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(135deg, transparent calc(50% - .5px), rgba(43, 44, 40, .12) calc(50% - .5px), rgba(43, 44, 40, .12) calc(50% + .5px), transparent calc(50% + .5px)),
    linear-gradient(45deg, transparent calc(50% - .5px), rgba(43, 44, 40, .08) calc(50% - .5px), rgba(43, 44, 40, .08) calc(50% + .5px), transparent calc(50% + .5px));
  pointer-events: none;
}

.elementor-412 .elementor-element-2766daa .mivia-cat-card.has-image::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, rgba(43, 44, 40, .34) 0%, rgba(43, 44, 40, .08) 42%, rgba(43, 44, 40, .08) 100%);
  pointer-events: none;
}

.elementor-412 .elementor-element-2766daa .mivia-cat-card img,
.elementor-412 .elementor-element-2766daa > .e-con-inner > .e-con img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  transition: transform .8s cubic-bezier(.2, .6, .2, 1);
}

.elementor-412 .elementor-element-2766daa .mivia-cat-card .elementor-widget-image,
.elementor-412 .elementor-element-2766daa .mivia-cat-card .elementor-widget-container {
  width: 100%;
  height: 100%;
  margin: 0 !important;
}

.elementor-412 .elementor-element-2766daa .mivia-cat-card:hover img,
.elementor-412 .elementor-element-2766daa > .e-con-inner > .e-con:hover img {
  transform: scale(1.04);
}

.elementor-412 .elementor-element-2766daa .mivia-cat-card::before {
  content: attr(data-mivia-label);
  position: absolute;
  top: 24px;
  right: 12px;
  left: 12px;
  z-index: 2;
  color: #F4F1E8;
  font-family: var(--mivia-serif);
  font-size: 23px;
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: .02em;
  text-align: center;
  text-shadow: 0 1px 14px rgba(0, 0, 0, .4);
  pointer-events: none;
}

.elementor-412 .mivia-cats-nav {
  display: flex;
  justify-content: flex-end;
  gap: 20px;
  width: 100%;
  padding: 14px 18px 0;
}

.elementor-412 .mivia-cats-nav button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: rgba(43, 44, 40, .72);
  font-family: var(--mivia-sans);
  font-size: 21px;
  font-weight: 400;
  line-height: 1;
  cursor: pointer;
  box-shadow: none !important;
  transition: color .2s ease, transform .2s ease;
}

.elementor-412 .mivia-cats-nav button:hover {
  background: transparent !important;
  color: var(--mivia-terracotta);
  transform: translateX(1px);
}

.elementor-412 .mivia-cats-nav .mivia-cats-prev:hover {
  transform: translateX(-1px);
}

.elementor-412 .elementor-element-1565864 {
  aspect-ratio: 21 / 9;
  margin-top: 18px !important;
  margin-bottom: 0 !important;
  overflow: hidden;
  background: var(--mivia-bg-alt);
}

.elementor-412 .elementor-element-1565864 .elementor-widget-image,
.elementor-412 .elementor-element-1565864 .elementor-widget-container {
  width: 100%;
  height: 100%;
}

.elementor-412 .elementor-element-1565864 img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
}

.elementor-412 .elementor-element-c6de52d {
  margin-top: var(--mivia-img-gap) !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.elementor-412 .elementor-element-c6de52d > .e-con-inner {
  align-items: center !important;
  gap: var(--mivia-img-gap) !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.elementor-412 .elementor-element-c6de52d .elementor-element-05fcea9 {
  display: flex !important;
  align-items: center;
  justify-content: center;
}

.elementor-412 .elementor-element-c6de52d .elementor-widget-text-editor,
.elementor-412 .elementor-element-c6de52d .elementor-widget-text-editor p {
  margin-bottom: 0 !important;
}

.elementor-412 .mivia-philosophy-copy {
  max-width: 38ch;
  margin: 0 auto;
  padding: 0 52px;
  text-align: center;
}

.elementor-412 .mivia-philosophy-copy h4 {
  margin: 0 0 20px;
  color: var(--mivia-ink);
  font-family: var(--mivia-serif);
  font-size: 28px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.elementor-412 .mivia-philosophy-copy h4.mivia-philosophy-footer-logo {
  display: block;
  width: 100%;
  color: var(--mivia-ink) !important;
  font-family: var(--mivia-serif) !important;
  font-size: 28px !important;
  font-weight: 500 !important;
  line-height: 1.2;
  letter-spacing: .14em;
  text-align: center !important;
  text-transform: uppercase;
}

.elementor-412 .mivia-philosophy-copy h4.mivia-philosophy-logo-heading {
  display: block;
  width: 100%;
  color: var(--mivia-ink) !important;
  font-family: var(--mivia-serif) !important;
  font-size: 0 !important;
  font-weight: 500 !important;
  line-height: 1.2;
  letter-spacing: .14em;
  text-align: center !important;
  text-transform: uppercase;
}

.elementor-412 .mivia-philosophy-copy h4.mivia-philosophy-logo-heading img {
  display: none !important;
}

.elementor-412 .mivia-philosophy-copy h4.mivia-philosophy-logo-heading::before {
  content: "MIVIA HOME";
  display: block;
  font-size: 28px;
}

.elementor-412 .mivia-philosophy-copy p {
  margin: 0;
  color: var(--mivia-muted);
  font-family: var(--mivia-sans);
  font-size: 15px;
  line-height: 1.75;
}

.elementor-412 .mivia-philosophy-copy a {
  display: inline-block;
  margin-top: 24px;
  padding-bottom: 3px;
  border-bottom: 1px solid var(--mivia-ink);
  color: var(--mivia-ink);
  font-family: var(--mivia-serif);
  font-size: 16px;
  font-style: italic;
  line-height: 1.2;
  text-decoration: none;
}

.elementor-412 .mivia-philosophy-copy a:hover {
  color: var(--mivia-terracotta);
  border-color: var(--mivia-terracotta);
}

.elementor-412 .elementor-element-d294381 {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--mivia-img-gap) !important;
}

.elementor-412 .elementor-element-d294381 > .e-con {
  aspect-ratio: 3 / 4;
  overflow: hidden;
  min-width: 0;
}

.elementor-412 .elementor-element-d294381 .elementor-widget-image,
.elementor-412 .elementor-element-d294381 .elementor-widget-container {
  width: 100%;
  height: 100%;
}

.elementor-412 .elementor-element-d294381 img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
}

.site-footer {
  margin-top: var(--mivia-img-gap) !important;
}

.site-footer .footer-brand,
.site-footer .mivia-footer-brand {
  display: block;
  width: 100%;
  text-align: center !important;
  margin: 0 auto;
  padding-top: 48px;
}

.site-footer .logo-sm,
.site-footer .mivia-footer-logo,
.site-footer .site-brand {
  display: block;
  width: 100%;
  text-align: center !important;
  font-size: 28px !important;
}

.site-footer .company,
.site-footer .mivia-footer-company {
  max-width: 760px;
  margin: 16px auto 0;
  text-align: center !important;
}

/* Controlled footer rebuilt by the plugin JS. */
.site-footer {
  margin-top: var(--mivia-img-gap) !important;
  padding: 72px 0 32px !important;
}

.site-footer .mivia-footer-shell {
  max-width: 1340px;
  margin: 0 auto;
  padding: 0 40px;
}

.site-footer .mivia-footer-columns {
  display: grid !important;
  grid-template-columns: 1fr 1fr 1.4fr;
  gap: 52px;
  align-items: start;
  width: 100%;
  padding: 0 0 56px;
  border-bottom: 1px solid rgba(43, 44, 40, .18);
}

.site-footer .mivia-footer-heading {
  margin: 0 0 20px;
  color: var(--mivia-ink) !important;
  font-family: var(--mivia-sans);
  font-size: 14px !important;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.site-footer .footer-col h5,
.site-footer .widget .widget-title,
.site-footer .mivia-footer-title {
  font-size: 14px !important;
}

.site-footer .mivia-footer-nav {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
}

.site-footer .mivia-footer-nav a {
  color: rgba(43, 44, 40, .82) !important;
  font-family: var(--mivia-sans);
  font-size: 14px !important;
  line-height: 1.55;
  text-decoration: none;
}

.site-footer .mivia-footer-nav a:hover {
  color: var(--mivia-terracotta) !important;
}

.site-footer .mivia-footer-newsletter {
  justify-self: stretch;
}

.site-footer .mivia-footer-newsletter p {
  max-width: 34ch;
  margin: 0 0 18px;
  color: rgba(43, 44, 40, .76) !important;
  font-family: var(--mivia-sans);
  font-size: 14px !important;
  line-height: 1.6;
}

.site-footer .mivia-footer-form {
  display: flex;
  align-items: center;
  max-width: 360px;
  border-bottom: 1px solid var(--mivia-ink);
}

.site-footer .mivia-footer-form input {
  flex: 1 1 auto;
  min-width: 0;
  height: auto !important;
  padding: 10px 0 !important;
  border: 0 !important;
  outline: 0;
  background: transparent !important;
  color: var(--mivia-ink) !important;
  font-family: var(--mivia-sans);
  font-size: 14px !important;
  box-shadow: none !important;
}

.site-footer .mivia-footer-form input::placeholder {
  color: rgba(43, 44, 40, .55) !important;
}

.site-footer .mivia-footer-form button {
  flex: 0 0 auto;
  height: auto !important;
  padding: 10px 0 10px 16px !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--mivia-ink) !important;
  font-family: var(--mivia-sans);
  font-size: 11px !important;
  font-weight: 500;
  letter-spacing: .12em;
  text-transform: uppercase;
  box-shadow: none !important;
  cursor: pointer;
}

.site-footer .mivia-footer-form button:hover {
  color: var(--mivia-terracotta) !important;
}

.site-footer .mivia-footer-consent {
  max-width: 36ch;
  margin: 13px 0 0 !important;
  color: rgba(43, 44, 40, .65) !important;
  font-family: var(--mivia-sans);
  font-size: 11px !important;
  line-height: 1.5 !important;
}

.site-footer .mivia-footer-brand {
  display: block;
  width: 100%;
  margin: 0 auto;
  padding-top: 48px;
  text-align: center !important;
}

.site-footer .mivia-footer-logo {
  display: block;
  width: 100%;
  color: var(--mivia-ink) !important;
  font-family: var(--mivia-serif);
  font-size: 28px !important;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: .14em;
  text-align: center !important;
  text-transform: uppercase;
}

.site-footer .mivia-footer-company {
  max-width: 760px;
  margin: 16px auto 0;
  color: rgba(43, 44, 40, .76) !important;
  font-family: var(--mivia-sans);
  font-size: 13px !important;
  line-height: 1.8;
  text-align: center !important;
}

.site-footer .mivia-footer-company p {
  margin: 0;
  color: inherit !important;
  font-size: inherit !important;
  line-height: inherit;
}

.site-footer .mivia-footer-copy {
  margin-top: 24px;
  padding-top: 22px;
  border-top: 1px solid rgba(43, 44, 40, .18);
  color: rgba(43, 44, 40, .7);
  font-family: var(--mivia-sans);
  font-size: 12px;
  line-height: 1.4;
  text-align: center;
}

/* Philosophy block alignment. */
.elementor-412 .elementor-element-c6de52d {
  margin-top: var(--mivia-img-gap) !important;
  width: 100%;
  max-width: none !important;
  padding: 0 !important;
}

.elementor-412 .elementor-element-c6de52d > .e-con-inner {
  display: grid !important;
  grid-template-columns: minmax(360px, 1fr) minmax(0, 2fr);
  align-items: center !important;
  gap: var(--mivia-img-gap) !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin-right: calc(50% - 50vw) !important;
  margin-left: calc(50% - 50vw) !important;
  padding: 0 !important;
}

.elementor-412 .elementor-element-c6de52d .elementor-element-05fcea9 {
  display: flex !important;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  min-width: 0;
  width: 100%;
}

.elementor-412 .elementor-element-c6de52d .elementor-element-31c5412 {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: none;
  min-width: 0;
}

.elementor-412 .mivia-philosophy-copy {
  box-sizing: border-box;
  width: 100%;
  max-width: 46ch;
  padding: 0 56px;
}

.elementor-412 .elementor-element-d294381 {
  align-self: center;
  width: 100%;
  min-width: 0;
}

.elementor-412 .elementor-element-d294381 > .e-con {
  aspect-ratio: 3 / 4;
  width: 100%;
  min-width: 0;
}

@media (max-width: 1023px) {
  .elementor-412 .elementor-element-1565864 {
    aspect-ratio: 21 / 9;
  }

  .elementor-412 .elementor-element-2766daa .mivia-cat-card,
  .elementor-412 .elementor-element-2766daa > .e-con-inner > .e-con {
    flex-basis: calc((100% - var(--mivia-img-gap)) / 2) !important;
  }

  .site-footer .mivia-footer-shell {
    padding-right: 20px;
    padding-left: 20px;
  }

  .site-footer .mivia-footer-columns {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .elementor-412 .elementor-element-c6de52d > .e-con-inner {
    grid-template-columns: 1fr;
  }

  .elementor-412 .mivia-philosophy-copy {
    max-width: 60ch;
    padding: 34px 24px;
  }
}

@media (max-width: 640px) {
  .elementor-412 .elementor-element-8b62a35 {
    grid-template-columns: 1fr !important;
  }

  .elementor-412 .elementor-element-2766daa .mivia-cat-card,
  .elementor-412 .elementor-element-2766daa > .e-con-inner > .e-con {
    flex-basis: 78% !important;
  }

  .elementor-412 .elementor-element-d294381 {
    grid-template-columns: 1fr;
  }
}

/* Targeted cream cleanup for collected white panels only. */
.cart-drawer .site-drawer-inner,
.cart-drawer .site-drawer-header,
.cart-drawer .site-drawer-body,
.site-drawer .site-mini-cart,
.site-drawer .site-mini-cart-inner,
.site-drawer .site-mini-cart-body,
.site-drawer .fl-mini-cart-content,
.site-drawer .site-empty-content,
.site-drawer .klb-cart-free-shipping,
.site-drawer .site-cart-notice,
.site-drawer .site-cart-notice-inner,
.site-drawer .site-mini-cart-row,
.site-drawer .site-drawer-body:has(.site-mini-cart),
.site-drawer .site-drawer-inner:has(.site-mini-cart),
.site-drawer .site-drawer-header:has(+ .site-drawer-body .site-mini-cart) {
  background-color: var(--mivia-bg) !important;
}

.search-drawer .site-drawer-inner,
.search-drawer .site-drawer-header,
.search-drawer .site-drawer-body,
.search-drawer .site-search-form,
.search-drawer .search-form,
.search-drawer .site-search-result {
  background-color: var(--mivia-bg) !important;
}

.woocommerce-breadcrumb,
.woocommerce-breadcrumb ul,
.woocommerce-breadcrumb li,
.woocommerce-products-header,
.before-shop-loop,
.woocommerce .content-area,
.woocommerce .site-main,
.woocommerce .content-wrapper,
.woocommerce .primary-column,
.shop-products-wrapper {
  background-color: var(--mivia-bg) !important;
}

/* Cart page: cream surfaces, no free-shipping promise. */
.woocommerce-cart .klb-free-shipping,
.woocommerce-cart .site-free-shipping,
.woocommerce-checkout .klb-free-shipping,
.woocommerce-checkout .site-free-shipping,
.site-drawer .klb-cart-free-shipping,
.site-drawer .site-cart-notice.klb-cart-free-shipping {
  display: none !important;
}

.woocommerce-cart .woocommerce-cart-wrapper,
.woocommerce-cart .cart-wrapper,
.woocommerce-cart .woocommerce-cart-form,
.woocommerce-cart .cart-collaterals,
.woocommerce-cart .woocommerce-cart-form table,
.woocommerce-cart .woocommerce-cart-form thead,
.woocommerce-cart .woocommerce-cart-form tbody,
.woocommerce-cart .woocommerce-cart-form tr,
.woocommerce-cart .woocommerce-cart-form th,
.woocommerce-cart .woocommerce-cart-form td,
.woocommerce-cart .woocommerce-cart-form .actions,
.woocommerce-cart .woocommerce-cart-form .actions-wrapper,
.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-cart .cart-collaterals .cart_totals table,
.woocommerce-cart .cart-collaterals .cart_totals tr,
.woocommerce-cart .cart-collaterals .cart_totals th,
.woocommerce-cart .cart-collaterals .cart_totals td {
  background: var(--mivia-bg) !important;
}

.woocommerce-cart .woocommerce-cart-wrapper .cart-wrapper {
  gap: clamp(22px, 2vw, 34px);
}

.woocommerce-cart .woocommerce-cart-wrapper .shop_table {
  border-color: var(--mivia-line) !important;
}

.woocommerce-cart .woocommerce-cart-wrapper .shop_table tr th,
.woocommerce-cart .woocommerce-cart-wrapper .shop_table tr td {
  border-color: var(--mivia-line) !important;
  color: var(--mivia-ink) !important;
  font-family: var(--mivia-sans) !important;
  font-size: 15px !important;
  line-height: 1.28 !important;
}

.woocommerce-cart .woocommerce-cart-wrapper .shop_table tr th {
  color: var(--mivia-muted) !important;
  font-weight: 500 !important;
}

.woocommerce-cart .woocommerce-cart-wrapper .shop_table tr td.product-thumbnail {
  width: 86px;
  max-width: 86px;
  padding-right: 16px;
}

.woocommerce-cart .woocommerce-cart-wrapper .shop_table tr td.product-thumbnail img {
  width: 72px !important;
  height: 72px !important;
  object-fit: cover !important;
}

.woocommerce-cart .woocommerce-cart-wrapper .shop_table tr td.product-name,
.woocommerce-cart .woocommerce-cart-wrapper .shop_table tr td.product-name a {
  max-width: none !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

.woocommerce-cart .woocommerce-cart-wrapper .shop_table tr td.product-name a {
  color: var(--mivia-ink) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.22 !important;
}

.woocommerce-cart .woocommerce-cart-wrapper .shop_table tr td.product-remove a {
  border-radius: 0 !important;
  background: var(--mivia-bg) !important;
  border-color: var(--mivia-line) !important;
  color: var(--mivia-ink) !important;
}

.woocommerce-cart .woocommerce-cart-wrapper .shop_table tr td.actions .actions-wrapper {
  gap: 6px 10px;
}

.woocommerce-cart .woocommerce-cart-wrapper .shop_table tr td.actions .actions-wrapper .coupon input {
  min-width: min(260px, 100%) !important;
  height: 40px !important;
  background: var(--mivia-bg) !important;
  border-color: var(--mivia-line) !important;
  color: var(--mivia-ink) !important;
}

.woocommerce-cart .woocommerce-cart-wrapper .shop_table tr td.actions .actions-wrapper .coupon button,
.woocommerce-cart .woocommerce-cart-wrapper .shop_table tr td.actions button[name=ts_empty_cart],
.woocommerce-cart .woocommerce-cart-wrapper .shop_table tr td.actions .empty-cart-button,
.woocommerce-cart .cart-collaterals .wc-proceed-to-checkout a {
  min-height: 0 !important;
  height: 40px !important;
  border-radius: 0 !important;
  background: var(--mivia-ink) !important;
  color: var(--mivia-bg) !important;
  font-family: var(--mivia-sans) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: .08em !important;
}

.woocommerce-cart .cart-collaterals .cart_totals {
  overflow: visible;
  border-color: var(--mivia-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: clamp(18px, 1.7vw, 28px) !important;
}

.woocommerce-cart .cart-collaterals .cart_totals > h2 {
  max-width: 100%;
  margin: 0 0 18px !important;
  color: var(--mivia-ink) !important;
  font-family: var(--mivia-serif) !important;
  font-size: clamp(26px, 2.2vw, 36px) !important;
  font-weight: 500 !important;
  line-height: 1.08 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  white-space: normal !important;
  overflow-wrap: anywhere;
  word-break: normal;
}

.woocommerce-cart .cart-collaterals .cart_totals .shop_table tr th,
.woocommerce-cart .cart-collaterals .cart_totals .shop_table tr td {
  padding: 10px 0 !important;
  border-color: var(--mivia-line) !important;
  color: var(--mivia-ink) !important;
  font-family: var(--mivia-sans) !important;
  font-size: 13px !important;
  line-height: 1.25 !important;
}

.woocommerce-cart .cart-collaterals .cart_totals .shop_table tr th {
  color: var(--mivia-muted) !important;
  font-weight: 500 !important;
}

.woocommerce-cart .cart-collaterals .cart_totals .shop_table tr td {
  font-weight: 500 !important;
  text-align: right !important;
}

.woocommerce .products .product,
.woocommerce .products .product .product-wrapper,
.woocommerce .products .product .product-wrapper.product-background,
.woocommerce .products .product .product-inner,
.woocommerce .products .product .product-thumbnail-wrapper,
.woocommerce .products .product .product-thumbnail,
.woocommerce .products .product .product-content-wrapper,
.woocommerce .products .product .product-content-header,
.woocommerce .products .product .product-content-footer,
.woocommerce .products .product .product-content-inner {
  background-color: var(--mivia-bg) !important;
}

.woocommerce .sidebar.secondary-column,
.woocommerce .sidebar.secondary-column .widget,
.woocommerce .sidebar.secondary-column .widget-body,
.woocommerce .sidebar.secondary-column .widget-checkbox-list,
.woocommerce .sidebar.secondary-column .price_slider_wrapper,
.woocommerce .sidebar.secondary-column .price_slider_amount,
.woocommerce .sidebar.secondary-column .price_slider_bottom {
  background-color: var(--mivia-bg) !important;
}

.woocommerce .empty-content,
.woocommerce .empty-content .empty-text,
.woocommerce .empty-content .entry-description,
.woocommerce .empty-content .woocommerce-info,
.woocommerce .site-empty-content,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-message,
.woocommerce ul.woocommerce-error {
  background-color: var(--mivia-bg) !important;
  border-color: var(--mivia-line) !important;
  border-radius: 0 !important;
}

.woocommerce .empty-content svg .fill-slate-100 {
  fill: var(--mivia-line) !important;
}

.woocommerce .empty-content svg .fill-slate-50 {
  fill: var(--mivia-bg) !important;
}

.woocommerce .empty-content svg .stroke-slate-300 {
  stroke: var(--mivia-line) !important;
}

/* Product listing: editorial 3:4 cards with gallery arrows. */
.woocommerce .products:not(.product-list) {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(230px, 340px)) !important;
  gap: clamp(16px, 1.8vw, 26px) !important;
  justify-content: start;
  align-items: start;
}

.woocommerce .products:not(.product-list).column-1,
.woocommerce .products:not(.product-list).column-2,
.woocommerce .products:not(.product-list).column-3,
.woocommerce .products:not(.product-list).column-4,
.woocommerce .products:not(.product-list).column-5,
.woocommerce .products:not(.product-list).column-6 {
  grid-template-columns: repeat(auto-fill, minmax(230px, 340px)) !important;
}

body.woocommerce-shop .content-wrapper > .sidebar.secondary-column,
body.post-type-archive-product .content-wrapper > .sidebar.secondary-column,
body.tax-product_cat .content-wrapper > .sidebar.secondary-column,
body.archive.woocommerce .content-wrapper > .sidebar.secondary-column {
  display: none !important;
}

body.woocommerce-shop .content-wrapper > .primary-column,
body.post-type-archive-product .content-wrapper > .primary-column,
body.tax-product_cat .content-wrapper > .primary-column,
body.archive.woocommerce .content-wrapper > .primary-column {
  flex: 0 0 100% !important;
  max-width: 100% !important;
  width: 100% !important;
}

body.woocommerce-shop .woocommerce .products:not(.product-list),
body.post-type-archive-product .woocommerce .products:not(.product-list),
body.tax-product_cat .woocommerce .products:not(.product-list),
body.archive.woocommerce .woocommerce .products:not(.product-list),
body.woocommerce-shop .woocommerce .products:not(.product-list).column-1,
body.woocommerce-shop .woocommerce .products:not(.product-list).column-2,
body.woocommerce-shop .woocommerce .products:not(.product-list).column-3,
body.woocommerce-shop .woocommerce .products:not(.product-list).column-4,
body.woocommerce-shop .woocommerce .products:not(.product-list).column-5,
body.woocommerce-shop .woocommerce .products:not(.product-list).column-6,
body.post-type-archive-product .woocommerce .products:not(.product-list).column-1,
body.post-type-archive-product .woocommerce .products:not(.product-list).column-2,
body.post-type-archive-product .woocommerce .products:not(.product-list).column-3,
body.post-type-archive-product .woocommerce .products:not(.product-list).column-4,
body.post-type-archive-product .woocommerce .products:not(.product-list).column-5,
body.post-type-archive-product .woocommerce .products:not(.product-list).column-6,
body.tax-product_cat .woocommerce .products:not(.product-list).column-1,
body.tax-product_cat .woocommerce .products:not(.product-list).column-2,
body.tax-product_cat .woocommerce .products:not(.product-list).column-3,
body.tax-product_cat .woocommerce .products:not(.product-list).column-4,
body.tax-product_cat .woocommerce .products:not(.product-list).column-5,
body.tax-product_cat .woocommerce .products:not(.product-list).column-6,
body.archive.woocommerce .woocommerce .products:not(.product-list).column-1,
body.archive.woocommerce .woocommerce .products:not(.product-list).column-2,
body.archive.woocommerce .woocommerce .products:not(.product-list).column-3,
body.archive.woocommerce .woocommerce .products:not(.product-list).column-4,
body.archive.woocommerce .woocommerce .products:not(.product-list).column-5,
body.archive.woocommerce .woocommerce .products:not(.product-list).column-6 {
  grid-template-columns: repeat(auto-fill, minmax(260px, 340px)) !important;
  justify-content: start !important;
}

.mivia-archive-toolbar {
  position: relative;
  z-index: 30;
  margin: 0 0 clamp(22px, 3vw, 38px);
  padding: 6px 0 4px;
  background: var(--mivia-bg) !important;
  color: var(--mivia-ink);
  font-family: var(--mivia-sans);
}

.mivia-archive-toolbar-controls {
  display: flex;
  align-items: center;
  gap: clamp(16px, 2vw, 28px);
  flex-wrap: wrap;
  min-height: 34px;
}

.mivia-archive-sort,
.mivia-archive-filter {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--mivia-ink);
  font-size: 15px;
  line-height: 1.25;
}

.mivia-archive-toolbar-label,
.mivia-archive-count .woocommerce-result-count {
  color: var(--mivia-muted) !important;
  font-family: var(--mivia-sans) !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
}

.mivia-archive-toolbar-divider {
  width: 1px;
  height: 28px;
  background: var(--mivia-line);
}

.mivia-archive-toolbar .woocommerce-ordering,
.mivia-archive-toolbar .woocommerce-ordering form,
.mivia-archive-toolbar .woocommerce-ordering select {
  margin: 0 !important;
}

.woocommerce .mivia-archive-toolbar .woocommerce-ordering select {
  min-height: 0 !important;
  height: auto !important;
  padding: 0 22px 0 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background-color: transparent !important;
  box-shadow: none !important;
  color: var(--mivia-ink) !important;
  font-family: var(--mivia-sans) !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.25 !important;
  cursor: pointer;
}

.mivia-archive-price-toggle {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--mivia-ink) !important;
  box-shadow: none !important;
  font-family: var(--mivia-sans) !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.25 !important;
  cursor: pointer;
}

.mivia-archive-chevron {
  display: inline-block;
  transform: translateY(-1px);
  color: var(--mivia-ink);
  font-size: 17px;
  line-height: 1;
}

.mivia-archive-price-toggle.is-open .mivia-archive-chevron {
  transform: translateY(-1px) rotate(180deg);
}

.mivia-archive-count {
  margin-top: 22px;
}

.mivia-archive-count .woocommerce-result-count {
  float: none !important;
  margin: 0 !important;
}

.mivia-archive-price-panel {
  position: absolute;
  left: min(380px, 36vw);
  top: calc(100% + 8px);
  z-index: 80;
  width: min(560px, calc(100vw - 40px));
  background: var(--mivia-bg) !important;
  border: 1px solid var(--mivia-line);
  box-shadow: 0 18px 40px rgba(43, 44, 40, .08);
}

.mivia-archive-price-panel[hidden] {
  display: none !important;
}

.mivia-archive-price-panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 20px 24px;
  border-bottom: 1px solid var(--mivia-line);
  color: var(--mivia-ink);
  font-family: var(--mivia-sans);
  font-size: 15px;
}

.mivia-archive-price-reset {
  color: var(--mivia-muted) !important;
  font-size: 14px;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.mivia-archive-price-reset:hover {
  color: var(--mivia-ink) !important;
}

.mivia-archive-price-panel form {
  margin: 0 !important;
  padding: 24px;
  background: var(--mivia-bg) !important;
}

.mivia-archive-price-panel .price_slider,
.mivia-archive-price-panel .ui-slider,
.mivia-archive-price-panel .price_label,
.mivia-archive-price-panel .clear {
  display: none !important;
}

.mivia-archive-price-panel .price_slider_amount,
.mivia-archive-price-panel .price_slider_bottom {
  display: flex !important;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  margin: 0 !important;
  padding: 0 !important;
  background: var(--mivia-bg) !important;
}

.mivia-archive-price-panel .price_slider_amount > .min-price {
  display: inline-flex !important;
  align-items: center;
  gap: 10px;
  margin: 0 !important;
}

.mivia-archive-price-panel .price_slider_amount > .min-price::before {
  content: "zł";
  color: var(--mivia-ink);
  font-family: var(--mivia-sans);
  font-size: 15px;
}

.mivia-archive-price-panel .price-placeholder,
.mivia-archive-price-panel .separator {
  display: none !important;
}

.mivia-archive-price-panel .price_slider_amount::before,
.mivia-archive-price-panel .price_slider_amount::after {
  display: none !important;
}

.woocommerce .mivia-archive-price-panel .price_slider_amount input,
.woocommerce .mivia-archive-price-panel input[name="min_price"],
.woocommerce .mivia-archive-price-panel input[name="max_price"] {
  width: 150px !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 12px 15px !important;
  border: 1px solid var(--mivia-line) !important;
  border-radius: 0 !important;
  background: rgba(247, 245, 236, .9) !important;
  box-shadow: none !important;
  color: var(--mivia-ink) !important;
  font-family: var(--mivia-sans) !important;
  font-size: 15px !important;
  line-height: 1.2 !important;
}

.woocommerce .mivia-archive-price-panel input[name="min_price"]:focus,
.woocommerce .mivia-archive-price-panel input[name="max_price"]:focus {
  border-color: var(--mivia-ink) !important;
  outline: 0 !important;
}

.mivia-archive-price-panel .price_slider_amount button,
.mivia-archive-price-panel .price_slider_amount .button,
.mivia-archive-price-panel button[type="submit"],
.mivia-archive-price-panel input[type="submit"] {
  min-height: 48px !important;
  margin: 0 !important;
  padding: 0 22px !important;
  border: 1px solid var(--mivia-line) !important;
  border-radius: 0 !important;
  background: var(--mivia-bg) !important;
  color: var(--mivia-ink) !important;
  box-shadow: none !important;
  font-family: var(--mivia-sans) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

.mivia-archive-price-panel .price_slider_amount button:hover,
.mivia-archive-price-panel .price_slider_amount .button:hover,
.mivia-archive-price-panel button[type="submit"]:hover,
.mivia-archive-price-panel input[type="submit"]:hover {
  border-color: var(--mivia-ink) !important;
  background: var(--mivia-bg-alt) !important;
}

@media (max-width: 767px) {
  body.woocommerce-shop .woocommerce .products:not(.product-list),
  body.post-type-archive-product .woocommerce .products:not(.product-list),
  body.tax-product_cat .woocommerce .products:not(.product-list),
  body.archive.woocommerce .woocommerce .products:not(.product-list),
  body.woocommerce-shop .woocommerce .products:not(.product-list).column-1,
  body.woocommerce-shop .woocommerce .products:not(.product-list).column-2,
  body.woocommerce-shop .woocommerce .products:not(.product-list).column-3,
  body.woocommerce-shop .woocommerce .products:not(.product-list).column-4,
  body.woocommerce-shop .woocommerce .products:not(.product-list).column-5,
  body.woocommerce-shop .woocommerce .products:not(.product-list).column-6,
  body.post-type-archive-product .woocommerce .products:not(.product-list).column-1,
  body.post-type-archive-product .woocommerce .products:not(.product-list).column-2,
  body.post-type-archive-product .woocommerce .products:not(.product-list).column-3,
  body.post-type-archive-product .woocommerce .products:not(.product-list).column-4,
  body.post-type-archive-product .woocommerce .products:not(.product-list).column-5,
  body.post-type-archive-product .woocommerce .products:not(.product-list).column-6,
  body.tax-product_cat .woocommerce .products:not(.product-list).column-1,
  body.tax-product_cat .woocommerce .products:not(.product-list).column-2,
  body.tax-product_cat .woocommerce .products:not(.product-list).column-3,
  body.tax-product_cat .woocommerce .products:not(.product-list).column-4,
  body.tax-product_cat .woocommerce .products:not(.product-list).column-5,
  body.tax-product_cat .woocommerce .products:not(.product-list).column-6,
  body.archive.woocommerce .woocommerce .products:not(.product-list).column-1,
  body.archive.woocommerce .woocommerce .products:not(.product-list).column-2,
  body.archive.woocommerce .woocommerce .products:not(.product-list).column-3,
  body.archive.woocommerce .woocommerce .products:not(.product-list).column-4,
  body.archive.woocommerce .woocommerce .products:not(.product-list).column-5,
  body.archive.woocommerce .woocommerce .products:not(.product-list).column-6 {
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr)) !important;
  }

  .mivia-archive-toolbar-controls {
    gap: 14px;
  }

  .mivia-archive-toolbar-divider {
    display: none;
  }

  .mivia-archive-price-panel {
    left: 0;
    width: 100%;
  }

  .woocommerce .mivia-archive-price-panel .price_slider_amount input,
  .woocommerce .mivia-archive-price-panel input[name="min_price"],
  .woocommerce .mivia-archive-price-panel input[name="max_price"] {
    width: calc(50% - 7px) !important;
  }
}

.woocommerce .products .product.mivia-loop-product-card {
  position: relative;
}

.woocommerce .products .product.mivia-loop-product-card .product-wrapper,
.woocommerce .products .product.mivia-loop-product-card .product-inner {
  position: relative;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.woocommerce .products .product.mivia-loop-product-card .product-thumbnail-wrapper {
  aspect-ratio: 3 / 4;
  overflow: hidden;
  background: var(--mivia-bg-alt) !important;
}

.woocommerce .products .product.mivia-loop-product-card .product-thumbnail,
.woocommerce .products .product.mivia-loop-product-card .product-thumbnail > a,
.woocommerce .products .product.mivia-loop-product-card .product-thumbnail .product-card-carousel,
.woocommerce .products .product.mivia-loop-product-card .hover-slider-viewport,
.woocommerce .products .product.mivia-loop-product-card .hover-gallery-slider,
.woocommerce .products .product.mivia-loop-product-card .hover-gallery-item {
  position: relative;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}

.woocommerce .products .product.mivia-loop-product-card .hover-slider-viewport {
  overflow: hidden;
}

.woocommerce .products .product.mivia-loop-product-card .hover-gallery-slider {
  transform: none !important;
}

.woocommerce .products .product.mivia-loop-product-card .hover-gallery-item {
  position: absolute !important;
  inset: 0;
  opacity: 0;
  transform: none !important;
  transition: opacity .28s ease;
}

.woocommerce .products .product.mivia-loop-product-card .hover-gallery-item.is-active,
.woocommerce .products .product.mivia-loop-product-card .hover-gallery-item:first-child:last-child {
  opacity: 1;
}

.woocommerce .products .product.mivia-loop-product-card .product-thumbnail img,
.woocommerce .products .product.mivia-loop-product-card .hover-gallery-item img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  object-position: center;
}

.woocommerce .products .product.mivia-loop-product-card .product-card-carousel + img,
.woocommerce .products .product.mivia-loop-product-card .product-card-carousel + .wp-post-image,
.woocommerce .products .product.mivia-loop-product-card .hover-slider-dots,
.woocommerce .products .product.mivia-loop-product-card .hover-slider-arrows,
.woocommerce .products .product.mivia-loop-product-card .product-thumbnail-wrapper > .product-buttons,
.woocommerce .products .product.mivia-loop-product-card .product-thumbnail-wrapper .product-cart-button,
.woocommerce .products .product.mivia-loop-product-card .product-thumbnail-wrapper .product-rating,
.woocommerce .products .product.mivia-loop-product-card .product-thumbnail-wrapper .product-badges,
.woocommerce .products .product.mivia-loop-product-card .product-content-header,
.woocommerce .products .product.mivia-loop-product-card .product-content-footer {
  display: none !important;
}

.woocommerce .products .product.mivia-loop-product-card .product-thumbnail .slick-nav,
.woocommerce .products .product.mivia-loop-product-card .product-thumbnail .slick-arrow,
.woocommerce .products .product.mivia-loop-product-card .product-thumbnail .slick-button,
.woocommerce .products .product.mivia-loop-product-card .product-thumbnail .hover-slider-arrow {
  width: 34px !important;
  height: 34px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--mivia-ink) !important;
}

.woocommerce .products .product.mivia-loop-product-card .product-thumbnail .slick-nav:hover,
.woocommerce .products .product.mivia-loop-product-card .product-thumbnail .slick-arrow:hover,
.woocommerce .products .product.mivia-loop-product-card .product-thumbnail .slick-button:hover,
.woocommerce .products .product.mivia-loop-product-card .product-thumbnail .hover-slider-arrow:hover {
  background: transparent !important;
  color: var(--mivia-ink) !important;
}

.woocommerce .products .product.mivia-loop-product-card .mivia-loop-gallery-arrows {
  position: absolute;
  right: 14px;
  left: 14px;
  top: auto;
  bottom: 14px;
  z-index: 5;
  display: flex;
  justify-content: space-between;
  transform: none;
  pointer-events: none;
}

.woocommerce .products .product.mivia-loop-product-card .mivia-loop-gallery-arrows button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  padding: 0;
  min-height: 0 !important;
  border: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  color: var(--mivia-ink) !important;
  font-family: var(--mivia-sans);
  font-size: 32px;
  font-weight: 200;
  line-height: 1;
  cursor: pointer;
  pointer-events: auto;
  transition: color .18s ease, transform .18s ease;
}

.woocommerce .products .product.mivia-loop-product-card .mivia-loop-gallery-arrows button:hover {
  background: transparent !important;
  background-color: transparent !important;
  color: var(--mivia-ink);
}

.woocommerce .products .product.mivia-loop-product-card .product-content-wrapper {
  position: static;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 4px 20px;
  align-items: start;
  padding: 10px 0 0 !important;
  background: var(--mivia-bg) !important;
}

.woocommerce .products .product.mivia-loop-product-card .product-content-inner {
  display: contents !important;
}

.woocommerce .products .product.mivia-loop-product-card .product-title {
  grid-column: 1;
  grid-row: 1;
  margin: 0 !important;
  color: var(--mivia-ink) !important;
  font-family: var(--mivia-serif) !important;
  font-size: clamp(18px, 1.35vw, 23px) !important;
  font-weight: 500 !important;
  line-height: 1.02 !important;
  letter-spacing: 0 !important;
}

.woocommerce .products .product.mivia-loop-product-card .product-title a {
  color: inherit !important;
  text-decoration: none !important;
  -webkit-line-clamp: 2;
}

.woocommerce .products .product.mivia-loop-product-card .product-brand {
  grid-column: 1;
  grid-row: 2;
  margin: 0 !important;
  color: var(--mivia-ink) !important;
  font-family: var(--mivia-sans) !important;
  font-size: 13px !important;
  line-height: 1.15 !important;
}

.woocommerce .products .product.mivia-loop-product-card .product-brand a {
  color: inherit !important;
  font-size: inherit !important;
  text-decoration: none !important;
}

.woocommerce .products .product.mivia-loop-product-card .price {
  grid-column: 2;
  grid-row: 1;
  margin: 4px 0 0 !important;
  color: var(--mivia-ink) !important;
  font-family: var(--mivia-sans) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  white-space: nowrap;
}

.woocommerce .products .product.mivia-loop-product-card .mivia-from-price,
body.single-product .single-product-detail .mivia-from-price {
  color: inherit !important;
  font: inherit !important;
  letter-spacing: 0 !important;
}

.woocommerce .products .product.mivia-loop-product-card .product-content-wrapper > .product-buttons {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 6;
  margin: 0 !important;
}

.woocommerce .products .product.mivia-loop-product-card .product-content-wrapper > .product-buttons a {
  width: 28px !important;
  height: 28px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--mivia-ink) !important;
  box-shadow: none !important;
}

.woocommerce-my-account,
.woocommerce-my-account .my-account-user,
.woocommerce-my-account .my-account-inner,
.woocommerce-my-account .my-account-navigation,
.woocommerce-my-account .my-account-navigation ul,
.woocommerce-my-account .my-account-navigation li,
.woocommerce-my-account .woocommerce-MyAccount-content,
.woocommerce-my-account .woocommerce-notices-wrapper {
  background-color: var(--mivia-bg) !important;
}

.woocommerce-my-account .my-account-navigation a,
.woocommerce-my-account .my-account-navigation li.is-active a,
.woocommerce-my-account .woocommerce-MyAccount-navigation a,
.woocommerce-my-account .woocommerce-MyAccount-navigation-link.is-active a {
  color: var(--mivia-ink) !important;
}

.woocommerce .woocommerce-my-account .my-account-inner .my-account-navigation ul li,
.woocommerce .woocommerce-my-account .my-account-inner .my-account-navigation ul li.is-active {
  background-color: var(--mivia-bg) !important;
  border-color: var(--mivia-line) !important;
  color: var(--mivia-ink) !important;
}

.woocommerce .woocommerce-my-account .my-account-inner .my-account-navigation ul li a,
.woocommerce .woocommerce-my-account .my-account-inner .my-account-navigation ul li.is-active a,
.woocommerce .woocommerce-my-account .my-account-inner .my-account-navigation ul li a[aria-current="page"] {
  color: var(--mivia-ink) !important;
}

.elementor-element-0bc77c9,
.elementor-element-0bc77c9 .elementor-widget-container,
.elementor-element-0bc77c9 .klb-address-box,
.elementor-element-0bc77c9 .klb-address-box ul,
.elementor-element-0bc77c9 .klb-address-box li,
.elementor-element-e4e38fc,
.elementor-element-d887a7d,
.elementor-element-d887a7d .elementor-widget-container,
.elementor-element-d887a7d .klb-address-box,
.elementor-element-d887a7d .klb-address-box ul,
.elementor-element-d887a7d .klb-address-box li,
.elementor-element-54675c7,
.elementor-element-54675c7 .elementor-social-icons-wrapper,
.elementor-element-c76cd61,
.elementor-element-c76cd61 .elementor-social-icons-wrapper,
.elementor-element-ac54bcd,
.elementor-element-86a2630,
.elementor-element-d704eca,
.elementor-element-ac54bcd .elementor-widget-container,
.elementor-element-ac54bcd .klb-contact-form,
.elementor-element-ac54bcd .contact-form-wrapper,
.elementor-element-ac54bcd .wpcf7,
.elementor-element-ac54bcd .wpcf7-form,
.elementor-element-d704eca .elementor-widget-container,
.elementor-element-d704eca .klb-contact-form,
.elementor-element-d704eca .contact-form-wrapper,
.elementor-element-d704eca .wpcf7,
.elementor-element-d704eca .wpcf7-form,
.elementor-1351 .elementor-element-29f5bd3,
.elementor-1351 .elementor-element-69b7919,
.elementor-1351 .elementor-element-d32ad34,
.elementor-1351 .elementor-element-3970498,
.elementor-1351 .elementor-element-c7847db,
.elementor-1351 .site-page-header,
.elementor-1351 .site-page-header .container,
.elementor-1351 .site-page-header-inner,
.elementor-1351 .elementor-element-2cbda94,
.elementor-1351 .elementor-element-9761366,
.elementor-1351 .elementor-element-2cbda94 > .e-con-inner,
.elementor-1351 .elementor-element-9761366 > .e-con-inner,
.elementor-1351 .elementor-element-93bcb54,
.elementor-1351 .elementor-element-93bcb54 > .e-con-inner,
.elementor-1351 .elementor-element-0afd978,
.elementor-1351 .elementor-element-3706bec {
  background-color: var(--mivia-bg) !important;
}

.elementor-element-54675c7 .elementor-social-icon,
.elementor-element-c76cd61 .elementor-social-icon {
  background-color: var(--mivia-bg) !important;
  color: var(--mivia-ink) !important;
  border-radius: 0 !important;
}

.site-drawer .woocommerce-Price-amount,
.site-drawer .woocommerce-Price-currencySymbol {
  color: var(--mivia-ink) !important;
}

.woocommerce .woocommerce-ordering select,
.woocommerce .sorting-per-page select,
.woocommerce .price_slider_amount input,
.woocommerce .sidebar.secondary-column input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
.woocommerce .sidebar.secondary-column select,
.search-drawer input[type="search"],
.elementor-element-ac54bcd .wpcf7 input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]),
.elementor-element-ac54bcd .wpcf7 textarea {
  background-color: var(--mivia-bg) !important;
  border: 1px solid var(--mivia-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: var(--mivia-ink) !important;
}

.woocommerce .woocommerce-ordering select:focus,
.woocommerce .sorting-per-page select:focus,
.woocommerce .price_slider_amount input:focus,
.search-drawer input[type="search"]:focus,
.elementor-element-ac54bcd .wpcf7 input:focus,
.elementor-element-ac54bcd .wpcf7 textarea:focus {
  border-color: var(--mivia-ink) !important;
  outline: 0 !important;
}

.woocommerce .mivia-archive-toolbar .woocommerce-ordering select,
.woocommerce .mivia-archive-toolbar .woocommerce-ordering select:focus,
.woocommerce .mivia-archive-toolbar .sorting-per-page select,
.woocommerce .mivia-archive-toolbar .sorting-per-page select:focus {
  border: 0 !important;
  background-color: transparent !important;
  box-shadow: none !important;
  outline: 0 !important;
}

/* Homepage category title spacing, independent from Elementor page ID. */
.elementor-element-e318e2 {
  display: block !important;
  position: relative !important;
  z-index: 20 !important;
  clear: both !important;
  margin: 42px 0 24px !important;
  padding: 0 !important;
  overflow: visible !important;
  background-color: var(--mivia-bg) !important;
}

.elementor-element-e318e2 > .e-con-inner {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 122px !important;
  padding: 38px 24px 30px !important;
  background-color: var(--mivia-bg) !important;
}

.elementor-element-242b423 {
  display: block !important;
  position: relative !important;
  z-index: 21 !important;
  width: 100% !important;
  max-width: none !important;
}

.elementor-element-242b423 .site-module-header {
  display: flex !important;
  justify-content: center !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
  text-align: center !important;
}

.elementor-element-242b423 .entry-title {
  margin: 0 !important;
  font-family: var(--mivia-serif) !important;
  font-size: 30px !important;
  font-weight: 500 !important;
  line-height: 1.15 !important;
}

.elementor-element-2766daa {
  position: relative !important;
  z-index: 1 !important;
  margin-top: 0 !important;
}

/* Header top-state height normalization: match sticky/scrolled compact state. */
html:root {
  --theme-header-height-mobile: 60px !important;
  --theme-header-height-desktop: 60px !important;
  --header-height-mobile: 60px !important;
  --header-height-desktop: 60px !important;
}

body .site-header,
body .site-header.header-type1,
body .site-header.header-type2,
body .site-header.header-transparent,
body .site-header.sticky-header {
  --theme-header-height-mobile: 60px !important;
  --theme-header-height-desktop: 60px !important;
  --header-height-mobile: 60px !important;
  --header-height-desktop: 60px !important;
}

body .site-header,
body .site-header.header-transparent,
body .site-header.sticky-header {
  height: 60px !important;
  min-height: 60px !important;
  max-height: 60px !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

body .site-header .site-header-row,
body .site-header.sticky-header .site-header-row {
  height: 60px !important;
  min-height: 60px !important;
  max-height: 60px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

body .site-header .site-header-row > .container {
  height: 60px !important;
  min-height: 60px !important;
  max-height: 60px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

body .site-header .site-header-row .site-header-inner,
body .site-header.sticky-header .site-header-row .site-header-inner {
  align-items: center !important;
  height: 60px !important;
  min-height: 60px !important;
  max-height: 60px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

body .site-header .site-header-row .site-header-inner .column,
body .site-header .site-brand,
body .site-header .site-brand a,
body .site-header .site-nav,
body .site-header .site-nav .site-menu,
body .site-header .site-nav .site-menu > li,
body .site-header .site-actions,
body .site-header .site-action-button,
body .site-header .site-action-button .site-action-link {
  align-items: center !important;
  min-height: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

body .site-header .site-nav .site-menu > li > a,
body .site-header .site-action-button .site-action-link {
  height: 60px !important;
  min-height: 60px !important;
  max-height: 60px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

body .site-header + .main-content,
body .site-header + #main.main-content,
body #page > .site-header + .main-content,
body #page > .site-header + #main.main-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body #masthead.site-header,
body header#masthead.site-header,
body header#masthead.site-header[style],
body header#masthead.site-header[style*="--header-height-desktop"] {
  --theme-header-height-mobile: 60px !important;
  --theme-header-height-desktop: 60px !important;
  --header-height-mobile: 60px !important;
  --header-height-desktop: 60px !important;
  box-sizing: border-box !important;
  height: 60px !important;
  min-height: 60px !important;
  max-height: 60px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  overflow: visible !important;
}

body #masthead.site-header .site-header-row,
body #masthead.site-header .site-header-row > .container,
body #masthead.site-header .site-header-row .site-header-inner,
body header#masthead.site-header[style*="--header-height-desktop"] .site-header-row,
body header#masthead.site-header[style*="--header-height-desktop"] .site-header-row > .container,
body header#masthead.site-header[style*="--header-height-desktop"] .site-header-row .site-header-inner {
  box-sizing: border-box !important;
  height: 60px !important;
  min-height: 60px !important;
  max-height: 60px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

body #masthead.site-header .site-brand,
body #masthead.site-header .site-brand a,
body #masthead.site-header .site-nav .site-menu > li > a,
body #masthead.site-header .site-action-button .site-action-link {
  height: 60px !important;
  min-height: 60px !important;
  max-height: 60px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

body #page > #masthead.site-header + #main.main-content,
body #page > header#masthead.site-header[style*="--header-height-desktop"] + #main.main-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body #page > #masthead.site-header:not(.sticky-header) + #main.main-content,
body #page > header#masthead.site-header:not(.sticky-header)[style*="--header-height-desktop"] + #main.main-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body #page > #masthead.site-header:not(.sticky-header) + #main.main-content > .elementor,
body #page > #masthead.site-header:not(.sticky-header) + #main.main-content > .elementor > .elementor-element:first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body #page > #masthead.site-header.sticky-header + #main.main-content {
  margin-top: 0 !important;
}

/* Category heading band: keep "Wybierz kategorię" clear of the product tiles. */
body .e-con:has(.elementor-element-242b423),
body .elementor-element-e318e2 {
  display: block !important;
  position: relative !important;
  z-index: 30 !important;
  clear: both !important;
  width: 100% !important;
  min-height: 15px !important;
  height: auto !important;
  margin: 18px 0 10px !important;
  padding: 0 !important;
  overflow: visible !important;
  background-color: var(--mivia-bg) !important;
}

body .e-con:has(.elementor-element-242b423) > .e-con-inner,
body .elementor-element-e318e2 > .e-con-inner {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 15px !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 24px !important;
  overflow: visible !important;
  background-color: var(--mivia-bg) !important;
}

body .elementor-element-242b423,
body .elementor-element-242b423 .elementor-widget-container,
body .elementor-element-242b423 .site-module-header,
body .elementor-element-242b423 .site-module-header .column {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
  z-index: 31 !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 15px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  text-align: center !important;
  background-color: var(--mivia-bg) !important;
}

body .elementor-element-242b423 .entry-title {
  display: block !important;
  position: relative !important;
  z-index: 32 !important;
  margin: 0 !important;
  padding: 0 !important;
  font-family: var(--mivia-serif) !important;
  font-size: 30px !important;
  font-weight: 400 !important;
  line-height: 1.18 !important;
  text-align: center !important;
  white-space: normal !important;
}

body .elementor-element-2766daa {
  position: relative !important;
  z-index: 1 !important;
  clear: both !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Contact page cleanup. */
body .elementor-element-54675c7,
body .elementor-element-c76cd61,
body .elementor-widget-social-icons,
body .elementor-social-icons-wrapper {
  display: none !important;
}

/* About page mockup transfer. Scoped to the current Elementor "O nas" page. */
body .elementor-1351 {
  background-color: var(--mivia-bg) !important;
}

body .mivia-about {
  box-sizing: border-box;
  width: 100%;
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 40px;
  background-color: var(--mivia-bg);
  color: var(--mivia-ink);
  font-family: var(--mivia-sans);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

body .mivia-about * {
  box-sizing: border-box;
}

body .mivia-about .opener {
  max-width: 680px;
  margin: 0 auto;
  padding: 40px 0 76px;
  text-align: center;
}

body .mivia-about .kicker {
  margin: 0 0 22px;
  color: var(--mivia-muted);
  font-family: var(--mivia-sans);
  font-size: 12px;
  font-weight: 400;
  letter-spacing: .24em;
  line-height: 1.2;
  text-transform: uppercase;
}

body .mivia-about .opener h1 {
  margin: 0 0 24px;
  color: var(--mivia-ink);
  font-family: var(--mivia-serif);
  font-size: clamp(34px, 4.4vw, 56px);
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.12;
}

body .mivia-about .opener p {
  max-width: 52ch;
  margin: 0 auto;
  color: var(--mivia-muted);
  font-family: var(--mivia-sans);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.85;
}

body .mivia-about .about-row {
  display: flex;
  align-items: center;
  gap: 60px;
  margin: 0 0 104px;
}

body .mivia-about .about-row > * {
  flex: 1 1 0;
  min-width: 0;
}

body .mivia-about .about-row:last-of-type {
  margin-bottom: 0;
}

body .mivia-about .about-row.is-flip {
  flex-direction: row-reverse;
}

body .mivia-about .about-figure {
  aspect-ratio: 3 / 4;
  margin: 0;
  overflow: hidden;
  background-color: var(--mivia-bg-alt);
}

body .mivia-about .about-figure img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

body .mivia-about .about-text {
  max-width: 40ch;
  margin: 0 auto;
  text-align: center;
}

body .mivia-about .about-text h2 {
  margin: 0 0 20px;
  color: var(--mivia-ink);
  font-family: var(--mivia-serif);
  font-size: clamp(24px, 2.4vw, 32px);
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.22;
}

body .mivia-about .about-text p {
  margin: 0;
  color: var(--mivia-muted);
  font-family: var(--mivia-sans);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.85;
}

body .mivia-about .closing {
  padding: 104px 0 40px;
  text-align: center;
}

body .mivia-about .closing p {
  max-width: 30ch;
  margin: 0 auto 24px;
  color: var(--mivia-ink);
  font-family: var(--mivia-serif);
  font-size: 23px;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.4;
}

body .mivia-about .closing a {
  display: inline-block;
  padding-bottom: 3px;
  border-bottom: 1px solid var(--mivia-ink);
  color: var(--mivia-ink);
  font-family: var(--mivia-serif);
  font-size: 16px;
  font-style: italic;
  font-weight: 400;
  line-height: 1.3;
  text-decoration: none;
}

body .mivia-about .closing a:hover {
  border-color: var(--mivia-terracotta);
  color: var(--mivia-terracotta);
}

@media (max-width: 768px) {
  body .mivia-about {
    padding: 0 22px;
  }

  body .mivia-about .opener {
    padding: 72px 0 56px;
  }

  body .mivia-about .about-row,
  body .mivia-about .about-row.is-flip {
    flex-direction: column;
    gap: 24px;
    margin-bottom: 72px;
  }

  body .mivia-about .about-text {
    max-width: none;
  }

  body .mivia-about .closing {
    padding: 72px 0 40px;
  }
}

body.mivia-about-page #page > #masthead.site-header + #main.main-content,
body.mivia-about-page #page > #masthead.site-header:not(.sticky-header) + #main.main-content,
body.mivia-about-page #page > header#masthead.site-header[style*="--header-height-desktop"] + #main.main-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.mivia-about-page .mivia-about .opener {
  padding-top: 72px !important;
}

/* Final background and header alignment override. Keep page cream identical to header. */
body,
body #page,
body .page-content,
body #main.main-content,
body .main-content,
body .site-content,
body .content-area,
body .site-main,
body .woocommerce,
body .elementor,
body .elementor-section,
body .elementor > .elementor-element,
body .elementor .e-con,
body .elementor .e-con-inner,
body .mivia-about {
  background-color: var(--mivia-bg) !important;
}

body #masthead.site-header,
body #masthead.site-header .site-header-row,
body #masthead.site-header .site-header-row > .container,
body #masthead.site-header .site-header-inner,
body .site-header,
body .site-header .site-header-row,
body .site-header .container {
  background-color: var(--mivia-bg) !important;
  background: var(--mivia-bg) !important;
}

body #page > #masthead.site-header + #main.main-content,
body #page > header#masthead.site-header + #main.main-content,
body #page > #masthead.site-header:not(.sticky-header) + #main.main-content,
body #page > header#masthead.site-header:not(.sticky-header) + #main.main-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body .mivia-about .opener {
  padding-top: 82px !important;
}

/* WooCommerce account headings: keep address titles calm and consistent. */
body.woocommerce-account .woocommerce-MyAccount-content h2,
body.woocommerce-account .woocommerce-Addresses .woocommerce-Address-title h2,
body.woocommerce-account .woocommerce-Address-title h2,
body.woocommerce-account .woocommerce-column__title {
  margin: 0 0 18px !important;
  color: var(--mivia-ink) !important;
  font-family: var(--mivia-serif) !important;
  font-size: clamp(24px, 2.4vw, 32px) !important;
  font-weight: 500 !important;
  line-height: 1.22 !important;
  letter-spacing: 0 !important;
}

body.woocommerce-account .woocommerce-Address-title a,
body.woocommerce-account .woocommerce-MyAccount-content .edit {
  font-family: var(--mivia-sans) !important;
  font-size: 15px !important;
  line-height: 1.4 !important;
}

/* Single product: Audo-inspired product page layout. */
body.single-product,
body.single-product #page,
body.single-product #main.main-content,
body.single-product .content-area,
body.single-product .site-main,
body.single-product .woocommerce {
  background: var(--mivia-bg) !important;
}

body.single-product #main.main-content > .container,
body.single-product .main-content > .container {
  width: 100% !important;
  max-width: none !important;
  padding-right: clamp(18px, 2vw, 34px) !important;
  padding-left: clamp(18px, 2vw, 34px) !important;
}

body.single-product,
body.single-product #page,
body.single-product .site,
body.single-product .site-content,
body.single-product .main-content {
  overflow-x: hidden;
}

body.single-product .woocommerce-breadcrumb {
  margin: 18px 0 30px !important;
  color: var(--mivia-muted) !important;
  font-family: var(--mivia-sans) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}

body.single-product .woocommerce-breadcrumb a {
  color: var(--mivia-muted) !important;
  text-decoration: none !important;
}

body.single-product div.product.single-product {
  max-width: 1500px;
  margin: 0 auto;
}

body.single-product .single-product-wrapper {
  display: grid !important;
  grid-template-columns: minmax(0, 768px) minmax(280px, 360px);
  gap: clamp(22px, 3vw, 42px);
  align-items: start;
  justify-content: start;
  margin: 0 0 52px !important;
}

body.single-product .single-product-wrapper > .column {
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
}

body.single-product .single-product-gallery {
  display: grid !important;
  grid-template-columns: 240px minmax(0, 520px);
  gap: 8px;
  align-items: start;
  justify-content: start;
  max-width: 768px;
  overflow-x: clip;
}

body.single-product .mivia-product-rail {
  display: grid;
  align-content: start;
  gap: 10px;
  width: 240px;
  height: min(693px, calc(100vh - 148px));
  max-height: min(693px, calc(100vh - 148px));
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  scrollbar-width: thin;
}

body.single-product .mivia-product-rail::-webkit-scrollbar:horizontal {
  display: none;
}

body.single-product .mivia-product-thumb,
body.single-product button.mivia-product-thumb:not(.slick-arrow):not(.btn-link),
body.single-product .single-product-gallery button.mivia-product-thumb {
  appearance: none;
  display: block;
  box-sizing: border-box;
  width: 240px !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 3 / 4;
  padding: 0;
  overflow: hidden;
  border: 1px solid transparent;
  border-radius: 0;
  background-color: transparent !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  box-shadow: none !important;
  color: inherit !important;
  cursor: pointer;
  filter: none !important;
  opacity: 1;
  transition: border-color .18s ease, opacity .18s ease;
}

body.single-product .mivia-product-thumb.is-active {
  border-color: rgba(43, 44, 40, .34);
  opacity: 1;
}

body.single-product .mivia-product-thumb:hover {
  opacity: 1;
}

body.single-product .mivia-product-thumb img {
  display: none !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}

body.single-product .single-product-gallery .woocommerce-product-gallery {
  position: relative;
  justify-self: start;
  width: min(100%, 520px, calc((100vh - 148px) * .75)) !important;
  max-width: 520px;
  aspect-ratio: 3 / 4;
  max-height: none;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
  background: var(--mivia-bg-alt) !important;
}

body.single-product .single-product-gallery .woocommerce-product-gallery.mivia-product-gallery-ready .woocommerce-product-gallery__wrapper,
body.single-product .single-product-gallery .woocommerce-product-gallery.mivia-product-gallery-ready .flex-viewport,
body.single-product .single-product-gallery .woocommerce-product-gallery.mivia-product-gallery-ready .woocommerce-product-gallery__trigger {
  display: none !important;
}

body.single-product .mivia-product-main-frame {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 3 / 4;
  overflow: hidden;
  background: var(--mivia-bg-alt);
  cursor: zoom-in;
}

body.single-product .mivia-product-main-frame img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  object-fit: cover !important;
  object-position: center !important;
}

body.single-product .single-product-gallery .woocommerce-product-gallery__wrapper,
body.single-product .single-product-gallery .flex-viewport {
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  background: var(--mivia-bg-alt) !important;
}

body.single-product .single-product-gallery .woocommerce-product-gallery__image,
body.single-product .single-product-gallery .woocommerce-product-gallery__image a,
body.single-product .single-product-gallery .woocommerce-product-gallery__wrapper > * {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}

body.single-product .single-product-gallery .woocommerce-product-gallery__image img,
body.single-product .single-product-gallery .woocommerce-product-gallery__wrapper img,
body.single-product .single-product-gallery .flex-viewport img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0;
  object-fit: cover;
  object-position: center;
}

body.single-product .single-product-gallery .flex-control-nav,
body.single-product .single-product-gallery .product-thumbnails-wrapper {
  display: none !important;
}

body.single-product .mivia-product-gallery-arrows {
  position: absolute;
  right: 16px;
  bottom: 14px;
  z-index: 4;
  display: inline-flex;
  align-items: center;
  gap: 18px;
}

body.single-product .mivia-product-gallery-arrows button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  padding: 0;
  min-height: 0 !important;
  border: 0 !important;
  border-radius: 0;
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  color: var(--mivia-control-on-dark);
  font-family: var(--mivia-sans);
  font-size: 25px;
  font-weight: 300;
  line-height: 1;
  cursor: pointer;
}

body.single-product .mivia-product-gallery-arrows button:hover {
  background: transparent !important;
  background-color: transparent !important;
  color: var(--mivia-ink);
}

body.mivia-lightbox-open {
  overflow: hidden !important;
}

body.single-product .mivia-gallery-lightbox {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: none;
  grid-template-columns: clamp(190px, 13vw, 260px) minmax(0, 1fr);
  gap: clamp(28px, 4vw, 76px);
  width: 100vw;
  height: 100vh;
  padding: clamp(24px, 2.6vw, 50px);
  overflow: hidden;
  background: var(--mivia-bg) !important;
  background-color: var(--mivia-bg) !important;
  color: var(--mivia-ink);
}

body.single-product .mivia-gallery-lightbox.is-open {
  display: grid;
}

body.single-product .mivia-lightbox-rail {
  display: grid;
  align-content: start;
  gap: 10px;
  width: 100%;
  height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: none;
  background: var(--mivia-bg) !important;
}

body.single-product .mivia-lightbox-rail::-webkit-scrollbar {
  width: 0;
  height: 0;
}

body.single-product .mivia-lightbox-thumb {
  appearance: none;
  display: block;
  width: 100% !important;
  aspect-ratio: 3 / 4;
  padding: 0;
  overflow: hidden;
  border: 1px solid transparent;
  border-radius: 0;
  background-color: var(--mivia-bg) !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  box-shadow: none !important;
  filter: none !important;
  opacity: 1 !important;
  cursor: pointer;
}

body.single-product .mivia-lightbox-thumb.is-active {
  border-color: rgba(43, 44, 40, .42);
}

body.single-product .mivia-lightbox-stage {
  display: flex;
  align-items: center;
  justify-content: center;
  justify-self: center;
  width: min(100%, 880px);
  height: 100%;
  min-height: 0;
  background: var(--mivia-bg) !important;
  background-color: var(--mivia-bg) !important;
}

body.single-product .mivia-lightbox-stage img {
  display: block;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  object-position: center;
}

body.single-product .mivia-lightbox-close,
body.single-product button.mivia-lightbox-close.no-style {
  position: absolute;
  top: clamp(18px, 2vw, 42px);
  right: clamp(20px, 2.4vw, 52px);
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  padding: 0;
  border: 0;
  min-height: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  color: var(--mivia-ink);
  box-shadow: none !important;
  font-family: var(--mivia-sans);
  font-size: 34px;
  font-weight: 200;
  line-height: 1;
  cursor: pointer;
}

body.single-product .mivia-lightbox-close:hover,
body.single-product button.mivia-lightbox-close.no-style:hover {
  background: transparent !important;
  background-color: transparent !important;
  color: var(--mivia-ink);
}

body.single-product .mivia-lightbox-arrows {
  position: absolute;
  right: clamp(28px, 3.2vw, 64px);
  bottom: clamp(22px, 2.6vw, 46px);
  z-index: 2;
  display: inline-flex;
  gap: 18px;
}

body.single-product .mivia-lightbox-arrows button,
body.single-product .mivia-lightbox-arrows button.no-style {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 54px;
  height: 54px;
  padding: 0;
  border: 0;
  border-radius: 0;
  min-height: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  color: var(--mivia-ink);
  box-shadow: none !important;
  font-family: var(--mivia-sans);
  font-size: 30px;
  font-weight: 300;
  line-height: 1;
  cursor: pointer;
}

body.single-product .mivia-lightbox-arrows button:hover,
body.single-product .mivia-lightbox-arrows button.no-style:hover {
  background: transparent !important;
  background-color: transparent !important;
  color: var(--mivia-ink);
}

body.single-product .single-product-detail {
  align-self: stretch;
}

body.single-product .single-product-detail .product-detail-inner {
  position: sticky;
  top: 74px;
  display: flex;
  min-height: min(500px, calc(100vh - 104px));
  flex-direction: column;
  padding: 4px 0 0;
}

body.single-product .single-product-detail .product-brand {
  margin: 0 0 12px !important;
}

body.single-product .single-product-detail .product-brand a {
  color: var(--mivia-muted) !important;
  font-family: var(--mivia-sans) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-decoration: none !important;
}

body.single-product .single-product-detail .product_title {
  margin: 0 0 18px !important;
  color: var(--mivia-ink) !important;
  font-family: var(--mivia-serif) !important;
  font-size: clamp(34px, 3vw, 48px) !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  line-height: .98 !important;
}

body.single-product .single-product-detail .product-meta,
body.single-product .single-product-detail .product_meta {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

body.single-product .single-product-detail .product-meta .product-sku,
body.single-product .single-product-detail .product_meta .product-sku,
body.single-product .single-product-detail .product_meta .tagged_as,
body.single-product .single-product-detail .product-ean,
body.single-product .single-product-detail .woocommerce-product-details__short-description {
  display: none !important;
}

body.single-product .single-product-detail .product-price-wrapper {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: 0 0 26px !important;
  padding: 18px 0 !important;
  border-top: 1px solid var(--mivia-line);
  border-bottom: 1px solid var(--mivia-line);
}

body.single-product .single-product-detail .product-price-wrapper .price,
body.single-product .single-product-detail .product-price-wrapper .amount,
body.single-product .single-product-detail .product-price-wrapper bdi {
  color: var(--mivia-ink) !important;
  font-family: var(--mivia-sans) !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  line-height: 1.3 !important;
}

body.single-product .single-product-wrapper .product-stock {
  display: block !important;
  margin: 0 !important;
  color: var(--mivia-ink) !important;
  font-family: var(--mivia-sans) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  text-align: right;
}

body.single-product .single-product-detail form.variations_form {
  display: block !important;
}

body.single-product .single-product-detail form.cart table.variations,
body.single-product .single-product-detail form.cart table.variations tbody,
body.single-product .single-product-detail form.cart table.variations tr,
body.single-product .single-product-detail form.cart table.variations th,
body.single-product .single-product-detail form.cart table.variations td {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

body.single-product .single-product-detail form.cart table.variations {
  margin: 0 0 24px !important;
}

body.single-product .single-product-detail form.cart table.variations tr + tr {
  margin-top: 18px !important;
}

body.single-product .single-product-detail form.cart table.variations label,
body.single-product .single-product-detail form.cart table.variations .label,
body.single-product .single-product-detail .klbtheme-small-title {
  display: block !important;
  margin: 0 0 8px !important;
  color: var(--mivia-ink) !important;
  font-family: var(--mivia-serif) !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
}

body.single-product .single-product-detail form.cart table.variations .selected-value {
  color: var(--mivia-ink) !important;
  font-style: italic;
}

body.single-product .single-product-detail .klbtheme-terms,
body.single-product .single-product-detail .mivia-variation-buttons {
  display: flex !important;
  flex-wrap: wrap;
  gap: 7px;
  align-items: center;
}

body.single-product .single-product-detail .klbtheme-term,
body.single-product .single-product-detail .mivia-variation-button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 50px;
  min-height: 38px;
  margin: 0 !important;
  padding: 0 13px !important;
  border: 1px solid var(--mivia-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--mivia-ink) !important;
  font-family: var(--mivia-sans) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  cursor: pointer;
  box-shadow: none !important;
}

body.single-product .single-product-detail .klbtheme-type-color .klbtheme-term,
body.single-product .single-product-detail .klbtheme-type-image .klbtheme-term {
  width: 50px;
  height: 38px;
  min-width: 50px;
  padding: 2px !important;
  overflow: hidden;
  color: transparent !important;
  text-indent: -9999px;
}

body.single-product .single-product-detail .klbtheme-type-image .klbtheme-term img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

body.single-product .single-product-detail .klbtheme-term.klbtheme-selected,
body.single-product .single-product-detail .mivia-variation-button.is-selected {
  border-color: var(--mivia-ink) !important;
  box-shadow: inset 0 0 0 1px var(--mivia-ink) !important;
}

body.single-product .single-product-detail .mivia-native-variation-select,
body.single-product .single-product-detail .klbtheme-terms + select:not(.klbtheme-select) {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
}

body.single-product .single-product-detail .reset_variations {
  display: inline-block !important;
  margin-top: 12px !important;
  color: var(--mivia-muted) !important;
  font-family: var(--mivia-sans) !important;
  font-size: 13px !important;
  text-decoration: underline !important;
}

body.single-product.mivia-configurable-product .single-product-detail form.cart table.variations {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
}

body.single-product.mivia-configurable-product .single-product-detail form.cart .woocommerce-variation-price,
body.single-product.mivia-configurable-product .single-product-detail form.cart .woocommerce-variation-description,
body.single-product.mivia-configurable-product .single-product-detail form.cart .woocommerce-variation-availability {
  display: none !important;
}

body.single-product .mivia-configurator {
  display: grid;
  gap: 24px;
  margin: 0 0 26px;
  padding: 0 0 24px;
  border-bottom: 1px solid var(--mivia-line);
}

body.single-product .mivia-config-block {
  display: grid;
  gap: 12px;
}

body.single-product .mivia-config-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
}

body.single-product .mivia-config-heading h3 {
  margin: 0 !important;
  color: var(--mivia-ink) !important;
  font-family: var(--mivia-serif) !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
}

body.single-product .mivia-config-options {
  display: grid;
  gap: 10px;
}

body.single-product .mivia-config-options-two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.single-product .mivia-config-option {
  position: relative;
  display: grid !important;
  grid-template-columns: 1fr;
  gap: 2px;
  min-height: 58px;
  margin: 0 !important;
  padding: 10px 16px !important;
  border: 1px solid var(--mivia-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--mivia-ink) !important;
  box-shadow: none !important;
  cursor: pointer;
}

body.single-product .mivia-config-option span {
  display: block;
  font-family: var(--mivia-sans) !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.1 !important;
}

body.single-product .mivia-config-option small {
  color: var(--mivia-muted) !important;
  font-family: var(--mivia-sans) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1.1 !important;
}

body.single-product .mivia-config-option.is-selected,
body.single-product .mivia-config-fabric-choice.is-selected,
body.single-product .mivia-fabric-drawer-choice.is-selected .mivia-fabric-drawer-sample {
  border-color: var(--mivia-ink) !important;
  box-shadow: inset 0 0 0 1px var(--mivia-ink) !important;
}

body.single-product .mivia-config-option.is-selected::after,
body.single-product .mivia-config-fabric-choice.is-selected::after,
body.single-product .mivia-fabric-drawer-choice.is-selected .mivia-fabric-drawer-sample::after {
  content: "✓";
  position: absolute;
  right: 0;
  bottom: 0;
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  background: var(--mivia-ink);
  color: #fff;
  font-family: var(--mivia-sans);
  font-size: 14px;
  line-height: 1;
}

body.single-product .mivia-config-fabric-row {
  display: grid;
  grid-template-columns: repeat(3, 58px) 72px;
  gap: 9px;
  align-items: stretch;
}

body.single-product .mivia-config-fabric-choice,
body.single-product .mivia-config-fabric-more {
  position: relative;
  width: 58px;
  height: 58px;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid var(--mivia-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--mivia-ink) !important;
  box-shadow: none !important;
  overflow: hidden;
  cursor: pointer;
}

body.single-product .mivia-config-fabric-more {
  width: 72px;
  display: grid !important;
  place-items: center;
  font-family: var(--mivia-sans) !important;
  font-size: 15px !important;
  font-weight: 400 !important;
}

body.single-product .mivia-config-fabric-sample {
  display: block;
  width: 100%;
  height: 100%;
}

body.single-product .mivia-config-selected-fabric {
  margin: 0 !important;
  color: var(--mivia-ink) !important;
  font-family: var(--mivia-sans) !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
}

body.mivia-fabric-drawer-open {
  overflow: hidden;
}

.mivia-fabric-drawer-shell {
  position: fixed;
  inset: 0;
  z-index: 100020;
  display: none;
}

.mivia-fabric-drawer-shell.is-open {
  display: block;
}

.mivia-fabric-drawer-backdrop {
  position: absolute !important;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: rgba(43, 44, 40, .18) !important;
  box-shadow: none !important;
  cursor: pointer;
}

.mivia-fabric-drawer {
  position: absolute;
  top: 0;
  right: 0;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  width: min(50vw, 720px);
  min-width: 520px;
  height: 100vh;
  background: var(--mivia-bg);
  color: var(--mivia-ink);
  box-shadow: -20px 0 60px rgba(43, 44, 40, .12);
}

.mivia-fabric-drawer-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 28px 30px 18px;
  border-bottom: 1px solid var(--mivia-line);
}

.mivia-fabric-drawer-header h3 {
  margin: 0 !important;
  color: var(--mivia-ink) !important;
  font-family: var(--mivia-serif) !important;
  font-size: 30px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
}

.mivia-fabric-drawer-close {
  color: var(--mivia-ink) !important;
  font-family: var(--mivia-sans) !important;
  font-size: 28px !important;
  line-height: 1 !important;
}

.mivia-fabric-drawer-body {
  overflow-y: auto;
  padding: 24px 30px 36px;
}

.mivia-fabric-group {
  padding: 0 0 28px;
  border-bottom: 1px solid var(--mivia-line);
}

.mivia-fabric-group + .mivia-fabric-group {
  padding-top: 28px;
}

.mivia-fabric-group-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 10px;
}

.mivia-fabric-group-header h4 {
  margin: 0 !important;
  color: var(--mivia-ink) !important;
  font-family: var(--mivia-sans) !important;
  font-size: 22px !important;
  font-weight: 500 !important;
  line-height: 1.15 !important;
}

.mivia-fabric-info {
  color: var(--mivia-ink) !important;
  font-family: var(--mivia-sans) !important;
  font-size: 14px !important;
  text-decoration: underline !important;
}

.mivia-fabric-details {
  display: grid;
  gap: 4px;
  margin: 0 0 16px !important;
  padding: 0 !important;
  list-style: none !important;
}

.mivia-fabric-details li {
  color: var(--mivia-muted) !important;
  font-family: var(--mivia-sans) !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
}

.mivia-fabric-swatches {
  display: flex;
  gap: 14px;
  overflow-x: auto;
  padding-bottom: 12px;
  scrollbar-width: thin;
}

.mivia-fabric-drawer-choice {
  flex: 0 0 118px;
  display: grid !important;
  gap: 8px;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--mivia-ink) !important;
  box-shadow: none !important;
  text-align: left;
  cursor: pointer;
}

.mivia-fabric-drawer-sample {
  position: relative;
  display: block;
  aspect-ratio: 1 / 1;
  width: 118px;
  border: 1px solid transparent;
  background: var(--mivia-bg-alt);
}

.mivia-fabric-drawer-label {
  display: block;
  color: var(--mivia-ink);
  font-family: var(--mivia-sans);
  font-size: 14px;
  line-height: 1.2;
}

body.single-product .single-product-detail form.cart {
  display: grid !important;
  grid-template-columns: 112px minmax(0, 1fr);
  gap: 10px !important;
  align-items: stretch;
  margin: 0 0 26px !important;
}

body.single-product .single-product-detail form.cart .quantity {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 112px !important;
  height: 50px !important;
  margin: 0 !important;
  border: 1px solid var(--mivia-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
}

body.single-product .single-product-detail form.cart .quantity input.qty {
  width: 42px !important;
  height: 48px !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--mivia-ink) !important;
  font-family: var(--mivia-sans) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  text-align: center !important;
}

body.single-product .single-product-detail form.cart .quantity .quantity-button,
body.single-product .single-product-detail form.cart .quantity .minus,
body.single-product .single-product-detail form.cart .quantity .plus {
  color: var(--mivia-muted) !important;
  background: transparent !important;
  border: 0 !important;
}

body.single-product .single-product-detail form.cart .single_add_to_cart_button {
  display: flex !important;
  align-items: center;
  justify-content: center;
  min-height: 50px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 22px !important;
  border: 1px solid var(--mivia-ink) !important;
  border-radius: 0 !important;
  background: var(--mivia-ink) !important;
  color: #fff !important;
  font-family: var(--mivia-sans) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: .16em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
}

body.single-product .single-product-detail form.cart.variations_form {
  display: block !important;
}

body.single-product .single-product-detail form.cart.variations_form .woocommerce-variation-add-to-cart {
  display: grid !important;
  grid-template-columns: 112px minmax(0, 1fr);
  gap: 10px !important;
  align-items: stretch;
  margin: 0 0 26px !important;
}

body.single-product .single-product-detail form.cart.variations_form .woocommerce-variation,
body.single-product .single-product-detail form.cart.variations_form .woocommerce-variation-description,
body.single-product .single-product-detail form.cart.variations_form .woocommerce-variation-price,
body.single-product .single-product-detail form.cart.variations_form .woocommerce-variation-availability {
  margin: 0 0 16px !important;
}

body.single-product .single-product-detail .cart-actions,
body.single-product .single-product-detail .product-actions {
  grid-column: 1 / -1;
  width: 100% !important;
  margin: 0 !important;
}

body.single-product .single-product-detail .product-extra-link {
  margin-top: auto !important;
  padding-top: 30px !important;
  border-top: 0 !important;
}

body.single-product .single-product-detail .product-extra-link,
body.single-product .single-product-detail .product-extra-link a,
body.single-product .single-product-detail .product-share,
body.single-product .single-product-detail .product-share span {
  color: var(--mivia-ink) !important;
  font-family: var(--mivia-sans) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  text-decoration: none !important;
}

body.single-product .mivia-original-tabs-hidden {
  display: none !important;
}

body.single-product .mivia-product-details {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, .85fr);
  gap: clamp(42px, 8vw, 160px);
  margin: 0 0 86px;
  padding-top: 76px;
  border-top: 1px solid var(--mivia-line);
}

body.single-product .mivia-product-description h2 {
  margin: 0 0 34px;
  color: var(--mivia-ink);
  font-family: var(--mivia-serif);
  font-size: clamp(36px, 4vw, 62px);
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.02;
}

body.single-product .mivia-product-description,
body.single-product .mivia-product-description p,
body.single-product .mivia-product-description li,
body.single-product .mivia-product-dimensions,
body.single-product .mivia-product-dimensions p,
body.single-product .mivia-product-dimensions li {
  color: var(--mivia-ink) !important;
  font-family: var(--mivia-sans) !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
}

body.single-product .mivia-product-description p,
body.single-product .mivia-product-description ul {
  max-width: 68ch;
  margin-bottom: 24px;
}

body.single-product .mivia-product-detail-tabs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 42px;
  margin: 10px 0 58px;
  border-bottom: 1px solid var(--mivia-line);
}

body.single-product .mivia-product-detail-tabs button,
body.single-product .mivia-product-detail-tabs span {
  display: block;
  width: 100%;
  padding-bottom: 10px;
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  background: transparent;
  color: var(--mivia-muted);
  font-family: var(--mivia-serif);
  font-size: 18px;
  font-weight: 400;
  line-height: 1.2;
  text-align: left;
  cursor: pointer;
}

body.single-product .mivia-product-detail-tabs button.is-active,
body.single-product .mivia-product-detail-tabs span.is-active {
  color: var(--mivia-ink);
  border-bottom: 2px solid var(--mivia-ink);
}

body.single-product .mivia-product-detail-tabs button:hover {
  color: var(--mivia-ink);
}

body.single-product .mivia-product-tab-panel[hidden] {
  display: none !important;
}

body.single-product .mivia-product-dimensions .woocommerce-product-attributes,
body.single-product .mivia-product-dimensions table {
  width: 100% !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

body.single-product .mivia-product-dimensions tr {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-bottom: 1px solid var(--mivia-line) !important;
  background: transparent !important;
}

body.single-product .mivia-product-dimensions th,
body.single-product .mivia-product-dimensions td {
  padding: 11px 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--mivia-muted) !important;
  font-family: var(--mivia-sans) !important;
  font-size: 14px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  text-align: left !important;
}

body.single-product .mivia-product-dimensions td {
  color: var(--mivia-ink) !important;
  text-align: right !important;
}

body.single-product .mivia-product-empty-note {
  margin: 0;
  color: var(--mivia-muted) !important;
}

body.single-product .mivia-product-media-strip {
  width: 100vw;
  margin: 0 calc(50% - 50vw) 96px;
  overflow: hidden;
}

body.single-product .mivia-product-media-track {
  display: flex;
  gap: var(--mivia-img-gap);
  overflow-x: auto;
  padding: 0 clamp(18px, 2.4vw, 46px);
  scroll-snap-type: x mandatory;
  scrollbar-width: thin;
}

body.single-product .mivia-product-media-track figure {
  flex: 0 0 min(980px, 74vw);
  aspect-ratio: 16 / 9;
  margin: 0;
  overflow: hidden;
  background: var(--mivia-bg);
  scroll-snap-align: start;
}

body.single-product .mivia-product-media-track img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (max-width: 1180px) {
  body.single-product .single-product-wrapper {
    grid-template-columns: minmax(0, 1fr);
  }

  body.single-product .single-product-detail .product-detail-inner {
    position: static;
    min-height: 0;
  }
}

@media (max-width: 768px) {
  body.single-product #main.main-content > .container,
  body.single-product .main-content > .container {
    padding-right: 18px !important;
    padding-left: 18px !important;
  }

  body.single-product .single-product-wrapper {
    gap: 34px;
    margin-bottom: 56px !important;
  }

  body.single-product .single-product-gallery {
    grid-template-columns: 1fr;
  }

  body.single-product .mivia-product-rail {
    display: flex;
    order: 2;
    max-height: none;
    overflow-x: auto;
  }

  body.single-product .mivia-product-thumb {
    flex: 0 0 94px;
  }

  body.single-product .single-product-gallery .woocommerce-product-gallery__image img,
  body.single-product .single-product-gallery .woocommerce-product-gallery__wrapper img,
  body.single-product .single-product-gallery .flex-viewport img {
    min-height: 0;
  }

  body.single-product .single-product-detail .product_title {
    font-size: clamp(30px, 10vw, 42px) !important;
  }

  body.single-product .single-product-detail form.cart {
    grid-template-columns: 112px minmax(0, 1fr);
  }

  body.single-product .single-product-detail form.cart.variations_form .woocommerce-variation-add-to-cart {
    grid-template-columns: 112px minmax(0, 1fr);
  }

  body.single-product .mivia-config-options-two {
    grid-template-columns: 1fr;
  }

  body.single-product .mivia-config-fabric-row {
    grid-template-columns: repeat(3, 54px) 66px;
  }

  body.single-product .mivia-config-fabric-choice {
    width: 54px;
    height: 54px;
  }

  body.single-product .mivia-config-fabric-more {
    width: 66px;
    height: 54px;
  }

  .mivia-fabric-drawer {
    width: 100vw;
    min-width: 0;
  }

  .mivia-fabric-drawer-header,
  .mivia-fabric-drawer-body {
    padding-right: 20px;
    padding-left: 20px;
  }

  body.single-product .single-product-detail form.cart .quantity {
    width: 112px !important;
  }

  body.single-product .mivia-product-details {
    grid-template-columns: 1fr;
    gap: 44px;
    padding-top: 52px;
  }

  body.single-product .mivia-product-detail-tabs {
    gap: 20px;
    margin-bottom: 28px;
  }

  body.single-product .mivia-product-media-track figure {
    flex-basis: 86vw;
    aspect-ratio: 4 / 3;
  }

  body.single-product .mivia-gallery-lightbox {
    grid-template-columns: 1fr;
    grid-template-rows: minmax(0, 1fr) auto;
    gap: 14px;
    padding: 18px;
  }

  body.single-product .mivia-lightbox-stage {
    order: 1;
    width: 100%;
  }

  body.single-product .mivia-lightbox-rail {
    order: 2;
    display: flex;
    width: 100%;
    height: auto;
    max-height: none;
    overflow-x: auto;
    overflow-y: hidden;
  }

  body.single-product .mivia-lightbox-thumb {
    flex: 0 0 86px;
    width: 86px !important;
  }
}

/* Final hard override: gallery controls are icons only, no filled button boxes. */
body .mivia-bare-control,
body button.mivia-bare-control,
body a.mivia-bare-control,
body button.no-style.mivia-loop-gallery-prev,
body button.no-style.mivia-loop-gallery-next,
body button.no-style.mivia-product-prev,
body button.no-style.mivia-product-next,
body button.no-style.mivia-lightbox-prev,
body button.no-style.mivia-lightbox-next,
body button.no-style.mivia-lightbox-close,
body button[aria-label*="Poprzednie"],
body button[aria-label*="Następne"],
body button[aria-label*="Zamknij"],
body button[aria-label*="Previous"],
body button[aria-label*="Next"],
body button[aria-label*="Close"],
body a[aria-label*="Poprzednie"],
body a[aria-label*="Następne"],
body a[aria-label*="Zamknij"],
body .slick-nav,
body .slick-arrow,
body .slick-button,
body .hover-slider-arrow,
body .elementor-swiper-button,
body .swiper-button-prev,
body .swiper-button-next {
  min-width: 0 !important;
  min-height: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

body .mivia-bare-control::before,
body .mivia-bare-control::after,
body button.no-style.mivia-loop-gallery-prev::before,
body button.no-style.mivia-loop-gallery-prev::after,
body button.no-style.mivia-loop-gallery-next::before,
body button.no-style.mivia-loop-gallery-next::after,
body button.no-style.mivia-product-prev::before,
body button.no-style.mivia-product-prev::after,
body button.no-style.mivia-product-next::before,
body button.no-style.mivia-product-next::after,
body button.no-style.mivia-lightbox-prev::before,
body button.no-style.mivia-lightbox-prev::after,
body button.no-style.mivia-lightbox-next::before,
body button.no-style.mivia-lightbox-next::after,
body button.no-style.mivia-lightbox-close::before,
body button.no-style.mivia-lightbox-close::after,
body .slick-nav::before,
body .slick-nav::after,
body .slick-arrow::before,
body .slick-arrow::after,
body .slick-button::before,
body .slick-button::after,
body .hover-slider-arrow::before,
body .hover-slider-arrow::after,
body .elementor-swiper-button::before,
body .elementor-swiper-button::after,
body .swiper-button-prev::before,
body .swiper-button-prev::after,
body .swiper-button-next::before,
body .swiper-button-next::after {
  border: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

body .mivia-loop-gallery-arrows button,
body .mivia-lightbox-arrows button,
body .mivia-lightbox-close,
body button[aria-label*="Poprzednie"],
body button[aria-label*="Następne"],
body button[aria-label*="Zamknij"],
body button[aria-label*="Previous"],
body button[aria-label*="Next"],
body button[aria-label*="Close"],
body .slick-nav,
body .slick-arrow,
body .slick-button,
body .hover-slider-arrow,
body .elementor-swiper-button,
body .swiper-button-prev,
body .swiper-button-next {
  color: var(--mivia-ink) !important;
}

body.single-product .mivia-product-gallery-arrows button {
  color: var(--mivia-ink) !important;
}

body .mivia-loop-gallery-arrows button:hover,
body .mivia-lightbox-arrows button:hover,
body .mivia-lightbox-close:hover,
body button[aria-label*="Poprzednie"]:hover,
body button[aria-label*="Następne"]:hover,
body button[aria-label*="Zamknij"]:hover,
body button[aria-label*="Previous"]:hover,
body button[aria-label*="Next"]:hover,
body button[aria-label*="Close"]:hover,
body .slick-nav:hover,
body .slick-arrow:hover,
body .slick-button:hover,
body .hover-slider-arrow:hover,
body .elementor-swiper-button:hover,
body .swiper-button-prev:hover,
body .swiper-button-next:hover {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  color: var(--mivia-ink) !important;
  box-shadow: none !important;
}

body .mivia-loop-gallery-arrows button,
body.single-product .mivia-product-gallery-arrows button,
body.single-product .mivia-lightbox-arrows button,
body.single-product .mivia-lightbox-close,
body button.mivia-bare-control,
body button[aria-label*="Poprzednie"],
body button[aria-label*="Następne"],
body button[aria-label*="Zamknij"],
body button[aria-label*="Previous"],
body button[aria-label*="Next"],
body button[aria-label*="Close"],
body .slick-nav,
body .slick-arrow,
body .slick-button,
body .hover-slider-arrow,
body .elementor-swiper-button,
body .swiper-button-prev,
body .swiper-button-next,
body .mivia-loop-gallery-arrows button:hover,
body.single-product .mivia-product-gallery-arrows button:hover,
body.single-product .mivia-lightbox-arrows button:hover,
body.single-product .mivia-lightbox-close:hover,
body button.mivia-bare-control:hover,
body button[aria-label*="Poprzednie"]:hover,
body button[aria-label*="Następne"]:hover,
body button[aria-label*="Zamknij"]:hover,
body button[aria-label*="Previous"]:hover,
body button[aria-label*="Next"]:hover,
body button[aria-label*="Close"]:hover,
body .slick-nav:hover,
body .slick-arrow:hover,
body .slick-button:hover,
body .hover-slider-arrow:hover,
body .elementor-swiper-button:hover,
body .swiper-button-prev:hover,
body .swiper-button-next:hover {
  color: var(--mivia-ink) !important;
}

/* Configurator hard override: light choices, full fabric swatches, no theme-filled buttons. */
body.single-product .single-product-detail button.no-style.mivia-config-option,
body.single-product .single-product-detail button.no-style.mivia-config-option:hover,
body.single-product .single-product-detail button.no-style.mivia-config-option:focus,
body.single-product .single-product-detail button.no-style.mivia-config-fabric-choice,
body.single-product .single-product-detail button.no-style.mivia-config-fabric-choice:hover,
body.single-product .single-product-detail button.no-style.mivia-config-fabric-choice:focus,
body.single-product .single-product-detail button.no-style.mivia-config-fabric-more,
body.single-product .single-product-detail button.no-style.mivia-config-fabric-more:hover,
body.single-product .single-product-detail button.no-style.mivia-config-fabric-more:focus,
body button.no-style.mivia-fabric-drawer-choice,
body button.no-style.mivia-fabric-drawer-choice:hover,
body button.no-style.mivia-fabric-drawer-choice:focus {
  border-radius: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  color: #62645E !important;
  box-shadow: none !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

body.single-product .single-product-detail button.no-style.mivia-config-option {
  min-height: 58px !important;
  border: 1px solid #D8D2C5 !important;
  padding: 10px 16px !important;
}

body.single-product .single-product-detail button.no-style.mivia-config-option span,
body.single-product .single-product-detail button.no-style.mivia-config-option small,
body.single-product .single-product-detail button.no-style.mivia-config-fabric-more {
  color: #62645E !important;
}

body.single-product .single-product-detail button.no-style.mivia-config-option.is-selected,
body.single-product .single-product-detail button.no-style.mivia-config-fabric-choice.is-selected,
body button.no-style.mivia-fabric-drawer-choice.is-selected .mivia-fabric-drawer-sample {
  border-color: var(--mivia-ink) !important;
  color: var(--mivia-ink) !important;
  box-shadow: none !important;
}

body.single-product .single-product-detail button.no-style.mivia-config-option.is-selected span,
body.single-product .single-product-detail button.no-style.mivia-config-option.is-selected small,
body.single-product .single-product-detail button.no-style.mivia-config-fabric-more:hover {
  color: var(--mivia-ink) !important;
}

body.single-product .single-product-detail button.no-style.mivia-config-fabric-choice {
  width: 58px !important;
  height: 58px !important;
  min-width: 58px !important;
  min-height: 58px !important;
  border: 1px solid #D8D2C5 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

body.single-product .single-product-detail button.no-style.mivia-config-fabric-more {
  width: 72px !important;
  height: 58px !important;
  min-width: 72px !important;
  min-height: 58px !important;
  border: 1px solid #D8D2C5 !important;
  padding: 0 !important;
}

body.single-product .mivia-config-fabric-sample,
body .mivia-fabric-drawer-sample {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  height: auto !important;
  background: transparent !important;
  overflow: hidden !important;
}

body.single-product .mivia-config-fabric-sample {
  height: 100% !important;
}

body.single-product .mivia-config-fabric-sample img,
body .mivia-fabric-drawer-sample img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}

body button.no-style.mivia-fabric-drawer-backdrop,
body button.no-style.mivia-fabric-drawer-backdrop:hover,
body button.no-style.mivia-fabric-drawer-backdrop:focus {
  background: rgba(247, 245, 236, .74) !important;
  background-color: rgba(247, 245, 236, .74) !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: blur(1px);
  -webkit-backdrop-filter: blur(1px);
}

body .mivia-fabric-drawer {
  background: var(--mivia-bg) !important;
}

body button.no-style.mivia-fabric-info,
body button.no-style.mivia-fabric-info:hover,
body button.no-style.mivia-fabric-info:focus {
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  color: #6E7068 !important;
  box-shadow: none !important;
  font-family: var(--mivia-sans) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  line-height: 1.2 !important;
  text-decoration: underline !important;
  text-transform: none !important;
}

body button.no-style.mivia-fabric-info:hover,
body button.no-style.mivia-fabric-info:focus {
  color: var(--mivia-ink) !important;
}

body .mivia-fabric-swatches {
  align-items: start !important;
  gap: 18px !important;
  min-height: 156px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  padding: 0 0 20px !important;
}

body button.no-style.mivia-fabric-drawer-choice {
  flex: 0 0 128px !important;
  width: 128px !important;
  min-width: 128px !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

body button.no-style.mivia-fabric-drawer-choice .mivia-fabric-drawer-sample {
  width: 128px !important;
  height: 128px !important;
  border: 1px solid transparent !important;
}

body button.no-style.mivia-fabric-drawer-choice .mivia-fabric-drawer-label {
  display: block !important;
  width: 128px !important;
  color: #62645E !important;
  font-family: var(--mivia-sans) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  line-height: 1.2 !important;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body button.no-style.mivia-fabric-drawer-choice.is-selected .mivia-fabric-drawer-label,
body button.no-style.mivia-fabric-drawer-choice:hover .mivia-fabric-drawer-label {
  color: var(--mivia-ink) !important;
}

/* Last-resort reset for the sofa/corner configurator and fabric drawer. */
body.single-product .single-product-detail .mivia-configurator button,
body.single-product .single-product-detail .mivia-configurator button:hover,
body.single-product .single-product-detail .mivia-configurator button:focus,
body .mivia-fabric-drawer-shell button,
body .mivia-fabric-drawer-shell button:hover,
body .mivia-fabric-drawer-shell button:focus {
  -webkit-appearance: none !important;
  appearance: none !important;
  border-radius: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

body.single-product .single-product-detail .mivia-configurator button.mivia-config-option {
  min-height: 58px !important;
  padding: 10px 16px !important;
  border: 1px solid #D8D2C5 !important;
  color: #62645E !important;
}

body.single-product .single-product-detail .mivia-configurator button.mivia-config-option span,
body.single-product .single-product-detail .mivia-configurator button.mivia-config-option small {
  color: #62645E !important;
}

body.single-product .single-product-detail .mivia-configurator button.mivia-config-option.is-selected {
  border-color: var(--mivia-ink) !important;
  color: var(--mivia-ink) !important;
}

body.single-product .single-product-detail .mivia-configurator button.mivia-config-option.is-selected span,
body.single-product .single-product-detail .mivia-configurator button.mivia-config-option.is-selected small {
  color: var(--mivia-ink) !important;
}

body.single-product .single-product-detail .mivia-configurator button.mivia-config-fabric-choice,
body.single-product .single-product-detail .mivia-configurator button.mivia-config-fabric-more {
  border: 1px solid #D8D2C5 !important;
  color: #62645E !important;
}

body.single-product .single-product-detail .mivia-configurator button.mivia-config-fabric-choice.is-selected {
  border-color: var(--mivia-ink) !important;
}

body.single-product .single-product-detail .mivia-configurator button.mivia-config-option::after,
body.single-product .single-product-detail .mivia-configurator button.mivia-config-fabric-choice::after,
body .mivia-fabric-drawer-shell button.mivia-fabric-drawer-choice .mivia-fabric-drawer-sample::after {
  content: none !important;
  display: none !important;
}

body.single-product .single-product-detail .mivia-configurator .mivia-config-fabric-sample,
body .mivia-fabric-drawer-shell .mivia-fabric-drawer-sample {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}

body.single-product .single-product-detail .mivia-configurator .mivia-config-fabric-sample img,
body .mivia-fabric-drawer-shell .mivia-fabric-drawer-sample img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}

body .mivia-fabric-drawer-shell button.mivia-fabric-drawer-backdrop,
body .mivia-fabric-drawer-shell button.mivia-fabric-drawer-backdrop:hover,
body .mivia-fabric-drawer-shell button.mivia-fabric-drawer-backdrop:focus {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: rgba(247, 245, 236, .58) !important;
  background-color: rgba(247, 245, 236, .58) !important;
  box-shadow: none !important;
  backdrop-filter: blur(1px) !important;
  -webkit-backdrop-filter: blur(1px) !important;
}

body .mivia-fabric-drawer-shell .mivia-fabric-drawer {
  background: var(--mivia-bg) !important;
}

body .mivia-fabric-drawer-shell button.mivia-fabric-info,
body .mivia-fabric-drawer-shell button.mivia-fabric-info:hover,
body .mivia-fabric-drawer-shell button.mivia-fabric-info:focus {
  display: inline !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  color: #6E7068 !important;
  font-family: var(--mivia-sans) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  text-decoration: underline !important;
  box-shadow: none !important;
}

body .mivia-fabric-drawer-shell button.mivia-fabric-info:hover,
body .mivia-fabric-drawer-shell button.mivia-fabric-info:focus {
  color: var(--mivia-ink) !important;
}

body .mivia-fabric-drawer-shell .mivia-fabric-swatches {
  display: flex !important;
  align-items: flex-start !important;
  gap: 18px !important;
  min-height: 162px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  padding: 0 0 22px !important;
}

body .mivia-fabric-drawer-shell button.mivia-fabric-drawer-choice {
  display: grid !important;
  grid-template-rows: 128px auto !important;
  gap: 8px !important;
  flex: 0 0 128px !important;
  width: 128px !important;
  min-width: 128px !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  color: #62645E !important;
  overflow: visible !important;
}

body .mivia-fabric-drawer-shell button.mivia-fabric-drawer-choice .mivia-fabric-drawer-sample {
  display: block !important;
  width: 128px !important;
  height: 128px !important;
  aspect-ratio: 1 / 1 !important;
  border: 1px solid transparent !important;
  background: transparent !important;
  overflow: hidden !important;
}

body .mivia-fabric-drawer-shell button.mivia-fabric-drawer-choice.is-selected .mivia-fabric-drawer-sample {
  border-color: var(--mivia-ink) !important;
}

body .mivia-fabric-drawer-shell button.mivia-fabric-drawer-choice .mivia-fabric-drawer-label {
  display: block !important;
  width: 128px !important;
  color: #62645E !important;
  font-family: var(--mivia-sans) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  text-align: center !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

body .mivia-fabric-drawer-shell button.mivia-fabric-drawer-choice.is-selected .mivia-fabric-drawer-label,
body .mivia-fabric-drawer-shell button.mivia-fabric-drawer-choice:hover .mivia-fabric-drawer-label {
  color: var(--mivia-ink) !important;
}

/* Gallery and drawer control sizing pass. */
.woocommerce .products .product.mivia-loop-product-card .mivia-loop-gallery-arrows {
  right: 16px !important;
  left: 16px !important;
  top: auto !important;
  bottom: 16px !important;
  transform: none !important;
}

.woocommerce .products .product.mivia-loop-product-card .mivia-loop-gallery-arrows button,
.woocommerce .products .product.mivia-loop-product-card .product-thumbnail .slick-nav,
.woocommerce .products .product.mivia-loop-product-card .product-thumbnail .slick-arrow,
.woocommerce .products .product.mivia-loop-product-card .product-thumbnail .slick-button,
.woocommerce .products .product.mivia-loop-product-card .product-thumbnail .hover-slider-arrow {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  min-height: 42px !important;
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: var(--mivia-ink) !important;
  font-size: 44px !important;
  font-weight: 200 !important;
  line-height: 1 !important;
}

body.single-product .single-product-gallery {
  grid-template-columns: 200px minmax(0, 560px) !important;
  gap: 14px !important;
  max-width: 774px !important;
  overflow: visible !important;
}

body.single-product .mivia-product-rail {
  gap: 14px !important;
  width: 200px !important;
  height: min(746px, calc(100vh - 120px)) !important;
  max-height: min(746px, calc(100vh - 120px)) !important;
  padding-right: 4px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
}

body.single-product .mivia-product-thumb,
body.single-product button.mivia-product-thumb:not(.slick-arrow):not(.btn-link),
body.single-product .single-product-gallery button.mivia-product-thumb {
  display: block !important;
  flex: 0 0 auto !important;
  width: 200px !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 3 / 4 !important;
  margin: 0 !important;
  background-color: var(--mivia-bg-alt) !important;
  background-size: contain !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}

body.single-product .single-product-gallery .woocommerce-product-gallery {
  width: min(100%, 560px, calc((100vh - 120px) * .75)) !important;
  max-width: 560px !important;
}

body.single-product .mivia-product-gallery-arrows {
  right: 18px !important;
  bottom: 18px !important;
  gap: 24px !important;
}

body.single-product .mivia-product-gallery-arrows button {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  min-height: 42px !important;
  font-size: 38px !important;
  line-height: 1 !important;
}

body.single-product .mivia-lightbox-close,
body.single-product button.mivia-lightbox-close.no-style {
  width: 58px !important;
  height: 58px !important;
  min-width: 58px !important;
  min-height: 58px !important;
  font-size: 46px !important;
  line-height: 1 !important;
}

body.single-product .mivia-lightbox-arrows {
  gap: 24px !important;
}

body.single-product .mivia-lightbox-arrows button,
body.single-product .mivia-lightbox-arrows button.no-style {
  width: 62px !important;
  height: 62px !important;
  min-width: 62px !important;
  min-height: 62px !important;
  font-size: 44px !important;
  line-height: 1 !important;
}

body .mivia-fabric-drawer-shell button.mivia-fabric-drawer-close,
body .mivia-fabric-drawer-shell button.mivia-fabric-drawer-close.no-style {
  width: 50px !important;
  height: 50px !important;
  min-width: 50px !important;
  min-height: 50px !important;
  padding: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  color: var(--mivia-ink) !important;
  font-size: 40px !important;
  font-weight: 200 !important;
  line-height: 1 !important;
}

body .mivia-fabric-drawer-shell .mivia-fabric-drawer {
  position: absolute !important;
}

body .mivia-fabric-drawer-shell .mivia-fabric-drawer-body {
  padding-bottom: 112px !important;
}

body .mivia-fabric-drawer-shell button.mivia-fabric-drawer-done,
body .mivia-fabric-drawer-shell button.mivia-fabric-drawer-done:hover,
body .mivia-fabric-drawer-shell button.mivia-fabric-drawer-done:focus {
  position: absolute !important;
  right: 30px !important;
  bottom: 26px !important;
  z-index: 4 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  height: 42px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 22px !important;
  border: 1px solid var(--mivia-ink) !important;
  border-radius: 999px !important;
  background: rgba(247, 245, 236, .96) !important;
  background-color: rgba(247, 245, 236, .96) !important;
  box-shadow: 0 10px 28px rgba(43, 44, 40, .08) !important;
  color: var(--mivia-ink) !important;
  font-family: var(--mivia-sans) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: .08em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
}

body .mivia-fabric-drawer-shell button.mivia-fabric-drawer-done:hover,
body .mivia-fabric-drawer-shell button.mivia-fabric-drawer-done:focus {
  background: #E8E3D7 !important;
  background-color: #E8E3D7 !important;
}

body button.mivia-loop-gallery-prev,
body button.mivia-loop-gallery-next,
body button.mivia-product-prev,
body button.mivia-product-next,
body button.mivia-lightbox-prev,
body button.mivia-lightbox-next,
body button.mivia-lightbox-close,
body button.mivia-fabric-drawer-close,
body .woocommerce .products .product .slick-nav,
body .woocommerce .products .product .slick-arrow,
body .woocommerce .products .product .slick-button,
body .woocommerce .products .product .hover-slider-arrow {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: var(--mivia-ink) !important;
  line-height: 1 !important;
}

body button.mivia-loop-gallery-prev,
body button.mivia-loop-gallery-next,
body .woocommerce .products .product .slick-nav,
body .woocommerce .products .product .slick-arrow,
body .woocommerce .products .product .slick-button,
body .woocommerce .products .product .hover-slider-arrow {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  font-size: 44px !important;
}

body button.mivia-product-prev,
body button.mivia-product-next {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  font-size: 38px !important;
}

body button.mivia-lightbox-prev,
body button.mivia-lightbox-next {
  width: 62px !important;
  height: 62px !important;
  min-width: 62px !important;
  font-size: 44px !important;
}

body button.mivia-lightbox-close {
  width: 58px !important;
  height: 58px !important;
  min-width: 58px !important;
  font-size: 46px !important;
}

body button.mivia-fabric-drawer-close {
  width: 50px !important;
  height: 50px !important;
  min-width: 50px !important;
  font-size: 40px !important;
}

body button.mivia-loop-gallery-prev::before,
body button.mivia-loop-gallery-next::before,
body button.mivia-product-prev::before,
body button.mivia-product-next::before,
body button.mivia-lightbox-prev::before,
body button.mivia-lightbox-next::before,
body button.mivia-lightbox-close::before,
body button.mivia-fabric-drawer-close::before,
body .woocommerce .products .product .slick-nav::before,
body .woocommerce .products .product .slick-arrow::before,
body .woocommerce .products .product .slick-button::before,
body .woocommerce .products .product .hover-slider-arrow::before {
  color: currentColor !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: 1 !important;
}

@media (max-width: 768px) {
  body.single-product .single-product-gallery {
    grid-template-columns: 1fr !important;
    max-width: none !important;
  }

  body.single-product .mivia-product-rail {
    display: flex !important;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    padding-right: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
  }

  body.single-product .mivia-product-thumb,
  body.single-product button.mivia-product-thumb:not(.slick-arrow):not(.btn-link),
  body.single-product .single-product-gallery button.mivia-product-thumb {
    flex: 0 0 100px !important;
    width: 100px !important;
  }

  body .mivia-fabric-drawer-shell button.mivia-fabric-drawer-done,
  body .mivia-fabric-drawer-shell button.mivia-fabric-drawer-done:hover,
  body .mivia-fabric-drawer-shell button.mivia-fabric-drawer-done:focus {
    right: 20px !important;
    bottom: 20px !important;
  }
}

body.woocommerce-shop .content-wrapper.mivia-archive-filter-wrapper > .sidebar.secondary-column,
body.post-type-archive-product .content-wrapper.mivia-archive-filter-wrapper > .sidebar.secondary-column,
body.tax-product_cat .content-wrapper.mivia-archive-filter-wrapper > .sidebar.secondary-column,
body.archive.woocommerce .content-wrapper.mivia-archive-filter-wrapper > .sidebar.secondary-column {
  display: block !important;
  background: var(--mivia-bg) !important;
}

body.woocommerce-shop .content-wrapper.mivia-sidebar-collapsed > .sidebar.secondary-column,
body.post-type-archive-product .content-wrapper.mivia-sidebar-collapsed > .sidebar.secondary-column,
body.tax-product_cat .content-wrapper.mivia-sidebar-collapsed > .sidebar.secondary-column,
body.archive.woocommerce .content-wrapper.mivia-sidebar-collapsed > .sidebar.secondary-column {
  display: none !important;
}

body.woocommerce-shop .content-wrapper.mivia-sidebar-collapsed > .primary-column,
body.post-type-archive-product .content-wrapper.mivia-sidebar-collapsed > .primary-column,
body.tax-product_cat .content-wrapper.mivia-sidebar-collapsed > .primary-column,
body.archive.woocommerce .content-wrapper.mivia-sidebar-collapsed > .primary-column {
  flex: 0 0 100% !important;
  max-width: 100% !important;
  width: 100% !important;
}

body.woocommerce-shop .content-wrapper.mivia-sidebar-open > .primary-column,
body.post-type-archive-product .content-wrapper.mivia-sidebar-open > .primary-column,
body.tax-product_cat .content-wrapper.mivia-sidebar-open > .primary-column,
body.archive.woocommerce .content-wrapper.mivia-sidebar-open > .primary-column {
  flex: 0 0 75% !important;
  max-width: 75% !important;
  width: 75% !important;
}

body.woocommerce-shop .content-wrapper.mivia-sidebar-open > .sidebar.secondary-column,
body.post-type-archive-product .content-wrapper.mivia-sidebar-open > .sidebar.secondary-column,
body.tax-product_cat .content-wrapper.mivia-sidebar-open > .sidebar.secondary-column,
body.archive.woocommerce .content-wrapper.mivia-sidebar-open > .sidebar.secondary-column {
  flex: 0 0 25% !important;
  max-width: 25% !important;
  width: 25% !important;
}

.mivia-sidebar-toggle-row {
  display: flex;
  justify-content: flex-start;
  width: 100%;
  margin: 0 0 22px;
  padding: 0;
}

button.mivia-sidebar-toggle,
body button.mivia-sidebar-toggle {
  display: inline-flex !important;
  align-items: center !important;
  gap: 9px;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  color: var(--mivia-ink) !important;
  font-family: var(--mivia-sans) !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  line-height: 1.2 !important;
  text-transform: none !important;
  cursor: pointer;
}

button.mivia-sidebar-toggle:hover,
body button.mivia-sidebar-toggle:hover,
button.mivia-sidebar-toggle:focus,
body button.mivia-sidebar-toggle:focus {
  color: var(--mivia-muted) !important;
  outline: 0 !important;
}

.mivia-sidebar-toggle-icon {
  display: inline-block;
  color: currentColor;
  font-size: 17px;
  line-height: 1;
  transform: translateY(-1px);
  transition: transform .18s ease;
}

button.mivia-sidebar-toggle.is-open .mivia-sidebar-toggle-icon {
  transform: translateY(-1px) rotate(180deg);
}

@media (max-width: 991px) {
  body.woocommerce-shop .content-wrapper.mivia-sidebar-open > .primary-column,
  body.post-type-archive-product .content-wrapper.mivia-sidebar-open > .primary-column,
  body.tax-product_cat .content-wrapper.mivia-sidebar-open > .primary-column,
  body.archive.woocommerce .content-wrapper.mivia-sidebar-open > .primary-column,
  body.woocommerce-shop .content-wrapper.mivia-sidebar-open > .sidebar.secondary-column,
  body.post-type-archive-product .content-wrapper.mivia-sidebar-open > .sidebar.secondary-column,
  body.tax-product_cat .content-wrapper.mivia-sidebar-open > .sidebar.secondary-column,
  body.archive.woocommerce .content-wrapper.mivia-sidebar-open > .sidebar.secondary-column {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  body.woocommerce-shop .content-wrapper.mivia-sidebar-open > .sidebar.secondary-column,
  body.post-type-archive-product .content-wrapper.mivia-sidebar-open > .sidebar.secondary-column,
  body.tax-product_cat .content-wrapper.mivia-sidebar-open > .sidebar.secondary-column,
  body.archive.woocommerce .content-wrapper.mivia-sidebar-open > .sidebar.secondary-column {
    margin-bottom: 26px !important;
  }
}

body.woocommerce-shop .content-wrapper.mivia-archive-filter-wrapper,
body.post-type-archive-product .content-wrapper.mivia-archive-filter-wrapper,
body.tax-product_cat .content-wrapper.mivia-archive-filter-wrapper,
body.archive.woocommerce .content-wrapper.mivia-archive-filter-wrapper {
  display: grid !important;
  grid-template-columns: minmax(230px, 310px) minmax(0, 1fr) !important;
  column-gap: clamp(28px, 4vw, 64px) !important;
  row-gap: 24px !important;
  align-items: start !important;
}

body.woocommerce-shop .content-wrapper.mivia-sidebar-collapsed,
body.post-type-archive-product .content-wrapper.mivia-sidebar-collapsed,
body.tax-product_cat .content-wrapper.mivia-sidebar-collapsed,
body.archive.woocommerce .content-wrapper.mivia-sidebar-collapsed {
  grid-template-columns: minmax(0, 1fr) !important;
}

body.woocommerce-shop .content-wrapper.mivia-sidebar-open > .sidebar.secondary-column,
body.post-type-archive-product .content-wrapper.mivia-sidebar-open > .sidebar.secondary-column,
body.tax-product_cat .content-wrapper.mivia-sidebar-open > .sidebar.secondary-column,
body.archive.woocommerce .content-wrapper.mivia-sidebar-open > .sidebar.secondary-column {
  grid-column: 1 !important;
  grid-row: 1 !important;
  display: block !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
}

body.woocommerce-shop .content-wrapper.mivia-sidebar-open > .primary-column,
body.post-type-archive-product .content-wrapper.mivia-sidebar-open > .primary-column,
body.tax-product_cat .content-wrapper.mivia-sidebar-open > .primary-column,
body.archive.woocommerce .content-wrapper.mivia-sidebar-open > .primary-column {
  grid-column: 2 !important;
  grid-row: 1 !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
}

body.woocommerce-shop .content-wrapper.mivia-sidebar-collapsed > .primary-column,
body.post-type-archive-product .content-wrapper.mivia-sidebar-collapsed > .primary-column,
body.tax-product_cat .content-wrapper.mivia-sidebar-collapsed > .primary-column,
body.archive.woocommerce .content-wrapper.mivia-sidebar-collapsed > .primary-column {
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: auto !important;
  max-width: none !important;
}

body.woocommerce-shop .content-wrapper.mivia-archive-filter-wrapper > .sidebar.secondary-column .widget:not(.widget_klb_product_categories):not(.widget_product_categories):not(.widget_price_filter),
body.post-type-archive-product .content-wrapper.mivia-archive-filter-wrapper > .sidebar.secondary-column .widget:not(.widget_klb_product_categories):not(.widget_product_categories):not(.widget_price_filter),
body.tax-product_cat .content-wrapper.mivia-archive-filter-wrapper > .sidebar.secondary-column .widget:not(.widget_klb_product_categories):not(.widget_product_categories):not(.widget_price_filter),
body.archive.woocommerce .content-wrapper.mivia-archive-filter-wrapper > .sidebar.secondary-column .widget:not(.widget_klb_product_categories):not(.widget_product_categories):not(.widget_price_filter) {
  display: none !important;
}

body.woocommerce-shop .before-shop-loop .woocommerce-result-count,
body.post-type-archive-product .before-shop-loop .woocommerce-result-count,
body.tax-product_cat .before-shop-loop .woocommerce-result-count,
body.archive.woocommerce .before-shop-loop .woocommerce-result-count,
body.woocommerce-shop .before-shop-loop .sorting-per-page,
body.post-type-archive-product .before-shop-loop .sorting-per-page,
body.tax-product_cat .before-shop-loop .sorting-per-page,
body.archive.woocommerce .before-shop-loop .sorting-per-page {
  display: none !important;
}

body.woocommerce-shop .before-shop-loop,
body.post-type-archive-product .before-shop-loop,
body.tax-product_cat .before-shop-loop,
body.archive.woocommerce .before-shop-loop {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 16px !important;
  background: var(--mivia-bg) !important;
}

body.woocommerce-shop .before-shop-loop .shop-sorting-wrapper,
body.post-type-archive-product .before-shop-loop .shop-sorting-wrapper,
body.tax-product_cat .before-shop-loop .shop-sorting-wrapper,
body.archive.woocommerce .before-shop-loop .shop-sorting-wrapper {
  justify-content: flex-end !important;
  margin-left: auto !important;
}

body.woocommerce-shop .woocommerce .products .product,
body.post-type-archive-product .woocommerce .products .product,
body.tax-product_cat .woocommerce .products .product,
body.archive.woocommerce .woocommerce .products .product,
body.woocommerce-shop .woocommerce .products .product .product-wrapper,
body.post-type-archive-product .woocommerce .products .product .product-wrapper,
body.tax-product_cat .woocommerce .products .product .product-wrapper,
body.archive.woocommerce .woocommerce .products .product .product-wrapper,
body.woocommerce-shop .woocommerce .products .product .product-thumbnail-wrapper,
body.post-type-archive-product .woocommerce .products .product .product-thumbnail-wrapper,
body.tax-product_cat .woocommerce .products .product .product-thumbnail-wrapper,
body.archive.woocommerce .woocommerce .products .product .product-thumbnail-wrapper,
body.woocommerce-shop .woocommerce .products .product .product-thumbnail,
body.post-type-archive-product .woocommerce .products .product .product-thumbnail,
body.tax-product_cat .woocommerce .products .product .product-thumbnail,
body.archive.woocommerce .woocommerce .products .product .product-thumbnail,
body.woocommerce-shop .woocommerce .products .product .hover-gallery-item,
body.post-type-archive-product .woocommerce .products .product .hover-gallery-item,
body.tax-product_cat .woocommerce .products .product .hover-gallery-item,
body.archive.woocommerce .woocommerce .products .product .hover-gallery-item {
  background: var(--mivia-bg) !important;
  background-color: var(--mivia-bg) !important;
}

body.woocommerce-shop .content-wrapper.mivia-archive-sidebar-fixed,
body.post-type-archive-product .content-wrapper.mivia-archive-sidebar-fixed,
body.tax-product_cat .content-wrapper.mivia-archive-sidebar-fixed,
body.archive.woocommerce .content-wrapper.mivia-archive-sidebar-fixed {
  display: grid !important;
  grid-template-columns: clamp(188px, 13vw, 220px) minmax(0, 1fr) !important;
  column-gap: clamp(24px, 3vw, 42px) !important;
  align-items: start !important;
}

body.woocommerce-shop .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column,
body.post-type-archive-product .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column,
body.tax-product_cat .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column,
body.archive.woocommerce .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column {
  grid-column: 1 !important;
  grid-row: 1 / span 2 !important;
  display: block !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

body.woocommerce-shop .content-wrapper.mivia-archive-sidebar-fixed > .primary-column,
body.post-type-archive-product .content-wrapper.mivia-archive-sidebar-fixed > .primary-column,
body.tax-product_cat .content-wrapper.mivia-archive-sidebar-fixed > .primary-column,
body.archive.woocommerce .content-wrapper.mivia-archive-sidebar-fixed > .primary-column {
  grid-column: 2 !important;
  grid-row: 1 !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

body.woocommerce-shop .content-wrapper.mivia-archive-sidebar-fixed .woocommerce .products:not(.product-list),
body.post-type-archive-product .content-wrapper.mivia-archive-sidebar-fixed .woocommerce .products:not(.product-list),
body.tax-product_cat .content-wrapper.mivia-archive-sidebar-fixed .woocommerce .products:not(.product-list),
body.archive.woocommerce .content-wrapper.mivia-archive-sidebar-fixed .woocommerce .products:not(.product-list),
body.woocommerce-shop .content-wrapper.mivia-archive-sidebar-fixed .products:not(.product-list),
body.post-type-archive-product .content-wrapper.mivia-archive-sidebar-fixed .products:not(.product-list),
body.tax-product_cat .content-wrapper.mivia-archive-sidebar-fixed .products:not(.product-list),
body.archive.woocommerce .content-wrapper.mivia-archive-sidebar-fixed .products:not(.product-list) {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(18px, 2vw, 30px) !important;
  justify-content: stretch !important;
}

/* Table configurator: fixed visible wood finish choices. */
body.single-product .single-product-detail .mivia-table-configurator {
  gap: clamp(22px, 2.6vw, 34px) !important;
}

body.single-product .single-product-detail .mivia-table-configurator .mivia-config-options-table-size {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

body.single-product .single-product-detail .mivia-table-configurator .mivia-config-options-table-size .mivia-config-option {
  min-height: 54px !important;
  padding: 9px 10px !important;
  text-align: center !important;
}

body.single-product .single-product-detail .mivia-table-configurator .mivia-config-options-table-size .mivia-config-option span {
  display: block !important;
  font-size: 14px !important;
  line-height: 1.18 !important;
  white-space: normal !important;
}

body.single-product .single-product-detail .mivia-table-configurator .mivia-config-wood-row {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

body.single-product .single-product-detail .mivia-table-configurator button.mivia-config-wood-choice,
body.single-product .single-product-detail .mivia-table-configurator button.mivia-config-wood-choice:hover,
body.single-product .single-product-detail .mivia-table-configurator button.mivia-config-wood-choice:focus {
  display: grid !important;
  grid-template-rows: auto minmax(34px, auto) !important;
  gap: 7px !important;
  width: 100% !important;
  min-width: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  color: #62645E !important;
  overflow: visible !important;
}

body.single-product .single-product-detail .mivia-table-configurator button.mivia-config-wood-choice .mivia-config-wood-sample {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  border: 1px solid #D8D2C5 !important;
  background: transparent !important;
  overflow: hidden !important;
}

body.single-product .single-product-detail .mivia-table-configurator button.mivia-config-wood-choice.is-selected .mivia-config-wood-sample {
  border-color: var(--mivia-ink) !important;
}

body.single-product .single-product-detail .mivia-table-configurator button.mivia-config-wood-choice img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}

body.single-product .single-product-detail .mivia-table-configurator button.mivia-config-wood-choice .mivia-config-wood-label {
  display: block !important;
  color: #62645E !important;
  font-family: var(--mivia-sans) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1.18 !important;
  text-align: center !important;
  overflow-wrap: anywhere !important;
}

body.single-product .single-product-detail .mivia-table-configurator button.mivia-config-wood-choice.is-selected .mivia-config-wood-label,
body.single-product .single-product-detail .mivia-table-configurator button.mivia-config-wood-choice:hover .mivia-config-wood-label,
body.single-product .single-product-detail .mivia-table-configurator button.mivia-config-wood-choice:focus .mivia-config-wood-label {
  color: var(--mivia-ink) !important;
}

body.single-product .single-product-detail .mivia-table-configurator .mivia-config-selected-wood {
  margin: 10px 0 0 !important;
  color: var(--mivia-ink) !important;
  font-family: var(--mivia-sans) !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
}

/* Tables use object-style photos, so keep them fully visible instead of cropped. */
body.single-product.mivia-table-product .single-product-gallery [class*="video"],
body.single-product.mivia-table-product .single-product-gallery [class*="Video"],
body.single-product.mivia-table-product .single-product-gallery [href*="youtube"],
body.single-product.mivia-table-product .single-product-gallery [href*="vimeo"],
body.single-product.mivia-table-product .single-product-gallery .product-video-button,
body.single-product.mivia-table-product .single-product-gallery .woocommerce-product-gallery__trigger {
  display: none !important;
}

body.single-product.mivia-table-product .mivia-product-main-frame,
body.single-product.mivia-table-product .single-product-gallery .woocommerce-product-gallery,
body.single-product.mivia-table-product .single-product-gallery .woocommerce-product-gallery__wrapper,
body.single-product.mivia-table-product .single-product-gallery .flex-viewport {
  background: var(--mivia-bg-alt) !important;
}

body.single-product.mivia-table-product .mivia-product-main-frame img,
body.single-product.mivia-table-product .single-product-gallery .woocommerce-product-gallery__image img,
body.single-product.mivia-table-product .single-product-gallery .woocommerce-product-gallery__wrapper img,
body.single-product.mivia-table-product .single-product-gallery .flex-viewport img {
  box-sizing: border-box !important;
  object-fit: contain !important;
  object-position: center !important;
  padding: clamp(24px, 4vw, 58px) !important;
  background: var(--mivia-bg-alt) !important;
}

body.single-product.mivia-table-product .mivia-product-thumb,
body.single-product.mivia-table-product button.mivia-product-thumb:not(.slick-arrow):not(.btn-link),
body.single-product.mivia-table-product .single-product-gallery button.mivia-product-thumb {
  background-color: var(--mivia-bg-alt) !important;
  background-size: contain !important;
}

body.single-product.mivia-table-product .mivia-product-media-track figure {
  background: var(--mivia-bg-alt) !important;
}

body.single-product.mivia-table-product .mivia-product-media-track img {
  box-sizing: border-box !important;
  object-fit: contain !important;
  object-position: center !important;
  padding: clamp(22px, 4vw, 70px) !important;
  background: var(--mivia-bg-alt) !important;
}

@media (max-width: 1180px) {
  body.single-product .single-product-detail .mivia-table-configurator .mivia-config-options-table-size,
  body.single-product .single-product-detail .mivia-table-configurator .mivia-config-wood-row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 640px) {
  body.single-product .single-product-detail .mivia-table-configurator .mivia-config-options-table-size,
  body.single-product .single-product-detail .mivia-table-configurator .mivia-config-wood-row {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* Last table overrides: keep one cream tone and equal wood swatches. */
body.single-product.mivia-table-product .mivia-product-main-frame,
body.single-product.mivia-table-product .single-product-gallery .woocommerce-product-gallery,
body.single-product.mivia-table-product .single-product-gallery .woocommerce-product-gallery__wrapper,
body.single-product.mivia-table-product .single-product-gallery .woocommerce-product-gallery__image,
body.single-product.mivia-table-product .single-product-gallery .woocommerce-product-gallery__image a,
body.single-product.mivia-table-product .single-product-gallery .flex-viewport,
body.single-product.mivia-table-product .mivia-product-media-track figure {
  background: var(--mivia-bg) !important;
  background-color: var(--mivia-bg) !important;
}

body.single-product.mivia-table-product .mivia-product-main-frame img,
body.single-product.mivia-table-product .single-product-gallery .woocommerce-product-gallery__image img,
body.single-product.mivia-table-product .single-product-gallery .woocommerce-product-gallery__wrapper img,
body.single-product.mivia-table-product .single-product-gallery .flex-viewport img,
body.single-product.mivia-table-product .mivia-product-media-track img {
  background: var(--mivia-bg) !important;
  background-color: var(--mivia-bg) !important;
}

body.single-product.mivia-table-product .mivia-product-thumb,
body.single-product.mivia-table-product button.mivia-product-thumb:not(.slick-arrow):not(.btn-link),
body.single-product.mivia-table-product .single-product-gallery button.mivia-product-thumb {
  background: var(--mivia-bg) !important;
  background-color: var(--mivia-bg) !important;
}

body.single-product .single-product-detail .mivia-table-configurator .mivia-config-wood-row {
  align-items: start !important;
  grid-auto-rows: auto !important;
}

body.single-product .single-product-detail .mivia-table-configurator .mivia-config-wood-choice,
body.single-product .single-product-detail .mivia-table-configurator button.mivia-config-wood-choice {
  align-content: start !important;
  grid-template-rows: auto minmax(34px, auto) !important;
  height: 100% !important;
}

body.single-product .single-product-detail .mivia-table-configurator .mivia-config-wood-sample {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 1 / 1 !important;
  background: var(--mivia-bg) !important;
  background-color: var(--mivia-bg) !important;
}

body.single-product .single-product-detail .mivia-table-configurator .mivia-config-wood-sample img {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center !important;
}

body.single-product .single-product-detail .mivia-table-configurator .mivia-config-wood-label {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  min-height: 2.35em !important;
}

/* Absolute final lock: equal wood finish tiles after all theme overrides. */
body.single-product .single-product-detail .mivia-table-configurator .mivia-config-wood-row,
.mivia-table-configurator .mivia-config-wood-row {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(96px, 1fr)) !important;
  gap: 14px !important;
  align-items: start !important;
  justify-items: stretch !important;
}

body.single-product .single-product-detail .mivia-table-configurator .mivia-config-wood-choice,
body.single-product .single-product-detail .mivia-table-configurator button.mivia-config-wood-choice,
.mivia-table-configurator .mivia-config-wood-choice,
.mivia-table-configurator button.mivia-config-wood-choice {
  display: grid !important;
  grid-template-rows: minmax(0, 1fr) minmax(42px, auto) !important;
  gap: 8px !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

body.single-product .single-product-detail .mivia-table-configurator .mivia-config-wood-sample,
.mivia-table-configurator .mivia-config-wood-sample {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 1 / 1 !important;
  box-sizing: border-box !important;
  flex: none !important;
  background: var(--mivia-bg) !important;
  background-color: var(--mivia-bg) !important;
  overflow: hidden !important;
}

body.single-product .single-product-detail .mivia-table-configurator .mivia-config-wood-sample img,
.mivia-table-configurator .mivia-config-wood-sample img {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center !important;
}

body.single-product .single-product-detail .mivia-table-configurator .mivia-config-wood-label,
.mivia-table-configurator .mivia-config-wood-label {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  min-height: 42px !important;
  width: 100% !important;
  color: #62645E !important;
  font-size: 12px !important;
  line-height: 1.18 !important;
  text-align: center !important;
  overflow-wrap: anywhere !important;
}

@media (max-width: 640px) {
  body.single-product .single-product-detail .mivia-table-configurator .mivia-config-wood-row,
  .mivia-table-configurator .mivia-config-wood-row {
    grid-template-columns: repeat(2, minmax(96px, 1fr)) !important;
  }
}

/* Final lock: wood finish choices should read as one even grid. */
body.single-product .single-product-detail .mivia-table-configurator .mivia-config-wood-row,
.mivia-table-configurator .mivia-config-wood-row {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(96px, 1fr)) !important;
  gap: 14px !important;
  align-items: start !important;
  justify-items: stretch !important;
}

body.single-product .single-product-detail .mivia-table-configurator .mivia-config-wood-choice,
body.single-product .single-product-detail .mivia-table-configurator button.mivia-config-wood-choice,
.mivia-table-configurator .mivia-config-wood-choice,
.mivia-table-configurator button.mivia-config-wood-choice {
  display: grid !important;
  grid-template-rows: minmax(0, 1fr) minmax(42px, auto) !important;
  gap: 8px !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

body.single-product .single-product-detail .mivia-table-configurator .mivia-config-wood-sample,
.mivia-table-configurator .mivia-config-wood-sample {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 1 / 1 !important;
  box-sizing: border-box !important;
  flex: none !important;
  background: var(--mivia-bg) !important;
  background-color: var(--mivia-bg) !important;
  overflow: hidden !important;
}

body.single-product .single-product-detail .mivia-table-configurator .mivia-config-wood-sample img,
.mivia-table-configurator .mivia-config-wood-sample img {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center !important;
}

body.single-product .single-product-detail .mivia-table-configurator .mivia-config-wood-label,
.mivia-table-configurator .mivia-config-wood-label {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  min-height: 42px !important;
  width: 100% !important;
  color: #62645E !important;
  font-size: 12px !important;
  line-height: 1.18 !important;
  text-align: center !important;
  overflow-wrap: anywhere !important;
}

@media (max-width: 640px) {
  body.single-product .single-product-detail .mivia-table-configurator .mivia-config-wood-row,
  .mivia-table-configurator .mivia-config-wood-row {
    grid-template-columns: repeat(2, minmax(96px, 1fr)) !important;
  }
}

.mivia-table-configurator .mivia-config-wood-row {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
  align-items: start !important;
}

.mivia-table-configurator .mivia-config-wood-choice,
.mivia-table-configurator button.mivia-config-wood-choice {
  display: grid !important;
  grid-template-rows: auto minmax(38px, auto) !important;
  align-content: start !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;
}

.mivia-table-configurator .mivia-config-wood-sample {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  box-sizing: border-box !important;
}

.mivia-table-configurator .mivia-config-wood-sample img {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center !important;
}

.mivia-table-configurator .mivia-config-wood-label {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  min-height: 2.35em !important;
  text-align: center !important;
}

/* Final polish: table gallery uses the page cream, and wood swatches stay aligned. */
body.single-product.mivia-table-product .mivia-product-main-frame,
body.single-product.mivia-table-product .single-product-gallery .woocommerce-product-gallery,
body.single-product.mivia-table-product .single-product-gallery .woocommerce-product-gallery__wrapper,
body.single-product.mivia-table-product .single-product-gallery .woocommerce-product-gallery__image,
body.single-product.mivia-table-product .single-product-gallery .woocommerce-product-gallery__image a,
body.single-product.mivia-table-product .single-product-gallery .flex-viewport,
body.single-product.mivia-table-product .mivia-product-media-track figure {
  background: var(--mivia-bg) !important;
  background-color: var(--mivia-bg) !important;
}

body.single-product.mivia-table-product .mivia-product-main-frame img,
body.single-product.mivia-table-product .single-product-gallery .woocommerce-product-gallery__image img,
body.single-product.mivia-table-product .single-product-gallery .woocommerce-product-gallery__wrapper img,
body.single-product.mivia-table-product .single-product-gallery .flex-viewport img,
body.single-product.mivia-table-product .mivia-product-media-track img {
  background: var(--mivia-bg) !important;
  background-color: var(--mivia-bg) !important;
}

body.single-product.mivia-table-product .mivia-product-thumb,
body.single-product.mivia-table-product button.mivia-product-thumb:not(.slick-arrow):not(.btn-link),
body.single-product.mivia-table-product .single-product-gallery button.mivia-product-thumb {
  background: var(--mivia-bg) !important;
  background-color: var(--mivia-bg) !important;
}

body.single-product .single-product-detail .mivia-table-configurator .mivia-config-wood-row {
  align-items: start !important;
  grid-auto-rows: auto !important;
}

body.single-product .single-product-detail .mivia-table-configurator .mivia-config-wood-choice {
  align-content: start !important;
  grid-template-rows: auto minmax(34px, auto) !important;
  height: 100% !important;
}

body.single-product .single-product-detail .mivia-table-configurator .mivia-config-wood-sample {
  position: relative !important;
  height: auto !important;
  min-height: 0 !important;
  background: var(--mivia-bg) !important;
  background-color: var(--mivia-bg) !important;
}

body.single-product .single-product-detail .mivia-table-configurator .mivia-config-wood-sample img {
  position: absolute !important;
  inset: 0 !important;
}

body.single-product .single-product-detail .mivia-table-configurator .mivia-config-wood-label {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  min-height: 2.35em !important;
}

@media (max-width: 1199px) {
  body.woocommerce-shop .content-wrapper.mivia-archive-sidebar-fixed .woocommerce .products:not(.product-list),
  body.post-type-archive-product .content-wrapper.mivia-archive-sidebar-fixed .woocommerce .products:not(.product-list),
  body.tax-product_cat .content-wrapper.mivia-archive-sidebar-fixed .woocommerce .products:not(.product-list),
  body.archive.woocommerce .content-wrapper.mivia-archive-sidebar-fixed .woocommerce .products:not(.product-list),
  body.woocommerce-shop .content-wrapper.mivia-archive-sidebar-fixed .products:not(.product-list),
  body.post-type-archive-product .content-wrapper.mivia-archive-sidebar-fixed .products:not(.product-list),
  body.tax-product_cat .content-wrapper.mivia-archive-sidebar-fixed .products:not(.product-list),
  body.archive.woocommerce .content-wrapper.mivia-archive-sidebar-fixed .products:not(.product-list) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 991px) {
  body.woocommerce-shop .content-wrapper.mivia-archive-sidebar-fixed,
  body.post-type-archive-product .content-wrapper.mivia-archive-sidebar-fixed,
  body.tax-product_cat .content-wrapper.mivia-archive-sidebar-fixed,
  body.archive.woocommerce .content-wrapper.mivia-archive-sidebar-fixed {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.woocommerce-shop .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column,
  body.post-type-archive-product .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column,
  body.tax-product_cat .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column,
  body.archive.woocommerce .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column,
  body.woocommerce-shop .content-wrapper.mivia-archive-sidebar-fixed > .primary-column,
  body.post-type-archive-product .content-wrapper.mivia-archive-sidebar-fixed > .primary-column,
  body.tax-product_cat .content-wrapper.mivia-archive-sidebar-fixed > .primary-column,
  body.archive.woocommerce .content-wrapper.mivia-archive-sidebar-fixed > .primary-column {
    grid-column: 1 !important;
  }

  body.woocommerce-shop .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column,
  body.post-type-archive-product .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column,
  body.tax-product_cat .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column,
  body.archive.woocommerce .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column {
    grid-row: 1 !important;
  }

  body.woocommerce-shop .content-wrapper.mivia-archive-sidebar-fixed > .primary-column,
  body.post-type-archive-product .content-wrapper.mivia-archive-sidebar-fixed > .primary-column,
  body.tax-product_cat .content-wrapper.mivia-archive-sidebar-fixed > .primary-column,
  body.archive.woocommerce .content-wrapper.mivia-archive-sidebar-fixed > .primary-column {
    grid-row: 2 !important;
  }
}

@media (max-width: 640px) {
  body.woocommerce-shop .content-wrapper.mivia-archive-sidebar-fixed .woocommerce .products:not(.product-list),
  body.post-type-archive-product .content-wrapper.mivia-archive-sidebar-fixed .woocommerce .products:not(.product-list),
  body.tax-product_cat .content-wrapper.mivia-archive-sidebar-fixed .woocommerce .products:not(.product-list),
  body.archive.woocommerce .content-wrapper.mivia-archive-sidebar-fixed .woocommerce .products:not(.product-list),
  body.woocommerce-shop .content-wrapper.mivia-archive-sidebar-fixed .products:not(.product-list),
  body.post-type-archive-product .content-wrapper.mivia-archive-sidebar-fixed .products:not(.product-list),
  body.tax-product_cat .content-wrapper.mivia-archive-sidebar-fixed .products:not(.product-list),
  body.archive.woocommerce .content-wrapper.mivia-archive-sidebar-fixed .products:not(.product-list) {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

body.woocommerce-shop .mivia-sidebar-toggle-row,
body.post-type-archive-product .mivia-sidebar-toggle-row,
body.tax-product_cat .mivia-sidebar-toggle-row,
body.archive.woocommerce .mivia-sidebar-toggle-row {
  display: none !important;
}

body.woocommerce-shop .content-wrapper.mivia-archive-sidebar-fixed,
body.post-type-archive-product .content-wrapper.mivia-archive-sidebar-fixed,
body.tax-product_cat .content-wrapper.mivia-archive-sidebar-fixed,
body.archive.woocommerce .content-wrapper.mivia-archive-sidebar-fixed {
  display: grid !important;
  grid-template-columns: clamp(188px, 13vw, 220px) minmax(0, 1fr) !important;
  column-gap: clamp(24px, 3vw, 42px) !important;
  row-gap: 24px !important;
  align-items: start !important;
}

body.woocommerce-shop .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column,
body.post-type-archive-product .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column,
body.tax-product_cat .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column,
body.archive.woocommerce .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column {
  grid-column: 1 !important;
  grid-row: 1 / span 2 !important;
  display: block !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  background: var(--mivia-bg) !important;
}

body.woocommerce-shop .content-wrapper.mivia-archive-sidebar-fixed > .primary-column,
body.post-type-archive-product .content-wrapper.mivia-archive-sidebar-fixed > .primary-column,
body.tax-product_cat .content-wrapper.mivia-archive-sidebar-fixed > .primary-column,
body.archive.woocommerce .content-wrapper.mivia-archive-sidebar-fixed > .primary-column {
  grid-column: 2 !important;
  grid-row: 1 !important;
  display: block !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

body.woocommerce-shop .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column .widget,
body.post-type-archive-product .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column .widget,
body.tax-product_cat .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column .widget,
body.archive.woocommerce .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column .widget {
  margin-bottom: 34px !important;
}

body.woocommerce-shop .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column .widget-title,
body.post-type-archive-product .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column .widget-title,
body.tax-product_cat .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column .widget-title,
body.archive.woocommerce .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column .widget-title {
  font-size: 22px !important;
  line-height: 1.15 !important;
  margin-bottom: 18px !important;
}

body.woocommerce-shop .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column .widget-checkbox-list li .type-button,
body.post-type-archive-product .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column .widget-checkbox-list li .type-button,
body.tax-product_cat .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column .widget-checkbox-list li .type-button,
body.archive.woocommerce .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column .widget-checkbox-list li .type-button,
body.woocommerce-shop .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column .woocommerce-widget-layered-nav-list li .type-button,
body.post-type-archive-product .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column .woocommerce-widget-layered-nav-list li .type-button,
body.tax-product_cat .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column .woocommerce-widget-layered-nav-list li .type-button,
body.archive.woocommerce .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column .woocommerce-widget-layered-nav-list li .type-button {
  font-size: 14px !important;
  padding-top: 4px !important;
  padding-bottom: 4px !important;
}

body.woocommerce-shop .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column .price_slider_wrapper .price_slider_amount,
body.post-type-archive-product .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column .price_slider_wrapper .price_slider_amount,
body.tax-product_cat .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column .price_slider_wrapper .price_slider_amount,
body.archive.woocommerce .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column .price_slider_wrapper .price_slider_amount {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 18px minmax(0, 1fr) !important;
  gap: 8px !important;
  align-items: end !important;
  margin-bottom: 14px !important;
}

body.woocommerce-shop .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column .price_slider_wrapper .price_slider_amount > *,
body.post-type-archive-product .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column .price_slider_wrapper .price_slider_amount > *,
body.tax-product_cat .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column .price_slider_wrapper .price_slider_amount > *,
body.archive.woocommerce .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column .price_slider_wrapper .price_slider_amount > * {
  min-width: 0 !important;
  width: 100% !important;
}

body.woocommerce-shop .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column .price_slider_wrapper .price_slider_amount > .separator,
body.post-type-archive-product .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column .price_slider_wrapper .price_slider_amount > .separator,
body.tax-product_cat .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column .price_slider_wrapper .price_slider_amount > .separator,
body.archive.woocommerce .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column .price_slider_wrapper .price_slider_amount > .separator {
  width: 18px !important;
  min-width: 18px !important;
  margin: 0 !important;
  padding: 0 0 11px !important;
  text-align: center !important;
}

body.woocommerce-shop .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column .price_slider_wrapper .price_slider_amount input,
body.post-type-archive-product .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column .price_slider_wrapper .price_slider_amount input,
body.tax-product_cat .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column .price_slider_wrapper .price_slider_amount input,
body.archive.woocommerce .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column .price_slider_wrapper .price_slider_amount input {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 40px !important;
  padding-left: 6px !important;
  padding-right: 6px !important;
  font-size: 16px !important;
  line-height: 40px !important;
  letter-spacing: 0 !important;
  text-align: center !important;
}

body.woocommerce-shop .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column .price_slider_wrapper .price_slider_bottom,
body.post-type-archive-product .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column .price_slider_wrapper .price_slider_bottom,
body.tax-product_cat .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column .price_slider_wrapper .price_slider_bottom,
body.archive.woocommerce .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column .price_slider_wrapper .price_slider_bottom {
  gap: 10px !important;
}

body.woocommerce-shop .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column .price_slider_wrapper .price_slider_bottom button,
body.post-type-archive-product .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column .price_slider_wrapper .price_slider_bottom button,
body.tax-product_cat .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column .price_slider_wrapper .price_slider_bottom button,
body.archive.woocommerce .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column .price_slider_wrapper .price_slider_bottom button {
  height: 38px !important;
  padding: 0 20px !important;
  font-size: 13px !important;
}

body.woocommerce-shop .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column .price_slider_wrapper .price_label,
body.post-type-archive-product .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column .price_slider_wrapper .price_label,
body.tax-product_cat .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column .price_slider_wrapper .price_label,
body.archive.woocommerce .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column .price_slider_wrapper .price_label {
  flex: 1 1 100% !important;
  margin-left: 0 !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  white-space: nowrap !important;
}

body.woocommerce-shop .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column .price_slider_wrapper .price_label span,
body.post-type-archive-product .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column .price_slider_wrapper .price_label span,
body.tax-product_cat .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column .price_slider_wrapper .price_label span,
body.archive.woocommerce .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column .price_slider_wrapper .price_label span {
  display: inline !important;
  white-space: nowrap !important;
}

body.woocommerce-shop .content-wrapper.mivia-archive-sidebar-fixed .before-shop-loop,
body.post-type-archive-product .content-wrapper.mivia-archive-sidebar-fixed .before-shop-loop,
body.tax-product_cat .content-wrapper.mivia-archive-sidebar-fixed .before-shop-loop,
body.archive.woocommerce .content-wrapper.mivia-archive-sidebar-fixed .before-shop-loop {
  justify-content: flex-end !important;
  margin-bottom: 30px !important;
}

body.woocommerce-shop .content-wrapper.mivia-archive-sidebar-fixed .woocommerce .products:not(.product-list),
body.post-type-archive-product .content-wrapper.mivia-archive-sidebar-fixed .woocommerce .products:not(.product-list),
body.tax-product_cat .content-wrapper.mivia-archive-sidebar-fixed .woocommerce .products:not(.product-list),
body.archive.woocommerce .content-wrapper.mivia-archive-sidebar-fixed .woocommerce .products:not(.product-list),
body.woocommerce-shop .content-wrapper.mivia-archive-sidebar-fixed .products:not(.product-list),
body.post-type-archive-product .content-wrapper.mivia-archive-sidebar-fixed .products:not(.product-list),
body.tax-product_cat .content-wrapper.mivia-archive-sidebar-fixed .products:not(.product-list),
body.archive.woocommerce .content-wrapper.mivia-archive-sidebar-fixed .products:not(.product-list) {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(18px, 2vw, 30px) !important;
  justify-content: stretch !important;
}

body.woocommerce-shop .content-wrapper.mivia-archive-sidebar-fixed .woocommerce .products:not(.product-list) > .product,
body.post-type-archive-product .content-wrapper.mivia-archive-sidebar-fixed .woocommerce .products:not(.product-list) > .product,
body.tax-product_cat .content-wrapper.mivia-archive-sidebar-fixed .woocommerce .products:not(.product-list) > .product,
body.archive.woocommerce .content-wrapper.mivia-archive-sidebar-fixed .woocommerce .products:not(.product-list) > .product,
body.woocommerce-shop .content-wrapper.mivia-archive-sidebar-fixed .products:not(.product-list) > .product,
body.post-type-archive-product .content-wrapper.mivia-archive-sidebar-fixed .products:not(.product-list) > .product,
body.tax-product_cat .content-wrapper.mivia-archive-sidebar-fixed .products:not(.product-list) > .product,
body.archive.woocommerce .content-wrapper.mivia-archive-sidebar-fixed .products:not(.product-list) > .product {
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
}

@media (max-width: 1199px) {
  body.woocommerce-shop .content-wrapper.mivia-archive-sidebar-fixed .woocommerce .products:not(.product-list),
  body.post-type-archive-product .content-wrapper.mivia-archive-sidebar-fixed .woocommerce .products:not(.product-list),
  body.tax-product_cat .content-wrapper.mivia-archive-sidebar-fixed .woocommerce .products:not(.product-list),
  body.archive.woocommerce .content-wrapper.mivia-archive-sidebar-fixed .woocommerce .products:not(.product-list),
  body.woocommerce-shop .content-wrapper.mivia-archive-sidebar-fixed .products:not(.product-list),
  body.post-type-archive-product .content-wrapper.mivia-archive-sidebar-fixed .products:not(.product-list),
  body.tax-product_cat .content-wrapper.mivia-archive-sidebar-fixed .products:not(.product-list),
  body.archive.woocommerce .content-wrapper.mivia-archive-sidebar-fixed .products:not(.product-list) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 991px) {
  body.woocommerce-shop .content-wrapper.mivia-archive-sidebar-fixed,
  body.post-type-archive-product .content-wrapper.mivia-archive-sidebar-fixed,
  body.tax-product_cat .content-wrapper.mivia-archive-sidebar-fixed,
  body.archive.woocommerce .content-wrapper.mivia-archive-sidebar-fixed {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.woocommerce-shop .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column,
  body.post-type-archive-product .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column,
  body.tax-product_cat .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column,
  body.archive.woocommerce .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column,
  body.woocommerce-shop .content-wrapper.mivia-archive-sidebar-fixed > .primary-column,
  body.post-type-archive-product .content-wrapper.mivia-archive-sidebar-fixed > .primary-column,
  body.tax-product_cat .content-wrapper.mivia-archive-sidebar-fixed > .primary-column,
  body.archive.woocommerce .content-wrapper.mivia-archive-sidebar-fixed > .primary-column {
    grid-column: 1 !important;
  }

  body.woocommerce-shop .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column,
  body.post-type-archive-product .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column,
  body.tax-product_cat .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column,
  body.archive.woocommerce .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column {
    grid-row: 1 !important;
  }

  body.woocommerce-shop .content-wrapper.mivia-archive-sidebar-fixed > .primary-column,
  body.post-type-archive-product .content-wrapper.mivia-archive-sidebar-fixed > .primary-column,
  body.tax-product_cat .content-wrapper.mivia-archive-sidebar-fixed > .primary-column,
  body.archive.woocommerce .content-wrapper.mivia-archive-sidebar-fixed > .primary-column {
    grid-row: 2 !important;
  }
}

@media (max-width: 640px) {
  body.woocommerce-shop .content-wrapper.mivia-archive-sidebar-fixed .woocommerce .products:not(.product-list),
  body.post-type-archive-product .content-wrapper.mivia-archive-sidebar-fixed .woocommerce .products:not(.product-list),
  body.tax-product_cat .content-wrapper.mivia-archive-sidebar-fixed .woocommerce .products:not(.product-list),
  body.archive.woocommerce .content-wrapper.mivia-archive-sidebar-fixed .woocommerce .products:not(.product-list),
  body.woocommerce-shop .content-wrapper.mivia-archive-sidebar-fixed .products:not(.product-list),
  body.post-type-archive-product .content-wrapper.mivia-archive-sidebar-fixed .products:not(.product-list),
  body.tax-product_cat .content-wrapper.mivia-archive-sidebar-fixed .products:not(.product-list),
  body.archive.woocommerce .content-wrapper.mivia-archive-sidebar-fixed .products:not(.product-list) {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

@media (max-width: 991px) {
  body.woocommerce-shop .content-wrapper.mivia-archive-filter-wrapper,
  body.post-type-archive-product .content-wrapper.mivia-archive-filter-wrapper,
  body.tax-product_cat .content-wrapper.mivia-archive-filter-wrapper,
  body.archive.woocommerce .content-wrapper.mivia-archive-filter-wrapper {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.woocommerce-shop .content-wrapper.mivia-sidebar-open > .sidebar.secondary-column,
  body.post-type-archive-product .content-wrapper.mivia-sidebar-open > .sidebar.secondary-column,
  body.tax-product_cat .content-wrapper.mivia-sidebar-open > .sidebar.secondary-column,
  body.archive.woocommerce .content-wrapper.mivia-sidebar-open > .sidebar.secondary-column,
  body.woocommerce-shop .content-wrapper.mivia-sidebar-open > .primary-column,
  body.post-type-archive-product .content-wrapper.mivia-sidebar-open > .primary-column,
  body.tax-product_cat .content-wrapper.mivia-sidebar-open > .primary-column,
  body.archive.woocommerce .content-wrapper.mivia-sidebar-open > .primary-column {
    grid-column: 1 !important;
  }

  body.woocommerce-shop .content-wrapper.mivia-sidebar-open > .sidebar.secondary-column,
  body.post-type-archive-product .content-wrapper.mivia-sidebar-open > .sidebar.secondary-column,
  body.tax-product_cat .content-wrapper.mivia-sidebar-open > .sidebar.secondary-column,
  body.archive.woocommerce .content-wrapper.mivia-sidebar-open > .sidebar.secondary-column {
    grid-row: 1 !important;
  }

  body.woocommerce-shop .content-wrapper.mivia-sidebar-open > .primary-column,
  body.post-type-archive-product .content-wrapper.mivia-sidebar-open > .primary-column,
  body.tax-product_cat .content-wrapper.mivia-sidebar-open > .primary-column,
  body.archive.woocommerce .content-wrapper.mivia-sidebar-open > .primary-column {
    grid-row: 2 !important;
  }
}

body.woocommerce-shop,
body.post-type-archive-product,
body.tax-product_cat,
body.archive.woocommerce {
  --color-product-background: var(--mivia-bg) !important;
}

body.woocommerce-shop [data-mivia-archive-toolbar],
body.post-type-archive-product [data-mivia-archive-toolbar],
body.tax-product_cat [data-mivia-archive-toolbar],
body.archive.woocommerce [data-mivia-archive-toolbar],
body.woocommerce-shop .before-shop-loop > .column.left,
body.post-type-archive-product .before-shop-loop > .column.left,
body.tax-product_cat .before-shop-loop > .column.left,
body.archive.woocommerce .before-shop-loop > .column.left,
body.woocommerce-shop .woocommerce-result-count,
body.post-type-archive-product .woocommerce-result-count,
body.tax-product_cat .woocommerce-result-count,
body.archive.woocommerce .woocommerce-result-count,
body.woocommerce-shop .before-shop-loop .sorting-per-page,
body.post-type-archive-product .before-shop-loop .sorting-per-page,
body.tax-product_cat .before-shop-loop .sorting-per-page,
body.archive.woocommerce .before-shop-loop .sorting-per-page,
body.woocommerce-shop .before-shop-loop .products-per-page,
body.post-type-archive-product .before-shop-loop .products-per-page,
body.tax-product_cat .before-shop-loop .products-per-page,
body.archive.woocommerce .before-shop-loop .products-per-page,
body.woocommerce-shop .before-shop-loop select[name="perpage"],
body.post-type-archive-product .before-shop-loop select[name="perpage"],
body.tax-product_cat .before-shop-loop select[name="perpage"],
body.archive.woocommerce .before-shop-loop select[name="perpage"] {
  display: none !important;
}

body.woocommerce-shop .before-shop-loop,
body.post-type-archive-product .before-shop-loop,
body.tax-product_cat .before-shop-loop,
body.archive.woocommerce .before-shop-loop {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  background: var(--mivia-bg) !important;
}

body.woocommerce-shop .before-shop-loop > .column.right,
body.post-type-archive-product .before-shop-loop > .column.right,
body.tax-product_cat .before-shop-loop > .column.right,
body.archive.woocommerce .before-shop-loop > .column.right {
  display: inline-flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  margin-left: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  gap: 14px !important;
}

body.woocommerce-shop .before-shop-loop .shop-sorting-wrapper,
body.post-type-archive-product .before-shop-loop .shop-sorting-wrapper,
body.tax-product_cat .before-shop-loop .shop-sorting-wrapper,
body.archive.woocommerce .before-shop-loop .shop-sorting-wrapper {
  display: inline-flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  margin-left: auto !important;
}

body.woocommerce-shop .content-wrapper.mivia-archive-filter-wrapper,
body.post-type-archive-product .content-wrapper.mivia-archive-filter-wrapper,
body.tax-product_cat .content-wrapper.mivia-archive-filter-wrapper,
body.archive.woocommerce .content-wrapper.mivia-archive-filter-wrapper {
  display: grid !important;
  grid-template-columns: minmax(230px, 310px) minmax(0, 1fr) !important;
  column-gap: clamp(28px, 4vw, 64px) !important;
  align-items: start !important;
}

body.woocommerce-shop .content-wrapper.mivia-sidebar-collapsed,
body.post-type-archive-product .content-wrapper.mivia-sidebar-collapsed,
body.tax-product_cat .content-wrapper.mivia-sidebar-collapsed,
body.archive.woocommerce .content-wrapper.mivia-sidebar-collapsed {
  grid-template-columns: minmax(0, 1fr) !important;
}

body.woocommerce-shop .content-wrapper.mivia-sidebar-open > .sidebar.secondary-column,
body.post-type-archive-product .content-wrapper.mivia-sidebar-open > .sidebar.secondary-column,
body.tax-product_cat .content-wrapper.mivia-sidebar-open > .sidebar.secondary-column,
body.archive.woocommerce .content-wrapper.mivia-sidebar-open > .sidebar.secondary-column {
  grid-column: 1 !important;
  grid-row: 1 !important;
  display: block !important;
  width: auto !important;
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  background: var(--mivia-bg) !important;
}

body.woocommerce-shop .content-wrapper.mivia-sidebar-open > .primary-column,
body.post-type-archive-product .content-wrapper.mivia-sidebar-open > .primary-column,
body.tax-product_cat .content-wrapper.mivia-sidebar-open > .primary-column,
body.archive.woocommerce .content-wrapper.mivia-sidebar-open > .primary-column,
body.woocommerce-shop .content-wrapper.mivia-sidebar-collapsed > .primary-column,
body.post-type-archive-product .content-wrapper.mivia-sidebar-collapsed > .primary-column,
body.tax-product_cat .content-wrapper.mivia-sidebar-collapsed > .primary-column,
body.archive.woocommerce .content-wrapper.mivia-sidebar-collapsed > .primary-column {
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.woocommerce-shop .content-wrapper.mivia-sidebar-open > .primary-column,
body.post-type-archive-product .content-wrapper.mivia-sidebar-open > .primary-column,
body.tax-product_cat .content-wrapper.mivia-sidebar-open > .primary-column,
body.archive.woocommerce .content-wrapper.mivia-sidebar-open > .primary-column {
  grid-column: 2 !important;
  grid-row: 1 !important;
}

body.woocommerce-shop .content-wrapper.mivia-sidebar-collapsed > .primary-column,
body.post-type-archive-product .content-wrapper.mivia-sidebar-collapsed > .primary-column,
body.tax-product_cat .content-wrapper.mivia-sidebar-collapsed > .primary-column,
body.archive.woocommerce .content-wrapper.mivia-sidebar-collapsed > .primary-column {
  grid-column: 1 !important;
  grid-row: 1 !important;
}

body.woocommerce-shop .mivia-sidebar-widget-hidden,
body.post-type-archive-product .mivia-sidebar-widget-hidden,
body.tax-product_cat .mivia-sidebar-widget-hidden,
body.archive.woocommerce .mivia-sidebar-widget-hidden {
  display: none !important;
}

body.woocommerce-shop .woocommerce .products .product,
body.post-type-archive-product .woocommerce .products .product,
body.tax-product_cat .woocommerce .products .product,
body.archive.woocommerce .woocommerce .products .product,
body.woocommerce-shop .woocommerce .products .product .product-wrapper,
body.post-type-archive-product .woocommerce .products .product .product-wrapper,
body.tax-product_cat .woocommerce .products .product .product-wrapper,
body.archive.woocommerce .woocommerce .products .product .product-wrapper,
body.woocommerce-shop .woocommerce .products .product .product-inner,
body.post-type-archive-product .woocommerce .products .product .product-inner,
body.tax-product_cat .woocommerce .products .product .product-inner,
body.archive.woocommerce .woocommerce .products .product .product-inner,
body.woocommerce-shop .woocommerce .products .product .product-content,
body.post-type-archive-product .woocommerce .products .product .product-content,
body.tax-product_cat .woocommerce .products .product .product-content,
body.archive.woocommerce .woocommerce .products .product .product-content,
body.woocommerce-shop .woocommerce .products .product .product-thumbnail-wrapper,
body.post-type-archive-product .woocommerce .products .product .product-thumbnail-wrapper,
body.tax-product_cat .woocommerce .products .product .product-thumbnail-wrapper,
body.archive.woocommerce .woocommerce .products .product .product-thumbnail-wrapper,
body.woocommerce-shop .woocommerce .products .product .product-thumbnail,
body.post-type-archive-product .woocommerce .products .product .product-thumbnail,
body.tax-product_cat .woocommerce .products .product .product-thumbnail,
body.archive.woocommerce .woocommerce .products .product .product-thumbnail,
body.woocommerce-shop .woocommerce .products .product .product-thumbnail a,
body.post-type-archive-product .woocommerce .products .product .product-thumbnail a,
body.tax-product_cat .woocommerce .products .product .product-thumbnail a,
body.archive.woocommerce .woocommerce .products .product .product-thumbnail a,
body.woocommerce-shop .woocommerce .products .product .woocommerce-loop-product__link,
body.post-type-archive-product .woocommerce .products .product .woocommerce-loop-product__link,
body.tax-product_cat .woocommerce .products .product .woocommerce-loop-product__link,
body.archive.woocommerce .woocommerce .products .product .woocommerce-loop-product__link,
body.woocommerce-shop .woocommerce .products .product .mivia-loop-gallery-track,
body.post-type-archive-product .woocommerce .products .product .mivia-loop-gallery-track,
body.tax-product_cat .woocommerce .products .product .mivia-loop-gallery-track,
body.archive.woocommerce .woocommerce .products .product .mivia-loop-gallery-track,
body.woocommerce-shop .woocommerce .products .product .mivia-loop-gallery-slide,
body.post-type-archive-product .woocommerce .products .product .mivia-loop-gallery-slide,
body.tax-product_cat .woocommerce .products .product .mivia-loop-gallery-slide,
body.archive.woocommerce .woocommerce .products .product .mivia-loop-gallery-slide,
body.woocommerce-shop .woocommerce .products .product .hover-gallery-item,
body.post-type-archive-product .woocommerce .products .product .hover-gallery-item,
body.tax-product_cat .woocommerce .products .product .hover-gallery-item,
body.archive.woocommerce .woocommerce .products .product .hover-gallery-item {
  background: var(--mivia-bg) !important;
  background-color: var(--mivia-bg) !important;
}

body.woocommerce-shop .content-wrapper.mivia-archive-sidebar-fixed,
body.post-type-archive-product .content-wrapper.mivia-archive-sidebar-fixed,
body.tax-product_cat .content-wrapper.mivia-archive-sidebar-fixed,
body.archive.woocommerce .content-wrapper.mivia-archive-sidebar-fixed {
  display: grid !important;
  grid-template-columns: clamp(188px, 13vw, 220px) minmax(0, 1fr) !important;
  column-gap: clamp(24px, 3vw, 42px) !important;
  align-items: start !important;
}

body.woocommerce-shop .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column,
body.post-type-archive-product .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column,
body.tax-product_cat .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column,
body.archive.woocommerce .content-wrapper.mivia-archive-sidebar-fixed > .sidebar.secondary-column {
  grid-column: 1 !important;
  grid-row: 1 / span 2 !important;
  display: block !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

body.woocommerce-shop .content-wrapper.mivia-archive-sidebar-fixed > .primary-column,
body.post-type-archive-product .content-wrapper.mivia-archive-sidebar-fixed > .primary-column,
body.tax-product_cat .content-wrapper.mivia-archive-sidebar-fixed > .primary-column,
body.archive.woocommerce .content-wrapper.mivia-archive-sidebar-fixed > .primary-column {
  grid-column: 2 !important;
  grid-row: 1 !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

body.woocommerce-shop .content-wrapper.mivia-archive-sidebar-fixed .woocommerce .products:not(.product-list),
body.post-type-archive-product .content-wrapper.mivia-archive-sidebar-fixed .woocommerce .products:not(.product-list),
body.tax-product_cat .content-wrapper.mivia-archive-sidebar-fixed .woocommerce .products:not(.product-list),
body.archive.woocommerce .content-wrapper.mivia-archive-sidebar-fixed .woocommerce .products:not(.product-list),
body.woocommerce-shop .content-wrapper.mivia-archive-sidebar-fixed .products:not(.product-list),
body.post-type-archive-product .content-wrapper.mivia-archive-sidebar-fixed .products:not(.product-list),
body.tax-product_cat .content-wrapper.mivia-archive-sidebar-fixed .products:not(.product-list),
body.archive.woocommerce .content-wrapper.mivia-archive-sidebar-fixed .products:not(.product-list) {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(18px, 2vw, 30px) !important;
  justify-content: stretch !important;
}

/* Final table configurator overrides. */
body.single-product .single-product-detail .mivia-table-configurator .mivia-config-options-table-size,
body.single-product .single-product-detail .mivia-table-configurator .mivia-config-wood-row {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

body.single-product .single-product-detail .mivia-table-configurator button.mivia-config-wood-choice,
body.single-product .single-product-detail .mivia-table-configurator button.mivia-config-wood-choice:hover,
body.single-product .single-product-detail .mivia-table-configurator button.mivia-config-wood-choice:focus {
  display: grid !important;
  grid-template-rows: auto minmax(34px, auto) !important;
  gap: 7px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

body.single-product .single-product-detail .mivia-table-configurator .mivia-config-wood-sample {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  border: 1px solid #D8D2C5 !important;
  background: transparent !important;
  overflow: hidden !important;
}

body.single-product .single-product-detail .mivia-table-configurator .mivia-config-wood-choice.is-selected .mivia-config-wood-sample {
  border-color: var(--mivia-ink) !important;
}

body.single-product .single-product-detail .mivia-table-configurator .mivia-config-wood-sample img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}

body.single-product .single-product-detail .mivia-table-configurator .mivia-config-wood-label {
  display: block !important;
  color: #62645E !important;
  font-family: var(--mivia-sans) !important;
  font-size: 12px !important;
  line-height: 1.18 !important;
  text-align: center !important;
  overflow-wrap: anywhere !important;
}

body.single-product .single-product-detail .mivia-table-configurator .mivia-config-wood-choice.is-selected .mivia-config-wood-label,
body.single-product .single-product-detail .mivia-table-configurator .mivia-config-wood-choice:hover .mivia-config-wood-label,
body.single-product .single-product-detail .mivia-table-configurator .mivia-config-wood-choice:focus .mivia-config-wood-label {
  color: var(--mivia-ink) !important;
}

body.single-product.mivia-table-product .single-product-gallery [class*="video"],
body.single-product.mivia-table-product .single-product-gallery [class*="Video"],
body.single-product.mivia-table-product .single-product-gallery [href*="youtube"],
body.single-product.mivia-table-product .single-product-gallery [href*="vimeo"],
body.single-product.mivia-table-product .single-product-gallery .product-video-button,
body.single-product.mivia-table-product .single-product-gallery .woocommerce-product-gallery__trigger {
  display: none !important;
}

body.single-product.mivia-table-product .mivia-product-main-frame img,
body.single-product.mivia-table-product .single-product-gallery .woocommerce-product-gallery__image img,
body.single-product.mivia-table-product .single-product-gallery .woocommerce-product-gallery__wrapper img,
body.single-product.mivia-table-product .single-product-gallery .flex-viewport img,
body.single-product.mivia-table-product .mivia-product-media-track img {
  box-sizing: border-box !important;
  object-fit: contain !important;
  object-position: center !important;
  padding: clamp(24px, 4vw, 64px) !important;
  background: var(--mivia-bg-alt) !important;
}

body.single-product.mivia-table-product .mivia-product-thumb,
body.single-product.mivia-table-product button.mivia-product-thumb:not(.slick-arrow):not(.btn-link),
body.single-product.mivia-table-product .single-product-gallery button.mivia-product-thumb {
  background-color: var(--mivia-bg-alt) !important;
  background-size: contain !important;
}

body.single-product.mivia-table-product .mivia-product-media-track figure {
  background: var(--mivia-bg-alt) !important;
}

@media (max-width: 1180px) {
  body.single-product .single-product-detail .mivia-table-configurator .mivia-config-options-table-size,
  body.single-product .single-product-detail .mivia-table-configurator .mivia-config-wood-row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 640px) {
  body.single-product .single-product-detail .mivia-table-configurator .mivia-config-options-table-size,
  body.single-product .single-product-detail .mivia-table-configurator .mivia-config-wood-row {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* Last table overrides: keep one cream tone and equal wood swatches. */
body.single-product.mivia-table-product .mivia-product-main-frame,
body.single-product.mivia-table-product .single-product-gallery .woocommerce-product-gallery,
body.single-product.mivia-table-product .single-product-gallery .woocommerce-product-gallery__wrapper,
body.single-product.mivia-table-product .single-product-gallery .woocommerce-product-gallery__image,
body.single-product.mivia-table-product .single-product-gallery .woocommerce-product-gallery__image a,
body.single-product.mivia-table-product .single-product-gallery .flex-viewport,
body.single-product.mivia-table-product .mivia-product-media-track figure {
  background: var(--mivia-bg) !important;
  background-color: var(--mivia-bg) !important;
}

body.single-product.mivia-table-product .mivia-product-main-frame img,
body.single-product.mivia-table-product .single-product-gallery .woocommerce-product-gallery__image img,
body.single-product.mivia-table-product .single-product-gallery .woocommerce-product-gallery__wrapper img,
body.single-product.mivia-table-product .single-product-gallery .flex-viewport img,
body.single-product.mivia-table-product .mivia-product-media-track img {
  background: var(--mivia-bg) !important;
  background-color: var(--mivia-bg) !important;
}

body.single-product.mivia-table-product .mivia-product-thumb,
body.single-product.mivia-table-product button.mivia-product-thumb:not(.slick-arrow):not(.btn-link),
body.single-product.mivia-table-product .single-product-gallery button.mivia-product-thumb {
  background: var(--mivia-bg) !important;
  background-color: var(--mivia-bg) !important;
}

body.single-product .single-product-detail .mivia-table-configurator .mivia-config-wood-row {
  align-items: start !important;
  grid-auto-rows: auto !important;
}

body.single-product .single-product-detail .mivia-table-configurator .mivia-config-wood-choice,
body.single-product .single-product-detail .mivia-table-configurator button.mivia-config-wood-choice {
  align-content: start !important;
  grid-template-rows: auto minmax(34px, auto) !important;
  height: 100% !important;
}

body.single-product .single-product-detail .mivia-table-configurator .mivia-config-wood-sample {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 1 / 1 !important;
  background: var(--mivia-bg) !important;
  background-color: var(--mivia-bg) !important;
}

body.single-product .single-product-detail .mivia-table-configurator .mivia-config-wood-sample img {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center !important;
}

body.single-product .single-product-detail .mivia-table-configurator .mivia-config-wood-label {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  min-height: 2.35em !important;
}
/* EOF lock: equal wood finish tiles after all theme overrides. */
body.single-product .single-product-detail .mivia-table-configurator .mivia-config-wood-row,
.mivia-table-configurator .mivia-config-wood-row {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, clamp(150px, 10.8vw, 220px))) !important;
  gap: 18px !important;
  align-items: start !important;
  justify-items: stretch !important;
  justify-content: start !important;
}

body.single-product .single-product-detail .mivia-table-configurator .mivia-config-wood-choice,
body.single-product .single-product-detail .mivia-table-configurator button.mivia-config-wood-choice,
.mivia-table-configurator .mivia-config-wood-choice,
.mivia-table-configurator button.mivia-config-wood-choice {
  display: grid !important;
  grid-template-rows: minmax(0, 1fr) minmax(42px, auto) !important;
  gap: 8px !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

body.single-product .single-product-detail .mivia-table-configurator .mivia-config-wood-sample,
.mivia-table-configurator .mivia-config-wood-sample {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 1 / 1 !important;
  box-sizing: border-box !important;
  flex: none !important;
  background: var(--mivia-bg) !important;
  background-color: var(--mivia-bg) !important;
  overflow: hidden !important;
}

body.single-product .single-product-detail .mivia-table-configurator .mivia-config-wood-sample img,
.mivia-table-configurator .mivia-config-wood-sample img {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center !important;
}

body.single-product .single-product-detail .mivia-table-configurator .mivia-config-wood-label,
.mivia-table-configurator .mivia-config-wood-label {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  min-height: 42px !important;
  width: 100% !important;
  color: #62645E !important;
  font-size: 12px !important;
  line-height: 1.18 !important;
  text-align: center !important;
  overflow-wrap: anywhere !important;
}

@media (max-width: 640px) {
  body.single-product .single-product-detail .mivia-table-configurator .mivia-config-wood-row,
  .mivia-table-configurator .mivia-config-wood-row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Final lock: every wood swatch uses the same square, regardless of image size or label length. */
body.single-product .single-product-detail .mivia-table-configurator .mivia-config-wood-row,
.mivia-table-configurator .mivia-config-wood-row {
  --mivia-wood-swatch-size: clamp(150px, 10.8vw, 220px) !important;
  display: grid !important;
  grid-template-columns: repeat(3, var(--mivia-wood-swatch-size)) !important;
  gap: 18px !important;
  align-items: start !important;
  justify-items: start !important;
  justify-content: start !important;
  grid-auto-rows: auto !important;
}

body.single-product .single-product-detail .mivia-table-configurator .mivia-config-wood-choice,
body.single-product .single-product-detail .mivia-table-configurator button.mivia-config-wood-choice,
.mivia-table-configurator .mivia-config-wood-choice,
.mivia-table-configurator button.mivia-config-wood-choice {
  display: grid !important;
  grid-template-rows: var(--mivia-wood-swatch-size) minmax(42px, auto) !important;
  gap: 8px !important;
  align-self: start !important;
  justify-self: start !important;
  justify-items: center !important;
  width: var(--mivia-wood-swatch-size) !important;
  min-width: var(--mivia-wood-swatch-size) !important;
  max-width: var(--mivia-wood-swatch-size) !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

body.single-product .single-product-detail .mivia-table-configurator .mivia-config-wood-sample,
.mivia-table-configurator .mivia-config-wood-sample {
  position: relative !important;
  display: block !important;
  width: var(--mivia-wood-swatch-size) !important;
  min-width: var(--mivia-wood-swatch-size) !important;
  max-width: var(--mivia-wood-swatch-size) !important;
  height: var(--mivia-wood-swatch-size) !important;
  min-height: var(--mivia-wood-swatch-size) !important;
  max-height: var(--mivia-wood-swatch-size) !important;
  aspect-ratio: 1 / 1 !important;
  box-sizing: border-box !important;
  flex: none !important;
  background: var(--mivia-bg) !important;
  background-color: var(--mivia-bg) !important;
  overflow: hidden !important;
}

body.single-product .single-product-detail .mivia-table-configurator .mivia-config-wood-sample img,
.mivia-table-configurator .mivia-config-wood-sample img {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  min-width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center !important;
}

body.single-product .single-product-detail .mivia-table-configurator .mivia-config-wood-label,
.mivia-table-configurator .mivia-config-wood-label {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  width: var(--mivia-wood-swatch-size) !important;
  min-height: 42px !important;
  color: #62645E !important;
  font-size: 12px !important;
  line-height: 1.18 !important;
  text-align: center !important;
  overflow-wrap: anywhere !important;
}

@media (max-width: 640px) {
  body.single-product .single-product-detail .mivia-table-configurator .mivia-config-wood-row,
  .mivia-table-configurator .mivia-config-wood-row {
    --mivia-wood-swatch-size: min(42vw, 180px) !important;
    grid-template-columns: repeat(2, var(--mivia-wood-swatch-size)) !important;
  }
}

/* Product information blocks: made-to-order, timing, warranty and material notes. */
body.single-product .single-product-detail .mivia-product-service-notes {
  display: grid !important;
  gap: 10px !important;
  margin: 24px 0 0 !important;
  padding: 18px 0 !important;
  border-top: 1px solid var(--mivia-line) !important;
  border-bottom: 1px solid var(--mivia-line) !important;
  background: transparent !important;
}

body.single-product .single-product-detail .mivia-product-service-note {
  display: grid !important;
  grid-template-columns: minmax(110px, .42fr) minmax(0, 1fr) !important;
  gap: 14px !important;
  align-items: baseline !important;
  color: var(--mivia-muted) !important;
  font-family: var(--mivia-sans) !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
}

body.single-product .single-product-detail .mivia-product-service-note strong {
  color: var(--mivia-ink) !important;
  font-weight: 500 !important;
}

body.single-product .single-product-detail .mivia-product-service-note-full {
  display: block !important;
}

body.single-product .single-product-detail .mivia-product-service-note-full strong {
  display: block !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
}

body.single-product .single-product-detail .mivia-product-service-note span {
  color: var(--mivia-muted) !important;
}

body.single-product .mivia-product-spec-section {
  margin: 0 0 30px !important;
  padding: 0 0 28px !important;
  border-bottom: 1px solid var(--mivia-line) !important;
}

body.single-product .mivia-product-spec-section:last-child {
  margin-bottom: 0 !important;
}

body.single-product .mivia-product-spec-section h3 {
  margin: 0 0 16px !important;
  color: var(--mivia-ink) !important;
  font-family: var(--mivia-sans) !important;
  font-size: 15px !important;
  font-style: italic !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
  text-transform: uppercase !important;
}

body.single-product .mivia-product-spec-section p {
  max-width: 68ch !important;
  margin: 0 0 10px !important;
  color: var(--mivia-muted) !important;
  font-family: var(--mivia-sans) !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
}

body.single-product .mivia-product-spec-section p:last-child {
  margin-bottom: 0 !important;
}

body.single-product .mivia-product-spec-section strong {
  color: var(--mivia-ink) !important;
  font-weight: 600 !important;
}

body.single-product .mivia-product-info-table {
  width: 100% !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

body.single-product .mivia-product-info-table tr {
  display: grid !important;
  grid-template-columns: minmax(150px, .42fr) minmax(0, 1fr) !important;
  border-bottom: 1px solid var(--mivia-line) !important;
  background: transparent !important;
}

body.single-product .mivia-product-info-table tr:last-child {
  border-bottom: 0 !important;
}

body.single-product .mivia-product-info-table th,
body.single-product .mivia-product-info-table td {
  padding: 11px 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--mivia-muted) !important;
  font-family: var(--mivia-sans) !important;
  font-size: 14px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
  text-align: left !important;
}

body.single-product .mivia-product-info-table td {
  color: var(--mivia-ink) !important;
  text-align: right !important;
}

@media (max-width: 760px) {
  body.single-product .single-product-detail .mivia-product-service-note,
  body.single-product .mivia-product-info-table tr {
    grid-template-columns: 1fr !important;
    gap: 3px !important;
  }

  body.single-product .mivia-product-info-table td {
    text-align: left !important;
  }
}

/* Final header shop dropdown: text link opens shop, arrow opens persistent category list. */
body .site-header .site-nav .site-menu > li.mivia-shop-menu-item,
body #masthead .site-nav .site-menu > li.mivia-shop-menu-item {
  position: relative !important;
  display: inline-block !important;
}

body .site-header .mivia-shop-dropdown-toggle,
body #masthead .mivia-shop-dropdown-toggle {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

body .site-header .site-nav .site-menu > li.mivia-shop-menu-item > a.mivia-shop-link,
body #masthead .site-nav .site-menu > li.mivia-shop-menu-item > a.mivia-shop-link {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  cursor: pointer !important;
}

body .site-header .site-nav .site-menu > li.mivia-shop-menu-item > a.mivia-shop-link:hover,
body #masthead .site-nav .site-menu > li.mivia-shop-menu-item > a.mivia-shop-link:hover {
  color: var(--mivia-ink) !important;
}

body .site-header .site-nav .site-menu > li.mivia-shop-menu-item > a.mivia-shop-link:hover::after,
body #masthead .site-nav .site-menu > li.mivia-shop-menu-item > a.mivia-shop-link:hover::after {
  border-color: var(--mivia-hover-cream) !important;
}

body .site-header .site-nav .site-menu > li.mivia-shop-menu-item > .mivia-shop-product-menu,
body #masthead .site-nav .site-menu > li.mivia-shop-menu-item > .mivia-shop-product-menu {
  position: absolute !important;
  top: calc(100% + 12px) !important;
  left: 50% !important;
  z-index: 10050 !important;
  display: none !important;
  min-width: 220px !important;
  margin: 0 !important;
  padding: 18px 22px !important;
  list-style: none !important;
  background: var(--mivia-bg) !important;
  background-color: var(--mivia-bg) !important;
  opacity: 1 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border: 1px solid rgba(42, 40, 34, 0.1) !important;
  box-shadow: 0 16px 36px rgba(42, 40, 34, 0.1) !important;
  mix-blend-mode: normal !important;
  transform: translateX(-50%) !important;
}

body .site-header .site-nav .site-menu > li.mivia-shop-menu-open > .mivia-shop-product-menu,
body #masthead .site-nav .site-menu > li.mivia-shop-menu-open > .mivia-shop-product-menu {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

body .site-header .mivia-shop-product-menu li,
body #masthead .mivia-shop-product-menu li {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border-bottom: 1px solid rgba(42, 40, 34, 0.1) !important;
}

body .site-header .mivia-shop-product-menu li:last-child,
body #masthead .mivia-shop-product-menu li:last-child {
  border-bottom: 0 !important;
}

body .site-header .mivia-shop-product-menu a,
body #masthead .mivia-shop-product-menu a {
  display: block !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 14px 0 !important;
  color: var(--mivia-ink) !important;
  font-family: var(--mivia-sans) !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

body .site-header .mivia-shop-product-menu a:hover,
body #masthead .mivia-shop-product-menu a:hover {
  color: #8B8578 !important;
  background: transparent !important;
  background-color: transparent !important;
}

body .site-header button:hover,
body #masthead button:hover,
body .site-header .button:hover,
body #masthead .button:hover {
  background: var(--mivia-hover-cream) !important;
  background-color: var(--mivia-hover-cream) !important;
  border-color: var(--mivia-hover-cream) !important;
  color: var(--mivia-ink) !important;
}

/* Home: remove the empty space above the header/logo. */
body.home,
body.page-id-412,
body.mivia-home-header-overlap,
body.home #page,
body.page-id-412 #page,
body.mivia-home-header-overlap #page {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.home #page > #masthead.site-header,
body.page-id-412 #page > #masthead.site-header,
body.mivia-home-header-overlap #page > #masthead.site-header,
body.home #masthead.site-header,
body.page-id-412 #masthead.site-header,
body.mivia-home-header-overlap #masthead.site-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 10060 !important;
  width: min(100%, 1758px) !important;
  max-width: 1758px !important;
  margin-top: 0 !important;
  margin-right: auto !important;
  margin-bottom: 0 !important;
  margin-left: auto !important;
  background: var(--mivia-bg) !important;
  background-color: var(--mivia-bg) !important;
  border-radius: 0 !important;
  overflow: visible !important;
  box-shadow: none !important;
}

body.home #masthead.site-header::before,
body.page-id-412 #masthead.site-header::before,
body.mivia-home-header-overlap #masthead.site-header::before {
  background: var(--mivia-bg) !important;
  border-bottom: 1px solid rgba(43, 44, 40, .08) !important;
  box-shadow: none !important;
}

body.home #masthead.site-header .site-header-row,
body.home #masthead.site-header .site-header-row > .container,
body.home #masthead.site-header .site-header-inner,
body.page-id-412 #masthead.site-header .site-header-row,
body.page-id-412 #masthead.site-header .site-header-row > .container,
body.page-id-412 #masthead.site-header .site-header-inner,
body.mivia-home-header-overlap #masthead.site-header .site-header-row,
body.mivia-home-header-overlap #masthead.site-header .site-header-row > .container,
body.mivia-home-header-overlap #masthead.site-header .site-header-inner {
  background: var(--mivia-bg) !important;
  background-color: var(--mivia-bg) !important;
  border-radius: 0 !important;
  overflow: visible !important;
}

body.home #page > #masthead.site-header + #main.main-content,
body.page-id-412 #page > #masthead.site-header + #main.main-content,
body.mivia-home-header-overlap #page > #masthead.site-header + #main.main-content,
body.home #page > header#masthead.site-header + #main.main-content,
body.page-id-412 #page > header#masthead.site-header + #main.main-content,
body.mivia-home-header-overlap #page > header#masthead.site-header + #main.main-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.home .elementor-412,
body.page-id-412 .elementor-412,
body.mivia-home-header-overlap .elementor-412,
body.home .elementor-412 > .elementor-element:first-child,
body.page-id-412 .elementor-412 > .elementor-element:first-child,
body.mivia-home-header-overlap .elementor-412 > .elementor-element:first-child,
body.home .elementor-412 .elementor-element-e338c88,
body.page-id-412 .elementor-412 .elementor-element-e338c88,
body.mivia-home-header-overlap .elementor-412 .elementor-element-e338c88 {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.admin-bar.home #masthead.site-header,
body.admin-bar.page-id-412 #masthead.site-header,
body.admin-bar.mivia-home-header-overlap #masthead.site-header {
  top: 32px !important;
}

@media (max-width: 782px) {
  body.home #page > #masthead.site-header,
  body.page-id-412 #page > #masthead.site-header,
  body.mivia-home-header-overlap #page > #masthead.site-header,
  body.home #masthead.site-header,
  body.page-id-412 #masthead.site-header,
  body.mivia-home-header-overlap #masthead.site-header {
    top: 0 !important;
    width: 100% !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    border-radius: 0 !important;
  }

  body.home #masthead.site-header .site-header-row,
  body.home #masthead.site-header .site-header-row > .container,
  body.home #masthead.site-header .site-header-inner,
  body.page-id-412 #masthead.site-header .site-header-row,
  body.page-id-412 #masthead.site-header .site-header-row > .container,
  body.page-id-412 #masthead.site-header .site-header-inner,
  body.mivia-home-header-overlap #masthead.site-header .site-header-row,
  body.mivia-home-header-overlap #masthead.site-header .site-header-row > .container,
  body.mivia-home-header-overlap #masthead.site-header .site-header-inner {
    border-radius: 0 !important;
  }

  body.admin-bar.home #masthead.site-header,
  body.admin-bar.page-id-412 #masthead.site-header,
  body.admin-bar.mivia-home-header-overlap #masthead.site-header {
    top: 46px !important;
  }
}

/* Final hard reset: no empty strip above the header and no dim overlay on shop menu. */
html,
body,
body #page,
body .site,
body .site-wrapper,
body .site-content-wrapper,
body .page-wrapper {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.content-rounded::before {
  content: none !important;
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 0 !important;
  background: transparent !important;
  pointer-events: none !important;
}

body:not(.admin-bar) #masthead.site-header,
body:not(.admin-bar) header#masthead.site-header,
body:not(.admin-bar) .site-header,
body:not(.admin-bar) header.site-header {
  top: 0 !important;
}

body #masthead.site-header,
body header#masthead.site-header,
body .site-header,
body header.site-header {
  margin-top: 0 !important;
  padding-top: 0 !important;
  transform: none !important;
  filter: none !important;
  opacity: 1 !important;
  background: var(--mivia-bg) !important;
  background-color: var(--mivia-bg) !important;
}

body .site-header-spacer,
body .header-spacer,
body .site-header-placeholder,
body .header-placeholder,
body .sticky-header-placeholder,
body .header-space,
body .site-header-offset,
body .site-header-padding,
body .masthead-spacer {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

body #masthead.site-header .site-header-row,
body #masthead.site-header .site-header-row > .container,
body #masthead.site-header .site-header-inner,
body .site-header .site-header-row,
body .site-header .site-header-row > .container,
body .site-header .site-header-inner {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body .site-header .site-nav .site-menu > li.mivia-shop-menu-item > button,
body #masthead .site-nav .site-menu > li.mivia-shop-menu-item > button,
body .site-header .site-nav .site-menu > li.mivia-shop-menu-item > .submenu-toggle,
body #masthead .site-nav .site-menu > li.mivia-shop-menu-item > .submenu-toggle,
body .site-header .site-nav .site-menu > li.mivia-shop-menu-item > .dropdown-toggle,
body #masthead .site-nav .site-menu > li.mivia-shop-menu-item > .dropdown-toggle {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Header/menu cleanup: no dimming and no empty top band. */
html,
body {
  min-height: 0 !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body::before,
body.content-rounded::before,
body.content-rounded .main-content::before {
  content: none !important;
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

body:has(.mivia-shop-menu-open)::before,
body:has(.mivia-shop-menu-open)::after,
body:has(.mivia-shop-menu-open) #page::before,
body:has(.mivia-shop-menu-open) #page::after,
body:has(.mivia-shop-menu-open) .site::before,
body:has(.mivia-shop-menu-open) .site::after,
body:has(.mivia-shop-menu-open) .main-content::before,
body:has(.mivia-shop-menu-open) .main-content::after,
body:has(.mivia-shop-menu-open) .site-overlay,
body:has(.mivia-shop-menu-open) .site-backdrop,
body:has(.mivia-shop-menu-open) .overlay,
body:has(.mivia-shop-menu-open) .backdrop,
body:has(.mivia-shop-menu-open) .thb-overlay,
body:has(.mivia-shop-menu-open) .thb-mobile-menu-backdrop,
body:has(.mivia-shop-menu-open) .site-mobile-menu-backdrop,
body:has(.mivia-shop-menu-open) .menu-overlay,
body:has(.mivia-shop-menu-open) .menu-backdrop,
body:has(.mivia-shop-menu-open) .header-overlay,
body:has(.mivia-shop-menu-open) .header-backdrop,
body:has(.mivia-shop-menu-open) .mfp-bg {
  content: none !important;
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  background: transparent !important;
  pointer-events: none !important;
}

body:has(.mivia-shop-menu-open),
body:has(.mivia-shop-menu-open) #page,
body:has(.mivia-shop-menu-open) .site,
body:has(.mivia-shop-menu-open) #masthead.site-header,
body:has(.mivia-shop-menu-open) .site-header,
body:has(.mivia-shop-menu-open) #main.main-content,
body:has(.mivia-shop-menu-open) .main-content,
body:has(.mivia-shop-menu-open) .site-content,
body:has(.mivia-shop-menu-open) .content-area,
body:has(.mivia-shop-menu-open) .elementor,
body:has(.mivia-shop-menu-open) .woocommerce {
  filter: none !important;
  opacity: 1 !important;
}

body.home .elementor-412 .elementor-element-e338c88::before,
body.home .elementor-412 .elementor-element-e338c88::after,
body.home .elementor-412 .elementor-element-e338c88 > .elementor-background-overlay,
body.page-id-412 .elementor-412 .elementor-element-e338c88::before,
body.page-id-412 .elementor-412 .elementor-element-e338c88::after,
body.page-id-412 .elementor-412 .elementor-element-e338c88 > .elementor-background-overlay,
body.mivia-home-header-overlap .elementor-412 .elementor-element-e338c88::before,
body.mivia-home-header-overlap .elementor-412 .elementor-element-e338c88::after,
body.mivia-home-header-overlap .elementor-412 .elementor-element-e338c88 > .elementor-background-overlay {
  content: none !important;
  display: none !important;
  opacity: 0 !important;
  background: transparent !important;
}

body #masthead.site-header,
body header#masthead.site-header,
body .site-header,
body header.site-header {
  --theme-header-height-desktop: 72px !important;
  --theme-header-height-mobile: 72px !important;
  --header-height-desktop: 72px !important;
  --header-height-mobile: 72px !important;
  position: sticky !important;
  top: 0 !important;
  height: 72px !important;
  min-height: 72px !important;
  max-height: 72px !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  background: var(--mivia-bg) !important;
  background-color: var(--mivia-bg) !important;
  filter: none !important;
  opacity: 1 !important;
}

body #masthead.site-header::before,
body header#masthead.site-header::before,
body .site-header::before,
body header.site-header::before {
  top: 0 !important;
  height: 72px !important;
  min-height: 72px !important;
  max-height: 72px !important;
  background: var(--mivia-bg) !important;
  background-color: var(--mivia-bg) !important;
  opacity: 1 !important;
  filter: none !important;
}

body #masthead.site-header .site-header-row,
body #masthead.site-header .site-header-row > .container,
body #masthead.site-header .site-header-inner,
body .site-header .site-header-row,
body .site-header .site-header-row > .container,
body .site-header .site-header-inner {
  height: 72px !important;
  min-height: 72px !important;
  max-height: 72px !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  align-items: center !important;
}

body #masthead.site-header .site-brand,
body #masthead.site-header .site-brand a,
body .site-header .site-brand,
body .site-header .site-brand a {
  height: 72px !important;
  min-height: 72px !important;
  max-height: 72px !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
}

body.home #page > #masthead.site-header + #main.main-content,
body.page-id-412 #page > #masthead.site-header + #main.main-content,
body.mivia-home-header-overlap #page > #masthead.site-header + #main.main-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.home .elementor-412,
body.page-id-412 .elementor-412,
body.mivia-home-header-overlap .elementor-412,
body.home .elementor-412 > .elementor-element:first-child,
body.page-id-412 .elementor-412 > .elementor-element:first-child,
body.mivia-home-header-overlap .elementor-412 > .elementor-element:first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Emergency final pass: remove leftover top strip and page dimming. */
:root {
  --mivia-final-header-height: 60px;
}

html,
body,
body > #page,
body #page,
body .site,
body .site-wrapper,
body .site-container,
body .site-canvas,
body .wp-site-blocks,
body .page-wrapper,
body .site-content-wrapper,
body .content-wrapper {
  margin-top: 0 !important;
  padding-top: 0 !important;
  transform: none !important;
}

body .top-bar,
body .site-topbar,
body .header-top,
body .announcement-bar,
body .site-header-spacer,
body .header-spacer,
body .site-header-placeholder,
body .header-placeholder,
body .sticky-header-placeholder,
body .header-space,
body .header-offset,
body .site-header-offset,
body .site-header-padding,
body .masthead-spacer,
body .top-spacer,
body .wp-site-blocks > .wp-block-spacer:first-child {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

body #masthead.site-header,
body header#masthead.site-header,
body .site-header,
body header.site-header {
  --theme-header-height-desktop: var(--mivia-final-header-height) !important;
  --theme-header-height-mobile: var(--mivia-final-header-height) !important;
  --header-height-desktop: var(--mivia-final-header-height) !important;
  --header-height-mobile: var(--mivia-final-header-height) !important;
  position: sticky !important;
  top: 0 !important;
  height: var(--mivia-final-header-height) !important;
  min-height: var(--mivia-final-header-height) !important;
  max-height: var(--mivia-final-header-height) !important;
  margin: 0 auto !important;
  padding: 0 !important;
  background: var(--mivia-bg) !important;
  background-color: var(--mivia-bg) !important;
  box-shadow: none !important;
  filter: none !important;
  opacity: 1 !important;
}

body.admin-bar #masthead.site-header,
body.admin-bar header#masthead.site-header,
body.admin-bar .site-header,
body.admin-bar header.site-header {
  top: 32px !important;
}

body #masthead.site-header::before,
body #masthead.site-header::after,
body header#masthead.site-header::before,
body header#masthead.site-header::after,
body .site-header::before,
body .site-header::after,
body header.site-header::before,
body header.site-header::after {
  height: var(--mivia-final-header-height) !important;
  min-height: var(--mivia-final-header-height) !important;
  max-height: var(--mivia-final-header-height) !important;
  background: var(--mivia-bg) !important;
  background-color: var(--mivia-bg) !important;
  box-shadow: none !important;
  filter: none !important;
  opacity: 1 !important;
}

body #masthead.site-header .site-header-row,
body #masthead.site-header .site-header-row > .container,
body #masthead.site-header .site-header-inner,
body .site-header .site-header-row,
body .site-header .site-header-row > .container,
body .site-header .site-header-inner,
body #masthead.site-header .site-brand,
body #masthead.site-header .site-brand a,
body .site-header .site-brand,
body .site-header .site-brand a {
  height: var(--mivia-final-header-height) !important;
  min-height: var(--mivia-final-header-height) !important;
  max-height: var(--mivia-final-header-height) !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  align-items: center !important;
}

body.home #main.main-content,
body.page-id-412 #main.main-content,
body.mivia-home-header-overlap #main.main-content,
body.home #page > #masthead.site-header + #main.main-content,
body.page-id-412 #page > #masthead.site-header + #main.main-content,
body.mivia-home-header-overlap #page > #masthead.site-header + #main.main-content,
body.home .elementor-412,
body.page-id-412 .elementor-412,
body.mivia-home-header-overlap .elementor-412,
body.home .elementor-412 > .elementor-element:first-child,
body.page-id-412 .elementor-412 > .elementor-element:first-child,
body.mivia-home-header-overlap .elementor-412 > .elementor-element:first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.elementor-412 .elementor-element-e338c88::before,
.elementor-412 .elementor-element-e338c88::after,
.elementor-412 .elementor-element-e338c88 > .elementor-background-overlay,
.elementor-412 .elementor-element-8b62a35 .site-banner::before,
.elementor-412 .elementor-element-8b62a35 .site-banner::after,
.elementor-412 .elementor-element-8b62a35 .image-overlay::before,
.elementor-412 .elementor-element-8b62a35 .image-overlay::after {
  content: none !important;
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  background: transparent !important;
  filter: none !important;
  pointer-events: none !important;
}

.elementor-412 .elementor-element-e338c88,
.elementor-412 .elementor-element-e338c88 img,
.elementor-412 .elementor-element-e338c88 picture,
.elementor-412 .elementor-element-e338c88 .elementor-widget-container,
.elementor-412 .elementor-element-8b62a35 .site-banner,
.elementor-412 .elementor-element-8b62a35 .site-banner img {
  filter: none !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
}

body:not(.mivia-fabric-drawer-open) .site-overlay,
body:not(.mivia-fabric-drawer-open) .site-backdrop,
body:not(.mivia-fabric-drawer-open) .theme-overlay,
body:not(.mivia-fabric-drawer-open) .page-overlay,
body:not(.mivia-fabric-drawer-open) .menu-overlay,
body:not(.mivia-fabric-drawer-open) .menu-backdrop,
body:not(.mivia-fabric-drawer-open) .header-overlay,
body:not(.mivia-fabric-drawer-open) .header-backdrop,
body:not(.mivia-fabric-drawer-open) .mobile-menu-overlay,
body:not(.mivia-fabric-drawer-open) .mobile-menu-backdrop,
body:not(.mivia-fabric-drawer-open) .thb-overlay,
body:not(.mivia-fabric-drawer-open) .thb-mobile-menu-backdrop,
body:not(.mivia-fabric-drawer-open) .site-mobile-menu-backdrop,
body:not(.mivia-fabric-drawer-open) .mfp-bg {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  background: transparent !important;
  filter: none !important;
  pointer-events: none !important;
}

body:not(.mivia-fabric-drawer-open),
body:not(.mivia-fabric-drawer-open) #page,
body:not(.mivia-fabric-drawer-open) .site,
body:not(.mivia-fabric-drawer-open) #masthead.site-header,
body:not(.mivia-fabric-drawer-open) .site-header,
body:not(.mivia-fabric-drawer-open) #main.main-content,
body:not(.mivia-fabric-drawer-open) .main-content,
body:not(.mivia-fabric-drawer-open) .elementor,
body:not(.mivia-fabric-drawer-open) .woocommerce {
  filter: none !important;
  opacity: 1 !important;
}

html[style],
html.wp-toolbar,
body.admin-bar {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

#wpadminbar {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

body.admin-bar #masthead.site-header,
body.admin-bar header#masthead.site-header,
body.admin-bar .site-header,
body.admin-bar header.site-header {
  top: 0 !important;
}

body:not(.mivia-fabric-drawer-open)::before,
body:not(.mivia-fabric-drawer-open)::after,
body:not(.mivia-fabric-drawer-open) #page::before,
body:not(.mivia-fabric-drawer-open) #page::after,
body:not(.mivia-fabric-drawer-open) .site::before,
body:not(.mivia-fabric-drawer-open) .site::after {
  content: none !important;
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  opacity: 0 !important;
  background: transparent !important;
  filter: none !important;
  pointer-events: none !important;
}

body .site-header .site-nav .site-menu > li.mivia-shop-menu-item > .mivia-shop-product-menu,
body #masthead .site-nav .site-menu > li.mivia-shop-menu-item > .mivia-shop-product-menu {
  background: var(--mivia-bg) !important;
  background-color: var(--mivia-bg) !important;
  opacity: 1 !important;
  filter: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body .site-header .mivia-shop-product-menu a:hover,
body #masthead .mivia-shop-product-menu a:hover,
body .site-header .mivia-shop-product-menu a:focus,
body #masthead .mivia-shop-product-menu a:focus {
  color: var(--mivia-ink) !important;
  background: transparent !important;
  background-color: transparent !important;
}

/* Absolute last pass for the custom MIVIA header: keep only a small band above the logo. */
:root {
  --mivia-compact-header-height: 64px;
}

html,
body,
body.home,
body.page-id-412,
body.mivia-home-header-overlap,
body #page,
body.content-rounded .page-content,
body #main.main-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.content-rounded::before,
body.content-rounded .main-content::before,
body.content-rounded .main-content::after {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 0 !important;
  background: transparent !important;
  pointer-events: none !important;
}

body #masthead.site-header.mivia-header,
body header#masthead.site-header.mivia-header,
body .site-header.mivia-header {
  --theme-header-height-desktop: var(--mivia-compact-header-height) !important;
  --theme-header-height-mobile: var(--mivia-compact-header-height) !important;
  --header-height-desktop: var(--mivia-compact-header-height) !important;
  --header-height-mobile: var(--mivia-compact-header-height) !important;
  position: sticky !important;
  top: 0 !important;
  height: var(--mivia-compact-header-height) !important;
  min-height: var(--mivia-compact-header-height) !important;
  max-height: var(--mivia-compact-header-height) !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  background: var(--mivia-bg) !important;
  background-color: var(--mivia-bg) !important;
  filter: none !important;
  opacity: 1 !important;
  overflow: visible !important;
}

body #masthead.site-header.mivia-header::before,
body #masthead.site-header.mivia-header::after,
body header#masthead.site-header.mivia-header::before,
body header#masthead.site-header.mivia-header::after,
body .site-header.mivia-header::before,
body .site-header.mivia-header::after {
  top: 0 !important;
  bottom: auto !important;
  height: var(--mivia-compact-header-height) !important;
  min-height: var(--mivia-compact-header-height) !important;
  max-height: var(--mivia-compact-header-height) !important;
  background: var(--mivia-bg) !important;
  background-color: var(--mivia-bg) !important;
  filter: none !important;
  opacity: 1 !important;
}

body #masthead.site-header.mivia-header .site-header-row,
body #masthead.site-header.mivia-header .mivia-header-row,
body #masthead.site-header.mivia-header .mivia-header-inner {
  height: var(--mivia-compact-header-height) !important;
  min-height: var(--mivia-compact-header-height) !important;
  max-height: var(--mivia-compact-header-height) !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  align-items: center !important;
  background: var(--mivia-bg) !important;
  background-color: var(--mivia-bg) !important;
  filter: none !important;
  opacity: 1 !important;
}

body #masthead.site-header.mivia-header .mivia-logo,
body #masthead.site-header.mivia-header .mivia-menu,
body #masthead.site-header.mivia-header .mivia-nav,
body #masthead.site-header.mivia-header .mivia-menu-item,
body #masthead.site-header.mivia-header .mivia-menu-link,
body #masthead.site-header.mivia-header .mivia-nav-right,
body #masthead.site-header.mivia-header .mivia-action-link {
  min-height: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  align-items: center !important;
  filter: none !important;
  opacity: 1 !important;
}

body #masthead.site-header.mivia-header .mivia-logo {
  display: inline-flex !important;
  line-height: 1 !important;
}

body.home #page > #masthead.site-header.mivia-header + #main.main-content,
body.page-id-412 #page > #masthead.site-header.mivia-header + #main.main-content,
body.mivia-home-header-overlap #page > #masthead.site-header.mivia-header + #main.main-content,
body.home .elementor-412,
body.page-id-412 .elementor-412,
body.mivia-home-header-overlap .elementor-412,
body.home .elementor-412 > .elementor-element:first-child,
body.page-id-412 .elementor-412 > .elementor-element:first-child,
body.mivia-home-header-overlap .elementor-412 > .elementor-element:first-child,
body.home .elementor-412 .elementor-element-e338c88,
body.page-id-412 .elementor-412 .elementor-element-e338c88,
body.mivia-home-header-overlap .elementor-412 .elementor-element-e338c88 {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.home .elementor-412 .elementor-element-e338c88::before,
body.home .elementor-412 .elementor-element-e338c88::after,
body.home .elementor-412 .elementor-element-e338c88 > .elementor-background-overlay,
body.page-id-412 .elementor-412 .elementor-element-e338c88::before,
body.page-id-412 .elementor-412 .elementor-element-e338c88::after,
body.page-id-412 .elementor-412 .elementor-element-e338c88 > .elementor-background-overlay,
body.mivia-home-header-overlap .elementor-412 .elementor-element-e338c88::before,
body.mivia-home-header-overlap .elementor-412 .elementor-element-e338c88::after,
body.mivia-home-header-overlap .elementor-412 .elementor-element-e338c88 > .elementor-background-overlay {
  content: none !important;
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  background: transparent !important;
  filter: none !important;
  pointer-events: none !important;
}

body.home .elementor-412 .elementor-element-e338c88,
body.home .elementor-412 .elementor-element-e338c88 img,
body.page-id-412 .elementor-412 .elementor-element-e338c88,
body.page-id-412 .elementor-412 .elementor-element-e338c88 img,
body.mivia-home-header-overlap .elementor-412 .elementor-element-e338c88,
body.mivia-home-header-overlap .elementor-412 .elementor-element-e338c88 img {
  filter: none !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
}

/* Global compact MIVIA header and clean shop dropdown: no dimming on hover/open. */
body.mivia-compact-header-active,
body.mivia-compact-header-active #page,
body.mivia-compact-header-active .site,
body.mivia-compact-header-active #main.main-content,
body.mivia-compact-header-active .main-content,
body.mivia-compact-header-active .site-content,
body.mivia-compact-header-active .content-area,
body.mivia-compact-header-active .woocommerce,
body.mivia-compact-header-active .elementor {
  margin-top: 0 !important;
  padding-top: 0 !important;
  filter: none !important;
  opacity: 1 !important;
}

body #masthead.site-header,
body header#masthead.site-header,
body .site-header,
body header.site-header {
  --color-overlay-background-opacity: 0 !important;
  --overlay-opacity: 0 !important;
}

body #masthead.site-header .site-nav .site-menu > li.menu-item-has-children::after,
body #masthead.site-header .site-nav .site-menu > li.menu-item-has-children:hover::after,
body .site-header .site-nav .site-menu > li.menu-item-has-children::after,
body .site-header .site-nav .site-menu > li.menu-item-has-children:hover::after,
body #masthead.site-header .site-nav .site-menu > li.mivia-shop-menu-item::after,
body #masthead.site-header .site-nav .site-menu > li.mivia-shop-menu-item:hover::after,
body #masthead.site-header .site-nav .site-menu > li.mivia-shop-menu-open::after,
body .site-header .site-nav .site-menu > li.mivia-shop-menu-item::after,
body .site-header .site-nav .site-menu > li.mivia-shop-menu-item:hover::after,
body .site-header .site-nav .site-menu > li.mivia-shop-menu-open::after,
body #masthead.site-header .mivia-shop-item::after,
body #masthead.site-header .mivia-shop-item:hover::after,
body .mivia-header .mivia-shop-item::after,
body .mivia-header .mivia-shop-item:hover::after {
  content: none !important;
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  opacity: 0 !important;
  background: transparent !important;
  pointer-events: none !important;
}

body:has(.mivia-shop-menu-open) #page,
body:has(.mivia-shop-menu-open) .site,
body:has(.mivia-shop-menu-open) #main.main-content,
body:has(.mivia-shop-menu-open) .main-content,
body:has(.mivia-shop-menu-open) .site-content,
body:has(.mivia-shop-menu-open) .content-area,
body:has(.mivia-shop-menu-open) .woocommerce,
body:has(.mivia-shop-menu-open) .elementor {
  filter: none !important;
  opacity: 1 !important;
}

/* Global final pass: compact header on every page, clean shop dropdown, no dim overlay. */
html,
body,
body #page,
body .site,
body .site-wrapper,
body .site-content-wrapper,
body #main.main-content,
body .main-content,
body .site-content,
body .content-area,
body .woocommerce,
body .elementor {
  margin-top: 0 !important;
  padding-top: 0 !important;
  filter: none !important;
  opacity: 1 !important;
}

body {
  --color-overlay-background-opacity: 0 !important;
  --overlay-opacity: 0 !important;
}

body.admin-bar #masthead.site-header,
body.admin-bar header#masthead.site-header,
body.admin-bar .site-header,
body.admin-bar header.site-header,
body #masthead.site-header,
body header#masthead.site-header,
body .site-header,
body header.site-header {
  --theme-header-height-desktop: var(--mivia-compact-header-height) !important;
  --theme-header-height-mobile: var(--mivia-compact-header-height) !important;
  --header-height-desktop: var(--mivia-compact-header-height) !important;
  --header-height-mobile: var(--mivia-compact-header-height) !important;
  top: 0 !important;
  height: var(--mivia-compact-header-height) !important;
  min-height: var(--mivia-compact-header-height) !important;
  max-height: var(--mivia-compact-header-height) !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  background: var(--mivia-bg) !important;
  background-color: var(--mivia-bg) !important;
  filter: none !important;
  opacity: 1 !important;
  overflow: visible !important;
}

body #masthead.site-header .site-header-row,
body #masthead.site-header .mivia-header-row,
body #masthead.site-header .mivia-header-inner,
body #masthead.site-header .site-header-inner,
body .site-header .site-header-row,
body .site-header .mivia-header-row,
body .site-header .mivia-header-inner,
body .site-header .site-header-inner {
  height: var(--mivia-compact-header-height) !important;
  min-height: var(--mivia-compact-header-height) !important;
  max-height: var(--mivia-compact-header-height) !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  align-items: center !important;
  background: var(--mivia-bg) !important;
  background-color: var(--mivia-bg) !important;
  filter: none !important;
  opacity: 1 !important;
}

body #masthead.site-header .site-nav .site-menu > li.menu-item-has-children::after,
body #masthead.site-header .site-nav .site-menu > li.menu-item-has-children:hover::after,
body .site-header .site-nav .site-menu > li.menu-item-has-children::after,
body .site-header .site-nav .site-menu > li.menu-item-has-children:hover::after,
body #masthead.site-header.mivia-header .mivia-shop-item::before,
body #masthead.site-header.mivia-header .mivia-shop-item::after,
body #masthead.site-header.mivia-header .mivia-shop-item:hover::before,
body #masthead.site-header.mivia-header .mivia-shop-item:hover::after,
body #masthead.site-header.mivia-header .mivia-mega,
body #masthead.site-header.mivia-header .mivia-mega::before,
body #masthead.site-header.mivia-header .mivia-mega::after {
  content: none !important;
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  opacity: 0 !important;
  background: transparent !important;
  pointer-events: none !important;
}

body.mivia-shop-menu-is-open,
body.mivia-shop-menu-is-open #page,
body.mivia-shop-menu-is-open .site,
body.mivia-shop-menu-is-open #main.main-content,
body.mivia-shop-menu-is-open .main-content,
body.mivia-shop-menu-is-open .site-content,
body.mivia-shop-menu-is-open .content-area,
body.mivia-shop-menu-is-open .woocommerce,
body.mivia-shop-menu-is-open .elementor,
body:has(.mivia-shop-menu-open),
body:has(.mivia-shop-menu-open) #page,
body:has(.mivia-shop-menu-open) .site,
body:has(.mivia-shop-menu-open) #main.main-content,
body:has(.mivia-shop-menu-open) .main-content,
body:has(.mivia-shop-menu-open) .site-content,
body:has(.mivia-shop-menu-open) .content-area,
body:has(.mivia-shop-menu-open) .woocommerce,
body:has(.mivia-shop-menu-open) .elementor {
  filter: none !important;
  opacity: 1 !important;
}

body #masthead.site-header.mivia-header .mivia-shop-product-menu,
body .site-header .mivia-shop-product-menu {
  background: var(--mivia-bg) !important;
  background-color: var(--mivia-bg) !important;
  opacity: 1 !important;
  filter: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  mix-blend-mode: normal !important;
}

/* Product pages: make the main gallery image larger for current and future products. */
body.single-product .single-product-gallery .woocommerce-product-gallery {
  width: min(100%, 620px, calc((100vh - 116px) * .82)) !important;
  max-width: 620px !important;
}

body.single-product .mivia-product-main-frame,
body.single-product .single-product-gallery .woocommerce-product-gallery__image,
body.single-product .single-product-gallery .woocommerce-product-gallery__image a,
body.single-product .single-product-gallery .woocommerce-product-gallery__wrapper,
body.single-product .single-product-gallery .woocommerce-product-gallery__wrapper > *,
body.single-product .single-product-gallery .flex-viewport {
  overflow: hidden !important;
}

body.single-product .mivia-product-main-frame img,
body.single-product .single-product-gallery .woocommerce-product-gallery__image img,
body.single-product .single-product-gallery .woocommerce-product-gallery__wrapper img,
body.single-product .single-product-gallery .flex-viewport img {
  max-width: none !important;
  max-height: none !important;
  transform: scale(1.08) !important;
  transform-origin: center center !important;
}

body.single-product.mivia-table-product .mivia-product-main-frame img,
body.single-product.mivia-table-product .single-product-gallery .woocommerce-product-gallery__image img,
body.single-product.mivia-table-product .single-product-gallery .woocommerce-product-gallery__wrapper img,
body.single-product.mivia-table-product .single-product-gallery .flex-viewport img,
body.single-product.mivia-table-product .mivia-product-media-track img {
  padding: clamp(4px, 1vw, 14px) !important;
  object-fit: contain !important;
  transform: scale(1.2) !important;
}

/* Home hero: fixed 21:9 image supplied with the plugin. */
.elementor-412 .elementor-element-e338c88 {
  background-image: url("assets/hero/home-hero-21-9.jpg") !important;
  background-size: cover !important;
  background-position: center center !important;
}

.elementor-412 .elementor-element-e338c88 img {
  object-fit: cover !important;
  object-position: center center !important;
}
