/*
Theme Name: Mimoscent
Description: Ink-and-gold storefront for the Mimoscent tenant, Aura layout grammar.
Author: WebMátrix
Version: 2.5.22
Template: twentytwentyfive
Text Domain: mimoscent
*/

@font-face {
  font-family: "Cormorant Garamond";
  src: url("assets/fonts/cormorant-garamond.woff2") format("woff2");
  font-display: swap;
  font-weight: 400 700;
  font-style: normal;
}

@font-face {
  font-family: "Cormorant Garamond";
  src: url("assets/fonts/cormorant-garamond-italic.woff2") format("woff2");
  font-display: swap;
  font-weight: 400 700;
  font-style: italic;
}

@font-face {
  font-family: Manrope;
  src: url("assets/fonts/manrope.woff2") format("woff2");
  font-display: swap;
  font-weight: 400 700;
  font-style: normal;
}

:root {
  color-scheme: light;
  --cream: #F7F3EC;
  --burgundy: #1A1714;
  --deep: #120F0D;
  --rose: #C9A24B;
  --powder: #E8DFD2;
  --white: #FFFDFC;
  --ink: #1A1714;
  --muted: #6B645C;
  --line: rgba(26, 23, 20, .16);
  --max: 1280px;
  --text-min: 18px;
  --display: clamp(2.15rem, 2.8vw, 2.5rem);
  --heading: clamp(1.9rem, 2.4vw, 2.35rem);
  --viewport-media: min(68vh, calc(100dvh - 7.25rem));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--cream);
  color: var(--ink);
  font-family: Manrope, system-ui, sans-serif;
  font-size: var(--text-min);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
a { color: var(--burgundy); }
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible {
  outline: 3px solid var(--rose);
  outline-offset: 3px;
}
img { max-width: 100%; height: auto; display: block; }
/* Woo Mini Cart iAPI renders two thumbnails and hides one with [hidden].
   The img display reset above would otherwise unhide that fallback. */
[hidden]:not([hidden="until-found"]) {
  display: none !important;
}
.wc-block-cart-item__image img[hidden],
.wc-block-cart-item__image a[hidden] {
  display: none !important;
}
.wp-site-blocks { overflow-x: clip; background: var(--cream); }

.factory-shell { width: min(calc(100% - 2rem), var(--max)); margin-inline: auto; max-width: var(--max); }
.wp-block-group.factory-header,
.wp-block-group.factory-footer,
.wp-block-group.factory-shell {
  max-width: var(--max);
}
main.wp-block-group.factory-shell.has-global-padding {
  padding-inline: 0 !important;
}
main.wp-block-group.factory-shell.is-layout-constrained > *,
main.wp-block-group.factory-shell.is-layout-flow > * {
  max-width: none !important;
  width: 100%;
  margin-inline: 0 !important;
}
header.wp-block-template-part,
header:has(.factory-header) {
  position: sticky;
  top: 0;
  z-index: 50;
  overflow: visible;
  background: rgba(245, 238, 232, .96);
  border-bottom: 1px solid var(--line);
  backdrop-filter: blur(14px);
}
header .wp-block-group.factory-header,
.factory-header {
  display: grid !important;
  grid-template-columns: 1fr auto 1fr;
  grid-template-areas: "nav brand tools";
  align-items: center;
  column-gap: 1rem;
  min-height: 84px;
  padding-block: .75rem;
  max-width: var(--max) !important;
  width: min(calc(100% - 2rem), var(--max)) !important;
  margin-inline: auto !important;
}
header .factory-header.is-layout-constrained > *,
header .factory-header > * {
  max-width: none !important;
  margin-inline: 0 !important;
}
.factory-menu-toggle {
  display: none;
  grid-area: toggle;
  justify-self: start;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  background: none;
  color: var(--ink);
  cursor: pointer;
}
.factory-menu-toggle svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
}
.factory-brand {
  grid-area: brand;
  justify-self: center;
  display: inline-flex;
  align-items: center;
  color: var(--ink);
  text-decoration: none;
}
.factory-logo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 .2em;
  color: var(--ink);
  font-family: Manrope, system-ui, sans-serif;
  font-weight: 700;
  font-size: 1.05rem;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.factory-nav {
  grid-area: nav;
  display: flex;
  gap: .9rem;
  align-items: center;
  justify-content: flex-start;
  padding: 0;
  font-family: Manrope, system-ui, sans-serif;
  position: relative;
  z-index: 2;
}
.factory-nav a,
.factory-nav .mimo-houses-toggle,
.factory-nav-drawer a,
.factory-nav-drawer .mimo-houses-toggle {
  color: var(--ink);
  text-decoration: none;
  font-family: Manrope, system-ui, sans-serif;
  font-weight: 500;
  font-size: 13px;
  letter-spacing: .08em;
  white-space: nowrap;
}
.factory-nav a:hover,
.factory-nav .mimo-houses-toggle:hover,
.factory-nav-drawer a:hover,
.factory-nav-drawer .mimo-houses-toggle:hover { color: var(--muted); }
.mimo-houses {
  position: relative;
  --mimo-houses-gap: .55rem;
  --mimo-houses-panel-width: min(38rem, 72vw);
}
.factory-nav .mimo-houses-toggle,
.factory-nav-drawer .mimo-houses-toggle {
  appearance: none;
  background: none;
  border: 0;
  padding: 0;
  margin: 0;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: .3em;
  min-height: 44px;
}
.mimo-houses-chevron {
  width: 12px;
  height: 12px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform .18s ease;
}
.mimo-houses.is-open .mimo-houses-chevron {
  transform: rotate(180deg);
}
.mimo-houses-panel {
  display: none;
}
.mimo-houses.is-open .mimo-houses-panel {
  display: block;
}
.factory-nav .mimo-houses-panel {
  position: absolute;
  top: calc(100% + var(--mimo-houses-gap));
  left: 0;
  z-index: 70;
  min-width: var(--mimo-houses-panel-width);
  max-height: min(70vh, 32rem);
  overflow: auto;
  padding: 1rem 1.15rem;
  background: var(--cream);
  border: 1px solid var(--line);
  box-shadow: 0 18px 40px rgba(18, 15, 13, .12);
}
/* Invisible hover bridge across the gap between trigger and panel: the
   offset above is a dead zone where the pointer hovers neither element,
   which killed the panel on diagonal mouse travel. Only accepts pointer
   events while the panel is open so the closed header keeps its layout. */
.factory-nav .mimo-houses::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 0;
  width: var(--mimo-houses-panel-width);
  height: calc(var(--mimo-houses-gap) + 1px);
  z-index: 69;
  pointer-events: none;
  background: transparent;
}
.factory-nav .mimo-houses.is-open::after {
  pointer-events: auto;
}
@media (prefers-reduced-motion: reduce) {
  .mimo-houses-chevron {
    transition: none;
  }
}
.factory-nav .mimo-houses-panel ul {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .15rem .9rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
.factory-nav .mimo-houses-panel a {
  display: block;
  padding: .4rem .15rem;
  font-size: 15px;
  letter-spacing: 0;
  white-space: normal;
  line-height: 1.35;
}
.factory-tools {
  grid-area: tools;
  display: flex;
  gap: .4rem;
  justify-self: end;
  justify-content: flex-end;
}
.factory-nav-drawer,
.factory-nav-backdrop { display: none; }
.factory-tool {
  display: inline-grid;
  place-items: center;
  width: 48px;
  height: 48px;
  color: var(--ink);
}
.factory-tool svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.factory-header .wp-block-navigation { display: none; }

.factory-kicker {
  margin: 0 0 14px;
  color: var(--burgundy);
  font-weight: 650;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.factory-hero {
  position: relative;
  display: block;
  width: 100%;
  max-width: none;
  min-height: 0;
  height: var(--viewport-media);
  max-height: var(--viewport-media);
  margin-top: 1rem;
  background: var(--powder);
  overflow: hidden;
}
.factory-shell > .wp-block-shortcode,
.factory-hero > .wp-block-shortcode,
.factory-categories > .wp-block-shortcode,
.factory-finder > .wp-block-shortcode,
.factory-story > .wp-block-shortcode,
.wp-block-shortcode:has(.factory-hero),
.wp-block-shortcode:has(.factory-finder-art) {
  display: contents;
}
.factory-hero-slides {
  display: grid;
  height: 100%;
  min-height: 0;
}
.factory-hero-slide {
  grid-area: 1 / 1;
  display: grid;
  grid-template-columns: .92fr 1.08fr;
  min-height: 0;
  height: 100%;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .7s ease, visibility 0s linear .7s;
}
.factory-hero-slide.is-active {
  position: relative;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  z-index: 1;
  transition: opacity .7s ease;
}
.factory-hero-slide:not(.is-active) {
  position: absolute;
  inset: 0;
}
.factory-hero-copy {
  padding: clamp(28px, 3.4vw, 48px) clamp(28px, 3.4vw, 48px) 56px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}
.factory-hero h1,
.factory-products h2,
.factory-section-heading h2,
.factory-finder h2,
.factory-story h2,
.factory-why h2,
.factory-newsletter h2,
.factory-scents h2 {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 500;
  letter-spacing: -.026em;
  line-height: .98;
  text-wrap: balance;
}
.factory-hero h1,
.factory-hero h1.factory-tagline,
.factory-hero h2.factory-tagline {
  max-width: 16ch;
  margin: 0 0 16px;
  font-size: clamp(2.5rem, 4.4vw, 3.6rem);
  line-height: 1.16;
  color: var(--deep);
}
.factory-hero-copy > p:not(.factory-kicker) {
  max-width: 36rem;
  margin: 0 0 20px;
}
.factory-hero-actions { display: flex; gap: 14px; flex-wrap: wrap; }
.factory-btn {
  display: inline-flex;
  min-height: 54px;
  align-items: center;
  justify-content: center;
  padding: 0 28px;
  border: 1px solid var(--burgundy);
  background: transparent;
  color: var(--burgundy);
  font: inherit;
  font-weight: 650;
  text-decoration: none;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
}
.factory-btn.factory-btn-primary { background: var(--burgundy); color: var(--cream); }
.factory-btn:hover { background: var(--deep); border-color: var(--deep); color: var(--cream); }
button.factory-btn[aria-disabled="true"] { cursor: default; }
.factory-hero-nav {
  position: absolute;
  left: clamp(28px, 3.4vw, 48px);
  bottom: 22px;
  z-index: 3;
  display: flex;
  gap: 8px;
  align-items: center;
}
.factory-hero-dot {
  width: 8px;
  height: 8px;
  padding: 0;
  border: 0;
  border-radius: 99px;
  background: #B7AFA6;
  cursor: pointer;
}
.factory-hero-dot.is-active {
  width: 22px;
  background: var(--deep);
}
.factory-hero-media {
  position: relative;
  min-height: 0;
  height: 100%;
  background: var(--cream);
  overflow: hidden;
}
.factory-hero-media img,
.factory-hero-photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  inset: 0;
}
.factory-hero-media::after {
  content: "";
  position: absolute;
  inset: 22px;
  border: 1px solid rgba(245, 238, 232, .75);
  pointer-events: none;
}
.factory-hero-caption {
  position: absolute;
  right: 34px;
  bottom: 34px;
  z-index: 1;
  max-width: 320px;
  padding: 19px 22px;
  background: var(--cream);
}
.factory-hero-caption b {
  display: block;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 1.7rem;
  font-weight: 500;
  line-height: 1.1;
}
.factory-hero-caption span { display: block; margin-top: 5px; }
.factory-hero-art,
.factory-finder-art,
.factory-hero-media--finder {
  position: relative;
  min-height: 380px;
  overflow: hidden;
  background:
    radial-gradient(90% 70% at 78% 22%, rgba(201, 162, 75, .22), transparent 58%),
    radial-gradient(80% 60% at 18% 82%, rgba(92, 46, 42, .12), transparent 52%),
    var(--cream);
}
.mimo-finder-stage {
  position: absolute;
  inset: 0;
}
.mimo-finder-bloom {
  position: absolute;
  border-radius: 50%;
  filter: blur(18px);
  opacity: .55;
  pointer-events: none;
}
.mimo-finder-bloom-a {
  width: 240px;
  height: 240px;
  right: 8%;
  top: 10%;
  background: rgba(201, 162, 75, .35);
}
.mimo-finder-bloom-b {
  width: 190px;
  height: 190px;
  left: 12%;
  bottom: 18%;
  background: rgba(120, 62, 58, .22);
}
.mimo-finder-bloom-c {
  width: 140px;
  height: 140px;
  left: 42%;
  top: 38%;
  background: rgba(18, 15, 13, .12);
}
.mimo-tester {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 88px;
  height: 68%;
  max-height: 430px;
  background: #FFFCFA;
  border-radius: 5px 5px 2px 2px;
  box-shadow: 0 22px 48px rgba(18, 15, 13, .16);
}
.mimo-tester i {
  position: absolute;
  left: 11px;
  right: 11px;
  top: 26%;
  bottom: 16px;
  border-radius: 2px;
}
.mimo-tester-citrus {
  transform: translate(-128px, -42%) rotate(-15deg);
}
.mimo-tester-citrus i {
  background: linear-gradient(180deg, rgba(201, 162, 75, .06), #D7B56A 42%, #8A6A22);
}
.mimo-tester-floral {
  z-index: 2;
  transform: translate(-44px, -54%) rotate(2deg);
}
.mimo-tester-floral i {
  background: linear-gradient(180deg, rgba(165, 107, 100, .08), #B57A72 48%, #5C2E2A);
}
.mimo-tester-wood {
  transform: translate(40px, -38%) rotate(14deg);
}
.mimo-tester-wood i {
  background: linear-gradient(180deg, rgba(26, 23, 20, .05), #4A4038 50%, #120F0D);
}
.mimo-tester-legend {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 22px;
  z-index: 3;
  display: flex;
  justify-content: center;
  gap: 1.4rem;
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 650;
  letter-spacing: .12em;
  text-transform: uppercase;
}
@media (prefers-reduced-motion: reduce) {
  .factory-hero-slide,
  .factory-hero-slide.is-active {
    transition: none;
  }
}

.factory-categories,
.factory-products,
.factory-finder,
.factory-newsletter { padding-block: 5.5rem; }
.factory-section-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 420px);
  gap: 48px;
  align-items: end;
  margin-bottom: 38px;
}
.factory-section-heading h2,
.factory-products h2,
.factory-finder h2,
.factory-story h2,
.factory-newsletter h2 { margin: 0 0 14px; font-size: var(--heading); }
.factory-section-heading p,
.factory-products-note { margin: 0; color: var(--muted); }
.factory-products { text-align: center; }
.factory-products-note { max-width: 42rem; margin: 0 auto 2rem; }
.factory-products-more { margin: 2rem 0 0; }
.factory-products .mimo-bestseller-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  list-style: none;
  margin: 0;
  padding: 0;
  text-align: left;
}
.factory-products .mimo-bestseller-link {
  display: contents;
  color: inherit;
  text-decoration: none;
}
.factory-category-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.factory-category-card {
  position: relative;
  min-height: 260px;
  overflow: hidden;
  text-decoration: none;
  background: var(--white);
  color: var(--cream);
}
.factory-category-media,
.factory-category-card > span:first-child {
  position: absolute;
  inset: 0;
}
.factory-category-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.factory-category-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 35%, rgba(43, 16, 28, .65));
}
.factory-category-label {
  position: absolute;
  left: 22px;
  right: 22px;
  bottom: 20px;
  z-index: 1;
  color: var(--cream);
}
.factory-category-label b {
  display: block;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1;
}
.factory-category-label span { display: block; margin-top: 8px; color: var(--cream); }

.factory-scents {
  padding-block: 3.25rem;
  width: min(100%, var(--max));
  margin-inline: auto;
}
.factory-scents .factory-kicker { margin-bottom: 10px; }
.factory-scents h2 {
  margin: 0 0 22px;
  font-size: clamp(1.55rem, 2.2vw, 1.9rem);
}
.factory-scent-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.factory-scent-card {
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: 72px;
  padding: 12px 16px;
  border: 1px solid var(--line);
  background: var(--white);
  color: var(--ink);
  text-decoration: none;
}
.factory-scent-card:hover { border-color: var(--ink); }
.factory-scent-icon {
  flex: 0 0 28px;
  display: grid;
  place-items: center;
  color: var(--rose);
}
.factory-scent-icon svg,
.factory-why-icon svg {
  width: 28px;
  height: 28px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.factory-scent-name {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 1.28rem;
  font-weight: 500;
  line-height: 1.15;
}

.factory-finder {
  display: grid;
  grid-template-columns: .92fr 1.08fr;
  grid-template-areas: "copy art";
  align-items: stretch;
  padding-inline: 0;
  width: min(100%, var(--max));
}
.factory-finder-copy { grid-area: copy; }
.factory-finder-art { grid-area: art; }
.factory-finder-art {
  min-height: 460px;
}
.factory-finder-art .mimo-tester {
  height: 52%;
  max-height: 300px;
  top: 44%;
}
.factory-finder-art .mimo-tester-citrus {
  transform: translate(-110px, -50%) rotate(-15deg);
}
.factory-finder-art .mimo-tester-floral {
  transform: translate(-40px, -58%) rotate(2deg);
}
.factory-finder-art .mimo-tester-wood {
  transform: translate(32px, -46%) rotate(14deg);
}
.factory-finder-art .mimo-tester-legend {
  bottom: 28px;
}
.factory-finder-copy {
  padding: 55px clamp(36px, 6vw, 96px) 55px 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}
.factory-finder-lede { margin: 0 0 28px; max-width: 36rem; }
.factory-finder-stats b {
  display: block;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 2.2rem;
  font-weight: 500;
}
.factory-finder-stats span { display: block; margin-top: 6px; }

.factory-story {
  display: grid;
  grid-template-columns: 1fr 1fr;
  background: var(--burgundy);
  color: var(--cream);
  width: 100vw;
  margin-left: calc(50% - 50vw);
  padding: 0;
}
.factory-story-media {
  min-height: 420px;
  background: var(--white);
  display: grid;
  place-items: center;
}
.factory-story-media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 58px;
}
.factory-story-copy {
  padding: clamp(65px, 9vw, 138px);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.factory-story .factory-kicker { color: var(--powder); }
.factory-story p:not(.factory-kicker) { max-width: 38rem; color: rgba(245, 238, 232, .82); }

.factory-trust {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  padding-block: 3rem;
  border-bottom: 1px solid var(--line);
}
.factory-trust-item { padding: 6px 28px; border-right: 1px solid var(--line); }
.factory-trust-item:first-child { padding-left: 0; }
.factory-trust-item:last-child { padding-right: 0; border: 0; }
.factory-trust-item b {
  display: block;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.15;
}
.factory-trust-item span { display: block; margin-top: 9px; color: var(--muted); }

.factory-why {
  padding-block: 4.25rem 4.75rem;
  width: min(100%, var(--max));
  margin-inline: auto;
  text-align: center;
}
.factory-why h2 {
  margin: 0 auto 2.4rem;
  max-width: 16ch;
  font-size: var(--heading);
}
.factory-why-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px 32px;
  text-align: left;
}
.factory-why-icon {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  margin: 0 0 16px;
  color: var(--rose);
}
.factory-why-item b {
  display: block;
  margin: 0 0 10px;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 1.45rem;
  font-weight: 500;
  line-height: 1.2;
}
.factory-why-item span {
  display: block;
  color: var(--muted);
  font-size: 1.125rem;
  line-height: 1.45;
}

.factory-newsletter h2 { max-width: 16ch; }

footer.wp-block-template-part,
footer:has(.factory-footer) {
  margin-top: 0;
  background: var(--deep);
  color: var(--cream);
}
.factory-footer {
  display: grid;
  grid-template-columns: 1.1fr .9fr 1.3fr;
  gap: 2.4rem 3rem;
  padding-block: 4.2rem 2.6rem;
}
.factory-footer p,
.factory-footer a { color: rgba(245, 238, 232, .82); }
.factory-footer-heading {
  margin: 0 0 .7rem;
  color: var(--cream);
  font-size: .72rem;
  font-weight: 650;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.factory-footer-contact p {
  margin: 0 0 .45rem;
  line-height: 1.5;
}
.factory-footer-note {
  color: rgba(245, 238, 232, .55);
  font-size: .88em;
}
.factory-footer-social {
  display: flex;
  flex-wrap: wrap;
  gap: .85rem 1.2rem;
  margin-top: 1rem;
}
.factory-footer-social a {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  text-decoration: none;
  color: var(--cream);
}
.factory-footer-social svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.factory-footer-legal {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: .75rem 1.5rem;
  padding-top: 1.6rem;
  border-top: 1px solid rgba(245, 238, 232, .16);
  font-size: .92rem;
}
.factory-footer-legal a {
  text-decoration: none;
  color: rgba(245, 238, 232, .7);
}
.factory-footer-logo,
footer img.factory-footer-logo {
  width: auto !important;
  max-width: 9rem !important;
  height: 4.5rem !important;
  max-height: 4.5rem !important;
  object-fit: contain !important;
  margin-bottom: 1.2rem;
}
.factory-footer-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(140px, 1fr));
  gap: 14px 40px;
  align-content: start;
}
.factory-footer-links a { text-decoration: none; color: var(--cream); }

.woocommerce-cart,
.woocommerce-checkout { min-height: 50vh; }
.woocommerce ul.products,
.wp-block-woocommerce-product-collection .wc-block-product-template {
  list-style: none;
  padding: 0;
}
.factory-products .wc-block-product,
.mimo-shop ul.products li.product,
.mimo-pdp .related ul.products li.product {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  /* Rows keep their own height: a shorter card (sold out) must not spread
     its button, brand and title away from its row neighbours. */
  align-content: start;
  background: var(--white);
  border: 1px solid var(--line);
  padding: 0 0 14px;
  text-align: left;
}
.factory-products .wc-block-components-product-image { grid-row: 1; }
.factory-products .wp-block-woocommerce-product-button { display: none !important; }
/* CTA sits directly under the image (Aura card grammar); title, sizes and price
   auto-place below it so a card without sizes keeps no empty row. */
.factory-products .mimo-card-cta { grid-row: 2; }
/* The homepage shortcode is rendered through wpautop: it leaves a stray <br>
   after the image and wraps the trailing CTA anchor in an auto paragraph.
   Neutralise both so the CTA lands directly under the image. */
.factory-products .wc-block-product > br { display: none; }
.factory-products .wc-block-product > p { grid-row: 2; margin: 0; }
/* Size chips, price and CTA auto-place under the card title. */
.mimo-card-sizes {
  margin: 10px 12px 0;
  min-width: 0;
}
.mimo-card-sizes-label {
  display: block;
  margin-bottom: 7px;
  color: var(--muted);
  font-family: Manrope, system-ui, sans-serif;
  font-size: 0.60rem;
  font-weight: 650;
  line-height: 1.3;
  letter-spacing: .055em;
  text-transform: uppercase;
}
.mimo-card-size-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.mimo-card-size {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 3.7rem;
  min-height: 32px;
  padding: 4px 10px;
  border: 1px solid var(--line);
  background: transparent;
  color: var(--ink);
  font-family: Manrope, system-ui, sans-serif;
  font-size: 0.76rem;
  font-weight: 650;
  line-height: 1;
}
.mimo-shop ul.products li.product > a.woocommerce-LoopProduct-link,
.mimo-pdp .related ul.products li.product > a.woocommerce-LoopProduct-link {
  display: contents;
}
.factory-products .wc-block-components-product-image,
.factory-products .wc-block-components-product-image img,
.mimo-shop ul.products li.product img,
.mimo-pdp .related ul.products li.product img {
  width: 100%;
  aspect-ratio: 1 / 1.08;
  object-fit: contain;
  background: var(--white);
  padding: 12px;
  box-sizing: border-box;
}
.factory-products .wp-block-post-title,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  margin: 10px 12px 0;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.2;
  text-wrap: pretty;
}
.factory-products .wp-block-post-title a,
.mimo-shop ul.products li.product a {
  text-decoration: none;
  color: inherit;
}
.factory-products .wp-block-woocommerce-product-price,
.mimo-shop li.product .price,
.mimo-pdp .related li.product .price {
  margin: 6px 12px 0;
  color: var(--ink);
  font-family: Manrope, system-ui, sans-serif;
  font-size: 0.95rem;
  font-weight: 650;
}
/* Brand (house) line: under the CTA, above the serif title. */
.mimo-card-brand {
  margin: 12px 12px 0;
  color: var(--muted);
  font-family: Manrope, system-ui, sans-serif;
  font-size: 0.68rem;
  font-weight: 650;
  line-height: 1.3;
  letter-spacing: .08em;
  text-transform: uppercase;
  overflow-wrap: anywhere;
}
.mimo-card-brand + .wp-block-post-title,
.woocommerce ul.products li.product .mimo-card-brand + .woocommerce-loop-product__title {
  margin-top: 4px;
}
/* Sold-out cards: a red-outline badge takes the size-chip row. */
.mimo-card-stock-badge {
  display: inline-flex;
  align-items: center;
  box-sizing: border-box;
  min-height: 32px;
  padding: 4px 10px;
  border: 1px solid #A4262C;
  background: transparent;
  color: #A4262C;
  font-family: Manrope, system-ui, sans-serif;
  font-size: 0.70rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .055em;
  text-transform: uppercase;
  white-space: nowrap;
}
.woocommerce div.product .single_add_to_cart_button {
  background: var(--burgundy) !important;
  color: var(--cream) !important;
  border: 0;
  min-height: 54px;
  font-weight: 650;
}
.factory-products .wc-block-components-product-button,
.factory-products .wp-block-woocommerce-product-button {
  margin: 0;
  padding: 0;
}
.factory-products .wc-block-components-product-button__button,
.factory-products .mimo-card-cta,
.mimo-shop li.product .mimo-card-cta {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: auto;
  justify-self: stretch;
  min-height: 44px;
  margin: 12px 12px 0;
  padding: 0 10px;
  box-sizing: border-box;
  border: 1px solid var(--burgundy) !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--burgundy) !important;
  font-family: Manrope, system-ui, sans-serif;
  font-size: 0.88rem;
  font-weight: 650;
  line-height: 1.2;
  white-space: nowrap;
  text-decoration: none;
}
.mimo-shop li.product img,
.mimo-pdp .related li.product img { grid-row: 1; }
.mimo-shop li.product .add_to_cart_button,
.mimo-shop li.product a.button,
.mimo-pdp .related li.product .mimo-card-cta,
.mimo-pdp .related li.product .add_to_cart_button,
.mimo-pdp .related li.product a.button { display: none !important; }
.mimo-shop li.product .mimo-card-cta { grid-row: 2; }

.factory-pdp {
  width: 100%;
  max-width: none !important;
  padding: 0 !important;
  text-align: left;
}
.factory-pdp.wp-block-group.is-layout-constrained > * {
  max-width: none !important;
  margin-inline: 0 !important;
}
.mimo-pdp .woocommerce-breadcrumb {
  max-width: var(--max);
  margin: 0 auto;
  padding: 34px 28px 18px;
  color: var(--muted);
  font-family: Manrope, system-ui, sans-serif;
}
.mimo-pdp .woocommerce-breadcrumb a { color: var(--muted); text-decoration: none; }
.woocommerce.mimo-pdp div.product,
.mimo-pdp div.product {
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(0, .96fr);
  grid-template-areas:
    "notices notices"
    "gallery summary"
    "notes notes"
    "story story"
    "related related";
  gap: 28px 76px;
  align-items: start;
  max-width: none;
  margin: 0;
  padding: 0 0 105px;
  color: var(--ink);
  float: none;
}
.woocommerce.mimo-pdp div.product::before,
.woocommerce.mimo-pdp div.product::after,
.mimo-pdp div.product::before,
.mimo-pdp div.product::after,
.woocommerce.mimo-pdp div.product form.cart::before,
.woocommerce.mimo-pdp div.product form.cart::after,
.mimo-pdp div.product form.cart::before,
.mimo-pdp div.product form.cart::after,
.mimo-pdp .related ul.products::before,
.mimo-pdp .related ul.products::after {
  display: none !important;
  content: none !important;
}
.woocommerce.mimo-pdp #content div.product div.images,
.woocommerce.mimo-pdp div.product div.images,
.woocommerce.mimo-pdp #content div.product div.summary,
.woocommerce.mimo-pdp div.product div.summary,
.mimo-pdp div.product div.images,
.mimo-pdp div.product div.summary {
  float: none !important;
  width: auto !important;
  max-width: none !important;
}
.woocommerce.mimo-pdp div.product div.images,
.mimo-pdp div.product div.images,
.mimo-pdp .woocommerce-product-gallery {
  margin: 0 0 0 max(28px, calc((100% - var(--max)) / 2)) !important;
  min-width: 0;
  overflow: hidden;
}
.woocommerce.mimo-pdp div.product div.summary,
.mimo-pdp div.product div.summary,
.mimo-pdp div.product .summary {
  margin: 0 max(28px, calc((100% - var(--max)) / 2)) 0 0 !important;
}
.mimo-pdp .woocommerce-notices-wrapper {
  grid-area: notices;
  max-width: var(--max);
  width: 100%;
  margin: 0 auto;
  padding: 0 28px;
}
.mimo-pdp .woocommerce-product-gallery {
  grid-area: gallery;
  background: var(--white);
  min-width: 0;
  min-height: 0;
  max-width: 100%;
  overflow: hidden;
  position: relative;
  opacity: 1 !important;
  padding: 28px;
  box-sizing: border-box;
}
.mimo-pdp .flex-viewport {
  overflow: hidden !important;
  width: 100% !important;
  max-width: 100%;
  background: var(--white);
}
.mimo-pdp .woocommerce-product-gallery__wrapper {
  max-width: none;
}
.mimo-pdp .woocommerce-product-gallery__image a {
  display: block;
  background: var(--white);
}
.mimo-pdp .woocommerce-product-gallery img,
.mimo-pdp .woocommerce-product-gallery .zoomImg {
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: min(520px, calc(var(--viewport-media) - 56px));
  object-fit: contain;
  object-position: center;
  margin: 0 auto;
}
.mimo-pdp ol.flex-control-thumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 12px 0 0 !important;
  padding: 0;
  list-style: none;
}
.mimo-pdp ol.flex-control-thumbs li {
  float: none !important;
  width: 72px !important;
  margin: 0;
}
.mimo-pdp ol.flex-control-thumbs img {
  width: 100%;
  height: 72px;
  object-fit: contain;
  opacity: .45;
  cursor: pointer;
  background: var(--white);
  border: 1px solid var(--line);
}
.mimo-pdp ol.flex-control-thumbs img.flex-active {
  opacity: 1;
  border-color: var(--ink);
}
.mimo-pdp .flex-direction-nav {
  position: absolute;
  top: 28px;
  right: 28px;
  left: 28px;
  height: min(520px, calc(var(--viewport-media) - 56px));
  margin: 0;
  padding: 0;
  list-style: none;
  pointer-events: none;
}
.mimo-pdp .flex-direction-nav a {
  position: absolute;
  top: 50%;
  z-index: 4;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin-top: -22px;
  overflow: hidden;
  color: transparent;
  font-size: 0;
  line-height: 0;
  text-decoration: none;
  pointer-events: auto;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 50%;
  box-shadow: 0 1px 4px rgba(26, 23, 20, .12);
  opacity: 1 !important;
}
.mimo-pdp .flex-direction-nav .flex-prev { left: 12px; }
.mimo-pdp .flex-direction-nav .flex-next { right: 12px; }
.mimo-pdp .flex-direction-nav a::before {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border-right: 2px solid var(--ink);
  border-bottom: 2px solid var(--ink);
}
.mimo-pdp .flex-direction-nav .flex-prev::before { transform: rotate(135deg); margin-left: 3px; }
.mimo-pdp .flex-direction-nav .flex-next::before { transform: rotate(-45deg); margin-right: 3px; }
.mimo-pdp .flex-direction-nav .flex-disabled {
  opacity: .28 !important;
  pointer-events: none;
}
.mimo-pdp .woocommerce-product-gallery__trigger,
.mimo-pdp .onsale,
.mimo-pdp .woocommerce-tabs,
.mimo-pdp .product_meta,
.mimo-pdp .upsells {
  display: none !important;
}
.mimo-pdp div.product .summary {
  grid-area: summary;
  padding-top: 26px;
  text-align: left;
}
.factory-product-kicker {
  margin: 0 0 14px;
  color: var(--burgundy);
  font-family: Manrope, system-ui, sans-serif;
  font-weight: 650;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.mimo-pdp div.product .product_title {
  margin: 0 0 14px;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: var(--display);
  font-weight: 500;
  letter-spacing: -.026em;
  line-height: .98;
  text-align: left;
  text-wrap: balance;
}
.mimo-pdp div.product p.price,
.mimo-pdp div.product span.price,
.mimo-pdp div.product p.price .amount {
  margin: 0 0 18px;
  color: var(--deep) !important;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 2.1rem;
  font-weight: 600;
  line-height: 1;
}
.mimo-pdp div.product .woocommerce-variation-price {
  display: none !important;
}
.mimo-pdp div.product .woocommerce-product-details__short-description {
  display: none !important;
}
.mimo-review-chip {
  margin: 8px 0 0;
}
.mimo-review-chip,
.mimo-trust-review a.mimo-review-chip {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  text-decoration: none;
  color: inherit;
}
.mimo-stars {
  display: inline-flex;
  gap: 2px;
}
.mimo-star {
  width: 16px;
  height: 16px;
  fill: var(--rose);
}
.mimo-review-score {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 1.35rem;
  font-weight: 600;
  line-height: 1;
}
.mimo-review-meta {
  color: var(--muted);
  font-size: 0.95rem;
}
.mimo-lead {
  margin: 0 0 22px;
  color: var(--muted);
}
.mimo-lead p {
  margin: 0;
  font-size: var(--text-min);
  line-height: 1.5;
}
.mimo-lead p + p { margin-top: 6px; }
.mimo-pdp div.product .stock {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 28px;
  font-family: Manrope, system-ui, sans-serif;
  color: var(--ink);
}
.mimo-pdp div.product .stock::before {
  content: none;
}
.mimo-pdp div.product .stock.in-stock::before {
  content: "";
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
  border-radius: 0;
  background: var(--burgundy);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' d='M3 8.2 6.6 12 13 4'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' d='M3 8.2 6.6 12 13 4'/%3E%3C/svg%3E") center / contain no-repeat;
}
.mimo-pdp div.product .stock.out-of-stock {
  color: var(--muted);
}
.mimo-pdp div.product form.cart:not(.variations_form) {
  display: grid !important;
  grid-template-columns: auto 1fr !important;
  gap: 14px;
  align-items: stretch;
  float: none !important;
}
.mimo-pdp div.product form.cart.variations_form { display: block; }
.mimo-pdp div.product form.cart.variations_form table.variations {
  width: 100%;
  margin: 0 0 22px;
  border: 0;
  border-collapse: collapse;
}
.mimo-pdp div.product form.cart.variations_form table.variations tbody,
.mimo-pdp div.product form.cart.variations_form table.variations tr,
.mimo-pdp div.product form.cart.variations_form table.variations th,
.mimo-pdp div.product form.cart.variations_form table.variations td {
  display: block;
  width: 100%;
  float: none !important;
  padding: 0;
  border: 0;
  background: transparent;
  text-align: left;
  vertical-align: top;
}
.mimo-pdp div.product form.cart.variations_form table.variations th.label,
.mimo-pdp div.product form.cart.variations_form table.variations th.label label {
  margin: 0 0 10px;
  color: var(--burgundy);
  font-family: Manrope, system-ui, sans-serif;
  font-size: 0.72rem;
  font-weight: 650;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.mimo-pdp div.product form.cart.variations_form table.variations td.value {
  position: relative;
}
.mimo-pdp .mimo-size-picker { position: relative; }
.mimo-pdp .mimo-size-swatches {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.mimo-pdp .mimo-size-swatch {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 5.75rem;
  min-height: 52px;
  padding: 0 18px;
  border: 1px solid var(--burgundy);
  background: transparent;
  color: var(--ink);
  font: inherit;
  font-weight: 650;
  line-height: 1;
  cursor: pointer;
}
.mimo-pdp .mimo-size-swatch.is-selected,
.mimo-pdp .mimo-size-swatch[aria-pressed="true"] {
  background: var(--burgundy);
  color: var(--cream);
}
@media (hover: hover) {
  .mimo-pdp .mimo-size-swatch:hover {
    background: rgba(88, 21, 46, .06);
  }
  .mimo-pdp .mimo-size-swatch.is-selected:hover,
  .mimo-pdp .mimo-size-swatch[aria-pressed="true"]:hover {
    background: var(--deep);
    border-color: var(--deep);
    color: var(--cream);
  }
}
/* Simple products carry their single size in a non-interactive box that matches
   the selected variable swatch, so every PDP shows a "Kiszerelés" value. */
.mimo-pdp .mimo-size-label {
  margin: 0 0 10px;
  color: var(--burgundy);
  font-family: Manrope, system-ui, sans-serif;
  font-size: 0.72rem;
  font-weight: 650;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.mimo-pdp .mimo-size-picker-static { margin: 0 0 22px; }
.mimo-pdp .mimo-size-picker-static .mimo-size-swatch { cursor: default; }
@media (hover: hover) {
  .mimo-pdp .mimo-size-picker-static .mimo-size-swatch:hover {
    background: var(--burgundy);
    border-color: var(--burgundy);
    color: var(--cream);
  }
}
.mimo-pdp .mimo-size-picker select,
.mimo-pdp div.product form.cart.variations_form select[name="attribute_pa_kiszereles"] {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.mimo-pdp div.product form.cart.variations_form .reset_variations {
  display: none !important;
}
.mimo-pdp div.product .woocommerce-variation-add-to-cart {
  display: grid !important;
  grid-template-columns: auto 1fr !important;
  gap: 14px;
  align-items: stretch;
}
.woocommerce.mimo-pdp div.product .quantity,
.mimo-pdp div.product .quantity {
  display: grid !important;
  grid-template-columns: 48px 52px 48px !important;
  align-items: center;
  min-height: 56px;
  width: max-content !important;
  justify-self: start;
  float: none !important;
  border: 1px solid var(--burgundy);
  background: transparent;
}
.mimo-pdp div.product .quantity .screen-reader-text { display: none; }
.mimo-pdp div.product .quantity input.qty {
  width: 52px;
  min-height: 54px;
  border: 0;
  background: transparent;
  text-align: center;
  -moz-appearance: textfield;
}
.mimo-pdp div.product .quantity input.qty::-webkit-outer-spin-button,
.mimo-pdp div.product .quantity input.qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.mimo-pdp .mimo-qty-minus,
.mimo-pdp .mimo-qty-plus {
  display: grid;
  place-items: center;
  width: 48px;
  height: 56px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--ink);
}
.mimo-pdp .mimo-qty-minus svg,
.mimo-pdp .mimo-qty-plus svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
}
.mimo-pdp div.product .single_add_to_cart_button {
  width: 100% !important;
  min-height: 56px;
  float: none !important;
}
.mimo-pdp div.product .single_add_to_cart_button:hover {
  background: var(--deep) !important;
}
.mimo-fulfillment { display: none; }
.mimo-trust {
  list-style: none;
  margin: 22px 0 0;
  padding: 18px 0 0;
  border-top: 1px solid var(--line);
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.3fr) minmax(0, .9fr);
  gap: 18px 24px;
  align-items: start;
}
.mimo-trust-review,
.mimo-trust-pay,
.mimo-trust-ship {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  color: var(--ink);
  min-width: 0;
}
.mimo-trust-ship-row {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 8px;
  color: var(--muted);
  font-size: 0.88rem;
}
.mimo-trust-ship-row svg {
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  fill: none;
  stroke: var(--rose);
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.mimo-trust strong {
  display: block;
  font-size: 0.95rem;
  font-weight: 650;
  line-height: 1.25;
}
.mimo-pay-marks {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 8px 0 0;
  padding: 0;
}
.mimo-pay-marks li { margin: 0; padding: 0; }
.woocommerce.mimo-pdp .mimo-pay-marks img.mimo-pay-mark {
  height: 28px;
  width: auto;
  max-width: none;
  display: block;
  border-radius: 4px;
}
.woocommerce.mimo-pdp .mimo-pay-marks img.mimo-pay-mark-word,
.factory-home-trust .mimo-pay-marks img.mimo-pay-mark-word {
  height: 22px;
  border-radius: 0;
}
.factory-home-trust {
  padding-block: 3.25rem;
  width: min(100%, var(--max));
  margin-inline: auto;
}
.factory-home-trust .mimo-trust {
  margin: 0;
  padding: 0;
  border-top: 0;
}
.factory-home-trust .mimo-pay-marks img.mimo-pay-mark {
  height: 28px;
  width: auto;
  max-width: none;
  display: block;
  border-radius: 4px;
}
.mimo-facts { margin-top: 22px; }
.mimo-facts details { border-bottom: 1px solid var(--line); }
.mimo-facts summary {
  min-height: 60px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  font-weight: 650;
  list-style: none;
}
.mimo-facts summary::-webkit-details-marker { display: none; }
.mimo-facts summary::after {
  content: "";
  width: 10px;
  height: 10px;
  border-right: 1.7px solid currentColor;
  border-bottom: 1.7px solid currentColor;
  transform: rotate(45deg);
}
.mimo-facts details[open] summary::after { transform: rotate(-135deg); }
.mimo-fact-content { padding: 0 0 18px; color: var(--muted); }
.mimo-fact-content p { margin: 0 0 10px; }

.mimo-notes {
  grid-area: notes;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  background: var(--deep);
  color: var(--cream);
}
.mimo-notes-inner {
  max-width: var(--max);
  margin: auto;
  padding: 110px 28px;
}
.mimo-notes .factory-kicker { color: var(--powder); }
.mimo-notes h2 {
  margin: 0 0 36px;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: var(--heading);
  font-weight: 500;
  letter-spacing: -.026em;
  line-height: .98;
}
.mimo-note-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid rgba(245, 238, 232, .28);
  border-bottom: 1px solid rgba(245, 238, 232, .28);
}
.mimo-note-card {
  padding: 42px 34px 48px;
  border-right: 1px solid rgba(245, 238, 232, .28);
}
.mimo-note-card:first-child { padding-left: 0; }
.mimo-note-card:last-child { border: 0; padding-right: 0; }
.mimo-note-card h3 {
  margin: 0 0 18px;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 2.2rem;
  font-weight: 500;
  color: var(--powder);
}
.mimo-note-card p { margin: 0; color: rgba(245, 238, 232, .76); }

.mimo-story {
  grid-area: story;
  max-width: var(--max);
  width: 100%;
  margin: 0 auto;
  padding: 105px 28px;
  display: grid;
  grid-template-columns: .86fr 1.14fr;
  gap: 85px;
  align-items: start;
}
.mimo-story h2 {
  margin: 0;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: var(--heading);
  font-weight: 500;
  letter-spacing: -.026em;
  line-height: .98;
}
.mimo-story-body p { margin: 0; color: var(--muted); }
.mimo-story-body p + p { margin-top: 18px; }
.mimo-story-rule {
  width: 80px;
  height: 2px;
  margin: 30px 0 0;
  background: var(--rose);
}

.mimo-pdp .related.products {
  grid-area: related;
  max-width: var(--max);
  width: 100%;
  margin: 0 auto;
  padding: 100px 28px 110px;
  border-top: 1px solid var(--line);
  text-align: left;
  background: transparent;
}
.mimo-pdp .related.products > h2 {
  margin: 0 0 28px;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: var(--heading);
  font-weight: 500;
  letter-spacing: -.026em;
  line-height: .98;
}
.mimo-pdp .related.products > h2::before {
  content: "További illatok";
  display: block;
  margin-bottom: 14px;
  color: var(--burgundy);
  font-family: Manrope, system-ui, sans-serif;
  font-size: var(--text-min);
  font-weight: 650;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.mimo-pdp .related ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  width: 100%;
}
.mimo-pdp .related ul.products li.product {
  width: auto !important;
  margin: 0 !important;
  float: none !important;
  clear: none !important;
}
.mimo-pdp .related ul.products li.product img {
  aspect-ratio: 1 / 1.08;
  max-height: none;
  object-fit: contain;
  background: var(--white);
}
.mimo-related-brand {
  margin: 10px 0 0;
  color: var(--burgundy);
  font-weight: 650;
}
.mimo-pdp .related .woocommerce-loop-product__title {
  margin: 10px 12px 0;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.2;
}
.mimo-pdp .related li.product .price {
  margin: 6px 12px 0;
  color: var(--ink);
  font-family: Manrope, system-ui, sans-serif;
  font-size: 1rem;
  font-weight: 650;
}

.factory-shop {
  width: 100%;
  max-width: none !important;
  padding: 0 !important;
  text-align: left;
}
.factory-shop.wp-block-group.is-layout-constrained > *,
.factory-shop.wp-block-group.is-layout-flow > * {
  max-width: none !important;
  margin-inline: 0 !important;
}
.mimo-shop .content-area {
  max-width: none;
  width: 100%;
  margin: 0;
  padding: 0;
}
.mimo-shop .site-main {
  max-width: var(--max);
  width: min(calc(100% - 2rem), var(--max));
  margin: 0 auto;
  padding: 0;
}
.mimo-shop .woocommerce-products-header {
  max-width: none;
  width: 100%;
  margin: 0;
  padding: 0;
}
.mimo-shop .woocommerce-breadcrumb {
  margin: 0;
  padding: 20px 0 4px;
  color: var(--muted);
  font-family: Manrope, system-ui, sans-serif;
}
.mimo-shop .woocommerce-breadcrumb a { color: var(--muted); text-decoration: none; }
.mimo-shop-intro {
  padding: 8px 0 18px;
  text-align: left;
}
.mimo-shop-intro h1 {
  max-width: 16ch;
  margin: 0 0 10px;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: var(--display);
  font-weight: 500;
  letter-spacing: -.026em;
  line-height: .98;
  text-wrap: balance;
}
.mimo-shop-note {
  max-width: 42rem;
  margin: 0;
  color: var(--muted);
}
.mimo-shop-count {
  margin: 0;
  color: var(--burgundy);
  font-weight: 650;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.mimo-shop-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px 24px;
  flex-wrap: wrap;
  margin: 16px 0 0;
}
.mimo-shop-empty {
  max-width: var(--max);
  margin: 0 auto 80px;
  padding: 0 28px 40px;
  color: var(--muted);
}
.mimo-shop .woocommerce-result-count,
.mimo-shop .woocommerce-products-header__title,
.mimo-shop .page-title,
.mimo-shop .onsale,
.mimo-shop li.product .added_to_cart {
  display: none !important;
}
.mimo-shop .woocommerce-ordering {
  display: block;
  margin: 0;
  margin-left: auto;
}
.mimo-shop .woocommerce-ordering select {
  -webkit-appearance: none;
  appearance: none;
  display: block;
  box-sizing: border-box;
  min-height: 44px;
  height: 44px;
  padding: 0 2.4rem 0 0.95rem;
  border: 1px solid var(--line);
  border-radius: 0;
  background-color: var(--white);
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231A1714' stroke-width='1.7' stroke-linecap='square'><path d='M6 9l6 6 6-6'/></svg>");
  background-repeat: no-repeat;
  background-position: right 0.85rem center;
  background-size: 12px 12px;
  color: var(--ink);
  font-family: Manrope, system-ui, sans-serif;
  font-size: 0.95rem;
  font-weight: 500;
  line-height: 44px;
  letter-spacing: 0;
  text-align: left;
  cursor: pointer;
}
.mimo-shop .woocommerce-ordering select:focus {
  outline: 3px solid var(--rose);
  outline-offset: 3px;
}
.mimo-shop ul.products::before,
.mimo-shop ul.products::after {
  display: none !important;
  content: none !important;
}
.mimo-shop ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  width: 100%;
  margin: 0;
  padding: 0 0 88px;
  list-style: none;
}
.mimo-shop ul.products li.product {
  width: auto !important;
  margin: 0 !important;
  float: none !important;
  clear: none !important;
}
.mimo-shop ul.products li.product a {
  text-decoration: none;
  color: inherit;
}
.mimo-shop ul.products li.product img {
  aspect-ratio: 1 / 1.08;
  object-fit: contain;
  background: var(--white);
}
.mimo-shop .woocommerce-loop-product__title {
  margin: 10px 12px 0;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.2;
}
.mimo-shop li.product .price {
  margin: 6px 12px 0;
  color: var(--ink);
  font-family: Manrope, system-ui, sans-serif;
  font-size: 0.95rem;
  font-weight: 650;
}
.mimo-shop .woocommerce-pagination {
  margin: 0 0 88px;
  padding: 0;
}
.mimo-shop .woocommerce-pagination ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-start;
  margin: 0;
  padding: 0;
  list-style: none;
}
.mimo-shop .woocommerce-pagination li { margin: 0; }
.mimo-shop .woocommerce-pagination a,
.mimo-shop .woocommerce-pagination span {
  display: inline-flex;
  min-width: 48px;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--line);
  background: var(--white);
  color: var(--ink);
  text-decoration: none;
}
.mimo-shop .woocommerce-pagination .current {
  background: var(--burgundy);
  border-color: var(--burgundy);
  color: var(--cream);
}
.factory-pdp + .factory-newsletter,
.factory-pdp + .factory-finder,
.factory-shop + .factory-newsletter {
  max-width: var(--max);
  margin-inline: auto;
  padding-inline: 28px;
}

@media (max-width: 782px) {
  .mimo-pdp .woocommerce-product-gallery {
    position: static !important;
    top: auto;
  }
}

@media (max-width: 960px) {
  :root { --text-min: 16px; }
  .factory-logo { min-height: 2.5rem; font-size: .95rem; }
  .mimo-pdp header .factory-header,
  .mimo-pdp .factory-header,
  header .wp-block-group.factory-header,
  header .factory-header,
  .factory-header {
    grid-template-areas: "toggle brand tools";
    grid-template-columns: 1fr auto 1fr;
    min-height: 64px;
    padding-block: .35rem;
  }
  .factory-menu-toggle { display: inline-grid; place-items: center; }
  .factory-nav { display: none; }
  img.factory-logo,
  .factory-logo.factory-logo-img { height: 28px; }
  .factory-nav-backdrop {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 80;
    border: 0;
    padding: 0;
    margin: 0;
    background: rgba(18, 15, 13, .28);
    cursor: pointer;
  }
  .factory-nav-backdrop[hidden] { display: none !important; }
  .factory-nav-drawer {
    display: flex;
    flex-direction: column;
    gap: .15rem;
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    width: min(22rem, 86vw);
    z-index: 90;
    margin: 0;
    padding: 5.5rem 1.5rem 2rem;
    background: var(--cream);
    overflow: auto;
  }
  .factory-nav-drawer[hidden] { display: none !important; }
  .factory-nav-drawer a {
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 1.7rem;
    font-weight: 500;
    letter-spacing: -.02em;
    padding: .35rem 0;
  }
  .factory-nav-drawer .mimo-houses-toggle {
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 1.7rem;
    font-weight: 500;
    letter-spacing: -.02em;
    width: 100%;
    justify-content: space-between;
    padding: .35rem 0;
  }
  .factory-nav-drawer .mimo-houses-chevron {
    width: 18px;
    height: 18px;
  }
  .factory-nav-drawer .mimo-houses-panel {
    position: static;
    min-width: 0;
    max-height: none;
    margin: 0;
    padding: .1rem 0 .55rem;
    background: transparent;
    border: 0;
    box-shadow: none;
    overflow: visible;
  }
  .factory-nav-drawer .mimo-houses-panel ul {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    list-style: none;
    margin: 0;
    padding: 0;
  }
  .factory-nav-drawer .mimo-houses-panel a {
    font-family: Manrope, system-ui, sans-serif;
    font-size: 1.05rem;
    font-weight: 500;
    letter-spacing: 0;
    padding: .45rem 0;
    min-height: 44px;
    display: flex;
    align-items: center;
    white-space: normal;
  }
  html.factory-nav-open { overflow: hidden; }
  .factory-hero,
  .factory-section-heading,
  .factory-trust,
  .factory-footer,
  .factory-story,
  .factory-category-grid,
  .woocommerce.mimo-pdp div.product,
  .mimo-pdp div.product,
  .mimo-story,
  .mimo-pdp .related ul.products { grid-template-columns: 1fr; }
  .factory-hero {
    height: auto;
    max-height: none;
  }
  .factory-hero-slides { height: auto; }
  .factory-hero-slide {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: minmax(260px, 58vh);
    height: auto;
  }
  .factory-hero-copy,
  .factory-finder-copy { padding: 2.4rem 1.4rem; }
  .factory-hero-media,
  .factory-hero-copy {
    grid-area: 1 / 1;
    order: 0;
    min-height: 0;
    height: 100%;
    max-height: none;
  }
  .factory-hero-copy {
    z-index: 2;
    justify-content: flex-end;
    padding: 4.2rem 1.15rem 2.35rem;
    background: linear-gradient(180deg, rgba(247, 243, 236, 0) 0%, rgba(232, 223, 210, .88) 36%, var(--powder) 58%);
  }
  .factory-hero .factory-kicker { margin-bottom: 8px; }
  .factory-hero h1.factory-tagline,
  .factory-hero h2.factory-tagline {
    font-size: clamp(1.65rem, 7vw, 1.95rem);
    line-height: 1.12;
    margin: 0 0 8px;
    max-width: 18ch;
  }
  .factory-hero-copy > p:not(.factory-kicker) {
    margin: 0 0 12px;
  }
  .factory-hero-caption { display: none; }
  .factory-hero-nav {
    position: absolute;
    left: 1.15rem;
    bottom: 12px;
    z-index: 4;
    margin: 0;
  }
  .factory-hero .mimo-tester-legend { display: none; }
  .factory-hero .mimo-tester {
    display: block;
    width: 52px;
    height: 36%;
    max-height: 148px;
    top: 7%;
    left: 50%;
    box-shadow: 0 12px 28px rgba(18, 15, 13, .14);
  }
  .factory-hero .mimo-tester i {
    left: 7px;
    right: 7px;
    top: 22%;
    bottom: 9px;
  }
  .factory-hero .mimo-tester-citrus {
    transform: translate(-76px, 0) rotate(-16deg);
  }
  .factory-hero .mimo-tester-floral {
    transform: translate(-26px, -10px) rotate(2deg);
  }
  .factory-hero .mimo-tester-wood {
    transform: translate(24px, 6px) rotate(14deg);
  }
  .factory-hero-slide[data-hero-id="finder"] .factory-hero-copy {
    background: linear-gradient(180deg, rgba(247, 243, 236, 0) 28%, rgba(232, 223, 210, .78) 52%, var(--powder) 68%);
  }
  .factory-finder {
    grid-template-columns: 1fr;
    grid-template-areas:
      "kicker"
      "title"
      "art"
      "lede"
      "cta";
    padding: 2.2rem 1.4rem 3rem;
  }
  .factory-finder-copy {
    display: contents;
  }
  .factory-finder .factory-kicker { grid-area: kicker; }
  .factory-finder h2 { grid-area: title; margin: 0 0 12px; }
  .factory-finder-art { grid-area: art; }
  .factory-finder-lede { grid-area: lede; margin: 16px 0 20px; }
  .factory-finder .factory-btn { grid-area: cta; }
  .factory-finder-art {
    min-height: 220px;
    height: 38vh;
    max-height: 260px;
  }
  .factory-finder-art .mimo-tester {
    width: 52px;
    height: 58%;
    max-height: 150px;
    top: 10%;
  }
  .factory-finder-art .mimo-tester-citrus {
    transform: translate(-76px, 0) rotate(-16deg);
  }
  .factory-finder-art .mimo-tester-floral {
    transform: translate(-26px, -10px) rotate(2deg);
  }
  .factory-finder-art .mimo-tester-wood {
    transform: translate(24px, 6px) rotate(14deg);
  }
  .factory-finder-art .mimo-tester-legend {
    bottom: 14px;
  }
  .factory-story-media { min-height: 360px; }
  .factory-story-media img { padding: 35px; }
  .factory-scent-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
  .factory-scent-card { min-height: 64px; padding: 10px 12px; }
  .factory-why-grid { grid-template-columns: 1fr; gap: 22px; }
  .factory-why { padding-block: 3.2rem 3.6rem; text-align: left; }
  .factory-why h2 { margin-bottom: 1.8rem; }
  .factory-scent-link { grid-template-columns: 1fr; gap: 6px; padding: 16px 0; }
  .factory-scent-note { text-align: left; }
  .factory-trust-item,
  .factory-trust-item:first-child,
  .factory-trust-item:last-child {
    padding: 20px 0;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }
  .factory-trust-item:last-child { border-bottom: 0; }
  .mimo-pdp .woocommerce-breadcrumb { display: none; }
  .woocommerce.mimo-pdp div.product,
  .mimo-pdp div.product {
    grid-template-columns: 1fr;
    grid-template-areas:
      "notices"
      "gallery"
      "summary"
      "notes"
      "story"
      "related";
    gap: 12px;
    padding: 0 0 78px;
  }
  .woocommerce.mimo-pdp div.product div.images,
  .mimo-pdp div.product div.images,
  .mimo-pdp .woocommerce-product-gallery {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .woocommerce.mimo-pdp div.product div.summary,
  .mimo-pdp div.product div.summary,
  .mimo-pdp div.product .summary {
    margin-left: 16px !important;
    margin-right: 16px !important;
  }
  .mimo-pdp .woocommerce-product-gallery {
    min-height: 0;
    max-height: none;
    padding: 8px 16px 0;
  }
  .mimo-pdp .flex-direction-nav {
    top: 8px;
    right: 16px;
    left: 16px;
    height: min(38vh, calc(100dvh - 29rem));
  }
  .mimo-pdp .woocommerce-product-gallery img {
    max-height: min(38vh, calc(100dvh - 29rem));
  }
  .mimo-pdp .woocommerce-product-gallery__image a { padding: 0; }
  .mimo-pdp .flex-control-thumbs,
  .mimo-pdp .flex-control-nav.flex-control-thumbs { display: none; }
  .mimo-pdp div.product .summary { padding-top: 4px; }
  .mimo-pdp .factory-product-kicker { margin: 0 0 8px; font-size: .78rem; }
  .mimo-pdp div.product .product_title {
    margin: 0 0 8px;
    font-size: var(--display);
  }
  .mimo-pdp div.product p.price,
  .mimo-pdp div.product span.price,
  .mimo-pdp div.product p.price .amount {
    margin: 0 0 14px;
    font-size: 1.85rem;
  }
  .mimo-pdp div.product .woocommerce-product-details__short-description {
    display: none;
  }
  .mimo-pdp div.product form.cart.variations_form table.variations {
    margin: 0 0 12px;
  }
  .mimo-pdp div.product form.cart.variations_form table.variations th.label {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
  }
  .mimo-pdp .mimo-size-swatches { gap: 8px; }
  .mimo-pdp .mimo-size-swatch {
    flex: 1 1 0;
    min-width: 0;
    min-height: 48px;
    padding: 0 10px;
  }
  .mimo-pdp .mimo-size-picker-static { margin: 0 0 12px; }
  .mimo-pdp .mimo-size-picker-static .mimo-size-swatch { flex: 0 0 auto; }
  .mimo-pdp .mimo-size-label {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
  }
  .mimo-pdp div.product .stock { margin: 8px 0 10px; }
  .mimo-pdp div.product .woocommerce-variation-description { display: none; }
  .mimo-pdp div.product form.cart:not(.variations_form),
  .mimo-pdp div.product .woocommerce-variation-add-to-cart {
    grid-template-columns: auto 1fr !important;
    gap: 10px;
    align-items: stretch;
  }
  .woocommerce.mimo-pdp div.product .quantity,
  .mimo-pdp div.product .quantity {
    grid-template-columns: 44px 40px 44px !important;
    width: max-content !important;
    min-height: 52px !important;
  }
  .mimo-pdp div.product .quantity input.qty { width: 40px; min-height: 50px; }
  .mimo-pdp .mimo-qty-minus,
  .mimo-pdp .mimo-qty-plus {
    width: 44px;
    height: 52px;
  }
  .mimo-pdp div.product .single_add_to_cart_button {
    min-height: 52px;
    padding-top: 0;
    padding-bottom: 0;
    white-space: nowrap;
    font-size: 0.95rem;
  }
  .mimo-pdp .mimo-lead { display: none; }
  .mimo-pdp .mimo-trust {
    grid-template-columns: 1fr;
    gap: 0;
    margin-top: 14px;
    padding-top: 4px;
  }
  .factory-home-trust .mimo-trust {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .factory-products .mimo-bestseller-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }
  .mimo-trust-review,
  .mimo-trust-pay,
  .mimo-trust-ship {
    padding: 14px 0;
    border-bottom: 1px solid var(--line);
  }
  .mimo-trust-ship { border-bottom: 0; }
  .mimo-star { width: 14px; height: 14px; }
  .mimo-review-score { font-size: 1.2rem; }
  .mimo-pdp div.product .stock { margin: 6px 0 8px; }
  .mimo-notes-inner { padding: 78px 20px; }
  .mimo-note-grid { grid-template-columns: 1fr; }
  .mimo-note-card,
  .mimo-note-card:first-child,
  .mimo-note-card:last-child {
    padding: 30px 0;
    border-right: 0;
    border-bottom: 1px solid rgba(245, 238, 232, .28);
  }
  .mimo-note-card:last-child { border-bottom: 0; }
  .mimo-story { gap: 32px; padding: 78px 18px; }
  .mimo-pdp .related.products { padding: 76px 18px 82px; }
  .mimo-pdp .related ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .mimo-pdp .related .woocommerce-loop-product__title { font-size: 1.15rem; }
  .mimo-shop .content-area { padding: 0; }
  .mimo-shop .site-main { padding: 0; }
  .mimo-shop .woocommerce-products-header { padding: 0; }
  .mimo-shop .woocommerce-breadcrumb { padding: 24px 0 6px; }
  .mimo-shop ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .mimo-shop .woocommerce-loop-product__title { font-size: 1.15rem; }
  .factory-products .wp-block-post-title { font-size: 1.15rem; }
  .factory-pdp + .factory-newsletter,
  .factory-pdp + .factory-finder,
  .factory-shop + .factory-newsletter { padding-inline: 18px; }
}

@media (max-width: 540px) {
  .mimo-pdp .woocommerce-product-gallery { min-height: 0; padding: 4px 12px 0; }
  .mimo-pdp .flex-direction-nav {
    top: 4px;
    right: 12px;
    left: 12px;
  }
  .mimo-pdp .related ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mimo-shop ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
  }
}

/* Cart page + Mini Cart drawer */
.woocommerce-cart .factory-products {
  padding-block: clamp(2.5rem, 6vw, 4.5rem) 5rem;
}
.woocommerce-cart .wp-block-post-title {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 500;
  font-size: var(--display);
  text-align: center;
  margin-bottom: 1.5rem;
}
.wp-block-woocommerce-empty-cart-block {
  text-align: center;
  padding-block: 1rem 2rem;
}
.wp-block-woocommerce-empty-cart-block > svg,
.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__image,
.wp-block-woocommerce-empty-cart-block .wc-block-components-empty,
.wc-block-mini-cart__empty-cart > svg,
.wc-block-mini-cart__empty-cart .wc-block-mini-cart__empty-cart-image {
  display: none !important;
}
.wp-block-woocommerce-empty-cart-block h2,
.wc-block-cart__empty-cart__title,
.wc-block-mini-cart__empty-cart h2 {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 500;
  font-size: clamp(1.8rem, 3vw, 2.4rem);
  color: var(--ink);
}
.factory-tools .wp-block-woocommerce-mini-cart,
.factory-tools .mimo-mini-cart,
.factory-tools .wc-block-mini-cart {
  display: inline-grid;
  place-items: center;
}
.wc-block-mini-cart__button,
.mimo-mini-cart .wc-block-mini-cart__button {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  width: 48px;
  height: 48px;
  padding: 0 !important;
  color: var(--ink) !important;
}
.wc-block-mini-cart__icon,
.mimo-mini-cart .wc-block-mini-cart__icon {
  width: 24px !important;
  height: 24px !important;
}
.wc-block-mini-cart__badge {
  background: var(--burgundy) !important;
  color: var(--cream) !important;
  font-family: Manrope, system-ui, sans-serif;
  font-size: 11px;
}
.wc-block-mini-cart__drawer,
.wc-block-mini-cart__drawer .components-modal__content,
.wc-block-components-drawer__content {
  background: var(--cream) !important;
  color: var(--ink);
}
.wc-block-mini-cart__title,
.wc-block-mini-cart__drawer h2 {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 500;
}
/* Cart: the shipping cost is settled at checkout, so the cart never quotes a
   price. Woo's own row and footer notice are replaced by the approved notice
   line, which only exists once the cart UI script has run. The Hungarian
   pickup-points plugin prints its own rate into that row with an inline
   pseudo-element, which the hidden row takes out with it. */
.mimo-cart-note-ready.woocommerce-cart .wp-block-woocommerce-cart-order-summary-shipping-block,
.mimo-cart-note-ready.woocommerce-cart .wc-block-components-totals-footer-item-shipping {
  display: none !important;
}
.mimo-cart-hidden {
  display: none !important;
}
/* The page-level .factory-products centring leaks into this column, which left the
   painted label and the notice centred inside their boxes. Both lines start at the
   column's left edge; the amount stays on the right edge. */
.mimo-cart-subtotal {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: baseline;
  margin: 0;
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
  text-align: left;
}
.mimo-cart-subtotal .wc-block-components-totals-item__label {
  text-align: left;
}
.mimo-cart-shipping-note {
  margin: 0;
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
  color: var(--ink);
  font-size: 0.9rem;
  line-height: 1.45;
  text-align: left;
}
/* Cart checkout CTA: Woo renders it without fill or border, so give it the theme's
   primary-button look. */
.woocommerce-cart .wc-block-cart__submit-container .wc-block-cart__submit-button,
.woocommerce-cart a.wc-block-cart__submit-button {
  background: var(--burgundy) !important;
  border: 1px solid var(--deep) !important;
  border-radius: 0;
  color: var(--cream) !important;
  min-height: 54px;
  font-weight: 650;
  letter-spacing: .01em;
}
.woocommerce-cart .wc-block-cart__submit-container .wc-block-cart__submit-button:hover,
.woocommerce-cart a.wc-block-cart__submit-button:hover {
  background: var(--deep) !important;
  border-color: var(--deep) !important;
  color: var(--cream) !important;
}
/* Checkout place-order CTA: Woo leaves it transparent with light text on the
   cream page, so it blends in. Same filled primary look as the cart CTA. */
.woocommerce-checkout .wc-block-components-checkout-place-order-button {
  background: var(--burgundy) !important;
  border: 1px solid var(--deep) !important;
  border-radius: 0;
  color: var(--cream) !important;
  min-height: 58px;
  font-weight: 700;
  letter-spacing: .02em;
  box-shadow: 0 6px 18px rgba(26, 23, 20, .18);
  transition: background-color .2s ease, box-shadow .2s ease;
}
.woocommerce-checkout .wc-block-components-checkout-place-order-button .wc-block-components-button__text {
  color: inherit;
  font-weight: inherit;
}
.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover,
.woocommerce-checkout .wc-block-components-checkout-place-order-button:focus-visible {
  background: var(--deep) !important;
  border-color: var(--deep) !important;
  color: var(--cream) !important;
  box-shadow: 0 8px 22px rgba(26, 23, 20, .26);
}
.woocommerce-checkout .wc-block-components-checkout-place-order-button:focus-visible {
  outline: 2px solid var(--burgundy);
  outline-offset: 3px;
}
.woocommerce-checkout .wc-block-components-checkout-place-order-button:disabled {
  opacity: .6;
  cursor: not-allowed;
}
[data-mimo-shipping-host] {
  margin: 0 0 1rem;
}
.mimo-shipping-cue {
  padding: .85rem 0 1rem;
}
.mimo-shipping-cue__text {
  margin: 0 0 .55rem;
  font-family: Manrope, system-ui, sans-serif;
  font-size: 15px;
  line-height: 1.45;
  color: var(--burgundy);
  font-weight: 650;
}
.mimo-shipping-cue.is-met .mimo-shipping-cue__text {
  color: var(--deep);
}
.mimo-shipping-cue__track {
  display: block;
  height: 2px;
  background: var(--line);
  overflow: hidden;
}
.mimo-shipping-cue__fill {
  display: block;
  height: 100%;
  width: 100%;
  background: var(--burgundy);
  transform-origin: left center;
  transition: transform .35s ease;
}
body:not(.woocommerce-checkout) .woocommerce-notices-wrapper,
body:not(.woocommerce-checkout) .woocommerce-message,
.mimo-pdp .woocommerce-notices-wrapper,
.mimo-pdp .woocommerce-message {
  display: none !important;
}
[data-mimo-shipping-host="drawer"] {
  padding: .25rem 1.25rem .35rem;
}
.mimo-shipping-float {
  position: relative;
  top: auto;
  right: auto;
  left: auto;
  z-index: 2;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: .15rem 1.5rem .85rem;
  background: var(--cream);
  box-sizing: border-box;
  pointer-events: none;
}
body.mimo-shipping-cue-visible .wp-block-woocommerce-mini-cart-items-block,
body.mimo-shipping-cue-visible .wp-block-woocommerce-mini-cart-products-table-block,
body.mimo-shipping-cue-visible .wc-block-mini-cart__items,
body.mimo-shipping-cue-visible .wc-block-mini-cart__products-table {
  margin-top: 0;
}
.mimo-shipping-cue {
  padding: .15rem 0 .35rem;
}
.wc-block-components-drawer .mimo-shipping-float,
.wc-block-mini-cart__drawer .mimo-shipping-float {
  border-bottom: 0;
}


/* Light header; gold mark as supplied, no invert and no black bar. */
header.wp-block-template-part,
header:has(.factory-header) {
  background: rgba(247, 243, 236, .96);
  border-bottom: 1px solid var(--line);
  backdrop-filter: blur(14px);
}
.factory-nav a,
.factory-nav .mimo-houses-toggle,
.factory-tool,
.factory-brand { color: var(--ink); }
img.factory-logo,
.factory-logo.factory-logo-img {
  display: block;
  height: 42px;
  width: auto;
  max-width: 220px;
  padding: 0;
  min-height: 0;
  object-fit: contain;
  font-size: 0;
  letter-spacing: 0;
  text-transform: none;
  filter: none;
}
.factory-kicker { color: #8A6A22; }
.factory-btn { border-color: #1A1714; color: #1A1714; }
.factory-btn.factory-btn-primary {
  background: #1A1714;
  color: rgb(247, 243, 236);
  border-color: #1A1714;
}

/* Woo range prefix lives in .screen-reader-text; TT5 child does not load core clip. */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal !important;
}

.factory-products .wc-block-components-product-button__button,
.wc-block-grid__product .wp-block-button,
.wc-block-grid__product .add_to_cart_button {
  display: none !important;
}

.with-empty-cart-icon::before,
h2.with-empty-cart-icon::before,
.wc-block-cart__empty-cart__title.with-empty-cart-icon::before {
  content: none !important;
  display: none !important;
  background: none !important;
}
.mimo-empty-cart {
  text-align: center;
  padding: 2.5rem 1.25rem 3.5rem;
}
.mimo-empty-cart-copy {
  margin: 0 0 1rem;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 500;
  font-size: clamp(1.8rem, 3vw, 2.4rem);
  line-height: 1.2;
  color: var(--ink);
}
.mimo-empty-cart-action { margin: 0; }
.mimo-empty-cart-action a {
  color: var(--ink);
  text-decoration: underline;
  text-underline-offset: 3px;
}

@media (max-width: 960px) {
  .factory-hero-actions {
    position: relative;
    z-index: 2;
    width: 100%;
  }
  .factory-hero-actions .factory-btn {
    min-height: 44px;
  }
  img.factory-logo,
  .factory-logo.factory-logo-img {
    height: 28px;
    max-width: 160px;
  }
}

/* Checkout: the locker picker sits with the Szállítási opciók choice, and its
   search dropdown must paint above the address fields that follow it. */
.woocommerce-checkout .wp-block-woocommerce-checkout-pickup-options-block,
.woocommerce-checkout .vp-woo-pont-block {
  position: relative;
  z-index: 40;
}
.woocommerce-checkout .vp-woo-pont-block-list-item.selected {
  z-index: 41;
}
.woocommerce-checkout .vp-woo-pont-block-list-item-search .search-autocomplete,
.woocommerce-checkout .vp-woo-pont-block-list-item-search .search-autocomplete .wrapper,
.woocommerce-checkout .vp-woo-pont-block-list-item-search .search-autocomplete .wrapper ul {
  z-index: 42;
}
.woocommerce-checkout .wp-block-woocommerce-checkout-shipping-address-block,
.woocommerce-checkout .wp-block-woocommerce-checkout-billing-address-block {
  position: relative;
  z-index: 1;
}

/* Checkout rate rows: the option names start at the same x. The page-level
   .factory-products centring leaks into main on the checkout page, which left the
   wider "GLS házhozszállítás" and the narrower "GLS Csomagpont" labels at
   different left edges. */
.woocommerce-checkout .wp-block-woocommerce-checkout-shipping-methods-block .wc-block-components-radio-control__label-group {
  display: flex;
  align-items: baseline;
  justify-content: flex-start;
  gap: 1rem;
}
.woocommerce-checkout .wp-block-woocommerce-checkout-shipping-methods-block .wc-block-components-radio-control__label {
  flex: 1 1 auto;
  text-align: left;
}
.woocommerce-checkout .wp-block-woocommerce-checkout-shipping-methods-block .wc-block-components-radio-control__secondary-label {
  flex: 0 0 auto;
  text-align: right;
}
