/* MELA Elementor Base 1.0 */
.mela-elementor-page{width:100%;max-width:100%;margin:0;padding:0;overflow:clip}
.mela-elementor-page>.elementor{width:100%}
body.elementor-page .mela-elementor-page{min-height:1px}
.elementor-editor-active .topbar{pointer-events:auto}
/* Elementor manages page spacing; never inject legacy content width around its root. */
.mela-elementor-page .elementor-element{max-width:none}


/* 1.0.1 — preserve the current MELA header typography/colors inside Elementor. */
.brand-header,
.brand-header .brand,
.brand-header .desktop-nav,
.brand-header .page-count,
.brand-header .brand-edition {
  font-family: var(--body, "Space Grotesk Variable", "Helvetica Neue", Arial, sans-serif) !important;
}
.brand-header .brand,
.brand-header .desktop-nav a,
.brand-header .page-count {
  color: inherit !important;
}
.brand-header.tone-black .brand-edition,
.brand-header.tone-violet .brand-edition {
  color: var(--signal, #d9ff43) !important;
}
.brand-header.tone-white .brand-edition,
.brand-header.tone-green .brand-edition {
  color: inherit !important;
}
/* Elementor must not repaint links in the full-screen MELA menu either. */
.brand-menu nav a {
  color: var(--white, #fff) !important;
}
.brand-menu nav a:hover,
.brand-menu nav a:focus-visible {
  color: var(--violet, #7569d6) !important;
}
.brand-menu--business nav a:hover,
.brand-menu--business nav a:focus-visible {
  color: var(--signal, #d9ff43) !important;
}

/* 1.0.2 — Elementor Design System is the source of truth on Elementor pages.
   Legacy MELA variables remain fallbacks for pages not migrated yet. */
body.elementor-page {
  --display: var(--e-global-typography-primary-font-family, "Unbounded Variable", "Helvetica Neue", Arial, sans-serif);
  --body: var(--e-global-typography-text-font-family, "Space Grotesk Variable", "Helvetica Neue", Arial, sans-serif);
  --violet: var(--e-global-color-primary, #7569d6);
  --black: var(--e-global-color-secondary, #09090a);
  --signal: var(--e-global-color-accent, #d9ff43);
  --white: var(--e-global-color-melawhite, #ffffff);
  --violet-bright: var(--e-global-color-melavioletbright, #8c80ff);
  --soft-violet: var(--e-global-color-melasoft, #ebe8ff);
}


/* 1.0.3 — header colours are real Elementor design tokens. The fallback
   header remains theme-owned for migration safety, but its text colours can
   now be changed centrally in Elementor > Site Settings > Global Colors. */
:root {
  --mela-header-on-dark: var(--e-global-color-melaheaderdarktext, #ffffff);
  --mela-header-on-light: var(--e-global-color-melaheaderlighttext, #09090a);
  --mela-header-accent: var(--e-global-color-melaheaderaccent, #d9ff43);
}
.brand-header.tone-black,
.brand-header.tone-violet {
  color: var(--mela-header-on-dark) !important;
}
.brand-header.tone-white,
.brand-header.tone-green {
  color: var(--mela-header-on-light) !important;
}
.brand-header.tone-black :is(.brand, .desktop-nav a, .page-count, .menu-toggle),
.brand-header.tone-violet :is(.brand, .desktop-nav a, .page-count, .menu-toggle) {
  color: var(--mela-header-on-dark) !important;
  -webkit-text-fill-color: var(--mela-header-on-dark) !important;
}
.brand-header.tone-white :is(.brand, .desktop-nav a, .page-count, .menu-toggle),
.brand-header.tone-green :is(.brand, .desktop-nav a, .page-count, .menu-toggle) {
  color: var(--mela-header-on-light) !important;
  -webkit-text-fill-color: var(--mela-header-on-light) !important;
}
.brand-header .brand-edition {
  color: var(--mela-header-accent) !important;
  -webkit-text-fill-color: var(--mela-header-accent) !important;
}

/* 1.0.4 — Elementor owns text colour inside Elementor content.
   The legacy 4.4.1 colour system sets -webkit-text-fill-color globally on
   main headings and paragraphs. Chrome/WebKit will display that fill colour
   even when Elementor correctly changes CSS color. Reset the fill to
   currentColor inside Elementor output so Elementor Global Colors and local
   widget colour controls work as expected. */
body.elementor-page main .elementor :is(h1,h2,h3,h4,h5,h6,p,li,strong,em,small,span,summary,blockquote),
body.elementor-page main .elementor-element :is(h1,h2,h3,h4,h5,h6,p,li,strong,em,small,span,summary,blockquote) {
  -webkit-text-fill-color: currentColor !important;
}

/* 1.0.5 — restored background-aware header tone switching. */
.brand-header{transition:color .22s ease}
.brand-header :is(.brand,.desktop-nav a,.page-count,.menu-toggle,.brand-edition){transition:color .22s ease,-webkit-text-fill-color .22s ease}

/* 1.0.6 — full MELA palette-aware header tone system. */
.brand-header{
  --mela-header-bg:var(--white,#fff);
  --mela-header-fg:var(--mela-header-on-light,#09090a);
  --mela-header-border:#1112;
  --mela-header-toggle-border:#1114;
  --mela-header-toggle-line:var(--black,#09090a);
  --mela-header-edition:var(--violet,#7569d6);
  background:var(--mela-header-bg)!important;
  color:var(--mela-header-fg)!important;
  border-bottom-color:var(--mela-header-border)!important;
  transition:background-color .28s ease,color .22s ease,border-color .28s ease!important;
}
.brand-header.tone-black{
  --mela-header-bg:var(--black,#09090a);
  --mela-header-fg:var(--mela-header-on-dark,#fff);
  --mela-header-border:#ffffff2b;
  --mela-header-toggle-border:#ffffff55;
  --mela-header-toggle-line:var(--white,#fff);
  --mela-header-edition:var(--signal,#d9ff43);
}
.brand-header.tone-violet{
  --mela-header-bg:var(--violet,#7569d6);
  --mela-header-fg:var(--mela-header-on-dark,#fff);
  --mela-header-border:#ffffff30;
  --mela-header-toggle-border:#ffffff55;
  --mela-header-toggle-line:var(--white,#fff);
  --mela-header-edition:var(--signal,#d9ff43);
}
.brand-header.tone-violet-bright{
  --mela-header-bg:var(--violet-bright,#8c80ff);
  --mela-header-fg:var(--mela-header-on-dark,#fff);
  --mela-header-border:#ffffff30;
  --mela-header-toggle-border:#ffffff55;
  --mela-header-toggle-line:var(--white,#fff);
  --mela-header-edition:var(--signal,#d9ff43);
}
.brand-header.tone-green{
  --mela-header-bg:var(--signal,#d9ff43);
  --mela-header-fg:var(--mela-header-on-light,#09090a);
  --mela-header-border:#1112;
  --mela-header-toggle-border:#1114;
  --mela-header-toggle-line:var(--black,#09090a);
  --mela-header-edition:var(--violet,#7569d6);
}
.brand-header.tone-soft{
  --mela-header-bg:var(--soft-violet,var(--violet-light,#ebe8ff));
  --mela-header-fg:var(--mela-header-on-light,#09090a);
  --mela-header-border:#1112;
  --mela-header-toggle-border:#1114;
  --mela-header-toggle-line:var(--black,#09090a);
  --mela-header-edition:var(--violet,#7569d6);
}
.brand-header.tone-grey{
  --mela-header-bg:var(--grey,#dfe1e0);
  --mela-header-fg:var(--mela-header-on-light,#09090a);
  --mela-header-border:#1112;
  --mela-header-toggle-border:#1114;
  --mela-header-toggle-line:var(--black,#09090a);
  --mela-header-edition:var(--violet,#7569d6);
}
.brand-header.tone-white{
  --mela-header-bg:var(--white,#fff);
  --mela-header-fg:var(--mela-header-on-light,#09090a);
  --mela-header-border:#1112;
  --mela-header-toggle-border:#1114;
  --mela-header-toggle-line:var(--black,#09090a);
  --mela-header-edition:var(--violet,#7569d6);
}
.brand-header :is(.brand,.desktop-nav a,.page-count,.menu-toggle){
  color:var(--mela-header-fg)!important;
  -webkit-text-fill-color:var(--mela-header-fg)!important;
}
.brand-header .brand-edition{
  color:var(--mela-header-edition)!important;
  -webkit-text-fill-color:var(--mela-header-edition)!important;
}
.brand-header .menu-toggle{border-color:var(--mela-header-toggle-border)!important}
.brand-header .menu-toggle span{background:var(--mela-header-toggle-line)!important}

/* 1.0.12 · MELA 404 — reduced editorial rebuild ------------------------- */
.mela-404{
  --mela-404-x:clamp(1.25rem,5vw,6.5rem);
  background:var(--black);
  color:var(--white);
  min-height:100svh;
}
.mela-404__hero{
  position:relative;
  min-height:calc(100svh - 4.5rem);
  padding:clamp(7.5rem,11vh,9.5rem) var(--mela-404-x) clamp(4rem,7vw,6.5rem);
  background:var(--black);
  overflow:hidden;
}
.mela-404__topline{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:2rem;
  padding-bottom:clamp(1.25rem,2vw,1.8rem);
  border-bottom:1px solid rgba(255,255,255,.22);
}
.mela-404__topline>small{
  display:inline-flex;
  align-items:center;
  gap:.65rem;
  padding-top:.4rem;
  color:var(--signal);
  font-family:var(--body);
  font-size:.7rem;
  font-weight:800;
  line-height:1.3;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.mela-404__topline>small i{width:.55rem;height:.55rem;background:var(--signal);flex:0 0 .55rem}
.mela-404__code{
  flex:0 0 auto;
  color:var(--violet);
  font-family:var(--display);
  font-size:clamp(4.8rem,9vw,9.4rem);
  font-weight:730;
  line-height:.7;
  letter-spacing:-.09em;
}
.mela-404__layout{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(22rem,.58fr);
  gap:clamp(3rem,8vw,9rem);
  align-items:end;
  padding-top:clamp(3.7rem,7vw,7.5rem);
}
.mela-404__copy{min-width:0;max-width:70rem}
.mela-404__copy h1{
  max-width:10ch;
  margin:0;
  color:var(--white);
  font-family:var(--display);
  font-size:clamp(3.7rem,6.8vw,7.6rem);
  font-weight:720;
  line-height:.9;
  letter-spacing:-.07em;
  text-transform:uppercase;
}
.mela-404__copy h1 span{color:var(--signal)}
.mela-404__copy>p{
  max-width:39rem;
  margin:clamp(1.8rem,3vw,2.5rem) 0 0;
  padding-left:1rem;
  border-left:.38rem solid var(--violet);
  color:var(--white);
  font-family:var(--body);
  font-size:clamp(1rem,1.2vw,1.13rem);
  font-weight:430;
  line-height:1.58;
}
.mela-404__actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:clamp(2rem,3.5vw,3rem)}
.mela-404__actions .brand-action{width:auto;min-width:min(100%,16rem)}
.mela-404__paths{
  position:relative;
  width:100%;
  padding:clamp(1.5rem,2.8vw,2.25rem);
  border-top:.48rem solid var(--violet);
  background:var(--violet-light);
  color:var(--black);
}
.mela-404__paths-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}
.mela-404__paths-head small{color:var(--violet);font-family:var(--body);font-size:.68rem;font-weight:800;line-height:1.3;letter-spacing:.08em;text-transform:uppercase}
.mela-404__paths-head>span{display:inline-grid;grid-template-columns:1.65rem 1rem .55rem;gap:.28rem;align-items:center;transform:skewX(-27deg);color:var(--violet)}
.mela-404__paths-head>span i{display:block;width:100%;height:.28rem;background:currentColor}
.mela-404__paths nav{display:grid}
.mela-404__paths nav a{
  display:grid;
  grid-template-columns:2.4rem minmax(0,1fr) .65rem;
  gap:1rem;
  align-items:center;
  min-height:4.2rem;
  padding:.75rem 0;
  border-top:1px solid rgba(9,9,10,.18);
  color:var(--black);
  text-decoration:none;
  transition:padding .18s ease,background-color .18s ease;
}
.mela-404__paths nav a:last-child{border-bottom:1px solid rgba(9,9,10,.18)}
.mela-404__paths nav a>span{color:var(--violet);font-family:var(--body);font-size:.65rem;font-weight:800;letter-spacing:.06em}
.mela-404__paths nav a>strong{font-family:var(--display);font-size:clamp(.9rem,1.1vw,1.05rem);font-weight:700;line-height:1.1;letter-spacing:-.02em}
.mela-404__paths nav a>i{display:block;width:.62rem;height:.62rem;background:var(--violet)}
.mela-404__paths nav a:hover,.mela-404__paths nav a:focus-visible{padding-left:.7rem;background:rgba(117,105,214,.08)}
.mela-404__paths nav a:focus-visible{outline:2px solid var(--violet);outline-offset:4px}
.mela-404__rule{display:flex;align-items:center;gap:1rem;margin-top:clamp(3.5rem,6vw,6rem)}
.mela-404__rule span{display:block;width:clamp(4rem,9vw,9rem);height:.38rem;background:var(--signal);transform:skewX(-27deg)}
.mela-404__rule i{display:block;width:.62rem;height:.62rem;background:var(--violet)}
@media(max-width:900px){
  .mela-404__hero{min-height:auto;padding-top:7.5rem}
  .mela-404__layout{grid-template-columns:1fr;gap:3.5rem;padding-top:3.5rem}
  .mela-404__copy h1{max-width:11ch}
  .mela-404__paths{max-width:42rem}
}
@media(max-width:600px){
  .mela-404{--mela-404-x:1.15rem}
  .mela-404__hero{padding-top:6.4rem;padding-bottom:3.5rem}
  .mela-404__topline{align-items:center;gap:1rem;padding-bottom:1rem}
  .mela-404__topline>small{max-width:10rem;padding-top:0;font-size:.61rem}
  .mela-404__code{font-size:clamp(4.1rem,21vw,6.2rem)}
  .mela-404__layout{gap:2.7rem;padding-top:2.8rem}
  .mela-404__copy h1{max-width:10.5ch;font-size:clamp(2.95rem,13vw,4.35rem);line-height:.91}
  .mela-404__copy>p{font-size:.95rem}
  .mela-404__actions{display:grid;grid-template-columns:1fr;width:100%}
  .mela-404__actions .brand-action{width:100%;min-width:0}
  .mela-404__paths{padding:1.15rem;border-top-width:.4rem}
  .mela-404__paths nav a{grid-template-columns:2rem minmax(0,1fr) .6rem;min-height:3.75rem}
  .mela-404__rule{margin-top:3rem}
}

/* 1.0.14 · MELA 404 — light editorial direction ------------------------- */
.mela-404.mela-404--v2{
  --mela-404-x:clamp(1.25rem,5vw,6.5rem);
  background:var(--violet-light)!important;
  color:var(--black)!important;
  min-height:100svh;
}
.mela-404--v2 .mela-404__hero{
  min-height:calc(100svh - 4.5rem);
  padding:clamp(6.7rem,9vh,8.2rem) var(--mela-404-x) clamp(4rem,7vw,6rem)!important;
  background:var(--violet-light)!important;
  color:var(--black)!important;
  overflow:hidden;
}
.mela-404--v2 .mela-404__topline{
  align-items:flex-end;
  border-bottom:1px solid color-mix(in srgb,var(--black) 22%,transparent)!important;
}
.mela-404--v2 .mela-404__topline>small{
  color:var(--violet)!important;
}
.mela-404--v2 .mela-404__topline>small i{
  background:var(--violet)!important;
}
.mela-404--v2 .mela-404__code{
  color:var(--violet)!important;
  font-size:clamp(4.5rem,8vw,8.4rem);
  line-height:.72;
}
.mela-404--v2 .mela-404__layout{
  grid-template-columns:minmax(0,1.06fr) minmax(21rem,.58fr);
  gap:clamp(3rem,7vw,8rem);
  align-items:end;
  padding-top:clamp(3.2rem,6vw,6rem);
}
.mela-404--v2 .mela-404__copy h1{
  max-width:10.5ch;
  color:var(--black)!important;
  font-size:clamp(3.45rem,6.2vw,6.9rem);
}
.mela-404--v2 .mela-404__copy h1 span{
  color:var(--violet)!important;
}
.mela-404--v2 .mela-404__copy>p{
  max-width:41rem;
  border-left:.38rem solid var(--signal)!important;
  color:var(--black)!important;
}
.mela-404--v2 .mela-404__actions .brand-action--signal,
.mela-404--v2 .mela-404__actions .brand-action.brand-action--signal{
  background:var(--signal)!important;
  color:var(--black)!important;
}
.mela-404--v2 .mela-404__actions .brand-action--violet,
.mela-404--v2 .mela-404__actions .brand-action.brand-action--violet{
  background:var(--violet)!important;
  color:var(--white)!important;
}
.mela-404--v2 .mela-404__paths{
  padding:clamp(1.45rem,2.7vw,2.15rem)!important;
  border-top:.48rem solid var(--violet)!important;
  background:var(--white)!important;
  color:var(--black)!important;
  box-shadow:0 1.3rem 3.5rem rgba(54,45,126,.08);
}
.mela-404--v2 .mela-404__paths-head small,
.mela-404--v2 .mela-404__paths-head>span,
.mela-404--v2 .mela-404__paths nav a>span{
  color:var(--violet)!important;
}
.mela-404--v2 .mela-404__paths nav a{
  color:var(--black)!important;
  border-top:1px solid color-mix(in srgb,var(--black) 16%,transparent)!important;
}
.mela-404--v2 .mela-404__paths nav a:last-child{
  border-bottom:1px solid color-mix(in srgb,var(--black) 16%,transparent)!important;
}
.mela-404--v2 .mela-404__paths nav a>i{
  background:var(--violet)!important;
}
.mela-404--v2 .mela-404__paths nav a:hover,
.mela-404--v2 .mela-404__paths nav a:focus-visible{
  background:var(--violet-light)!important;
}
.mela-404--v2 .mela-404__rule span{
  background:var(--violet)!important;
}
.mela-404--v2 .mela-404__rule i{
  background:var(--signal)!important;
}
@media(max-width:900px){
  .mela-404--v2 .mela-404__hero{padding-top:6.6rem!important}
  .mela-404--v2 .mela-404__layout{grid-template-columns:1fr;gap:3.2rem;padding-top:3.2rem}
  .mela-404--v2 .mela-404__paths{max-width:42rem}
}
@media(max-width:600px){
  .mela-404--v2{--mela-404-x:1.15rem}
  .mela-404--v2 .mela-404__hero{padding-top:5.9rem!important;padding-bottom:3rem!important}
  .mela-404--v2 .mela-404__topline{align-items:center}
  .mela-404--v2 .mela-404__code{font-size:clamp(3.8rem,20vw,5.8rem)}
  .mela-404--v2 .mela-404__layout{gap:2.35rem;padding-top:2.45rem}
  .mela-404--v2 .mela-404__copy h1{font-size:clamp(2.8rem,12.4vw,4.05rem);max-width:10ch}
  .mela-404--v2 .mela-404__copy>p{font-size:.94rem;padding-left:.85rem}
  .mela-404--v2 .mela-404__paths{padding:1.05rem!important;box-shadow:none}
  .mela-404--v2 .mela-404__rule{margin-top:2.5rem}
}

/* 1.0.15 · MELA 404 — white canvas + canonical CTA contract ------------- */
.mela-404.mela-404--v3{
  --mela-404-x:clamp(1.25rem,5vw,6.5rem);
  min-height:100svh;
  background:var(--white)!important;
  color:var(--black)!important;
}
.mela-404--v3 .mela-404__hero{
  min-height:calc(100svh - 4.5rem);
  padding:clamp(6.7rem,9vh,8.2rem) var(--mela-404-x) clamp(4rem,7vw,6rem)!important;
  background:var(--white)!important;
  color:var(--black)!important;
  overflow:hidden;
}
.mela-404--v3 .mela-404__topline{
  align-items:flex-end;
  border-bottom:1px solid color-mix(in srgb,var(--black) 18%,transparent)!important;
}
.mela-404--v3 .mela-404__topline>small{color:var(--violet)!important}
.mela-404--v3 .mela-404__topline>small i{background:var(--violet)!important}
.mela-404--v3 .mela-404__code{
  color:var(--violet)!important;
  font-size:clamp(4.5rem,8vw,8.2rem);
  line-height:.72;
}
.mela-404--v3 .mela-404__layout{
  grid-template-columns:minmax(0,1.08fr) minmax(20rem,.55fr);
  gap:clamp(3rem,7vw,8rem);
  align-items:end;
  padding-top:clamp(3.2rem,6vw,6rem);
}
.mela-404--v3 .mela-404__copy h1{
  max-width:10.5ch;
  color:var(--black)!important;
  font-size:clamp(3.45rem,6.2vw,6.8rem);
}
.mela-404--v3 .mela-404__copy h1 span{color:var(--violet)!important}
.mela-404--v3 .mela-404__copy>p{
  max-width:41rem;
  border-left:.38rem solid var(--signal)!important;
  color:var(--black)!important;
}

/* Use the MELA CTA grammar exactly: surface + label + one separate square.
   No 404-specific outline, border, pseudo-outline or card treatment. */
.mela-404--v3 .mela-404__actions .brand-action,
.mela-404--v3 .mela-404__actions :is(a,button).brand-action:not(.mela-elementor-action){
  border:0!important;
  outline:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.mela-404--v3 .mela-404__actions .brand-action--signal{
  --action-bg:var(--signal);
  --action-fg:var(--black);
  --action-square:var(--black);
  background:var(--signal)!important;
  color:var(--black)!important;
  -webkit-text-fill-color:var(--black)!important;
}
.mela-404--v3 .mela-404__actions .brand-action--signal::after{background:var(--black)!important;border:0!important}
.mela-404--v3 .mela-404__actions .brand-action--violet{
  --action-bg:var(--violet);
  --action-fg:var(--white);
  --action-square:var(--signal);
  background:var(--violet)!important;
  color:var(--white)!important;
  -webkit-text-fill-color:var(--white)!important;
}
.mela-404--v3 .mela-404__actions .brand-action--violet::after{background:var(--signal)!important;border:0!important}

.mela-404--v3 .mela-404__paths{
  padding:clamp(1.35rem,2.5vw,2rem)!important;
  border-top:.44rem solid var(--violet)!important;
  background:var(--white)!important;
  color:var(--black)!important;
  box-shadow:none!important;
}
.mela-404--v3 .mela-404__paths-head small,
.mela-404--v3 .mela-404__paths-head>span,
.mela-404--v3 .mela-404__paths nav a>span{color:var(--violet)!important}
.mela-404--v3 .mela-404__paths nav a{
  color:var(--black)!important;
  border-top:1px solid color-mix(in srgb,var(--black) 14%,transparent)!important;
}
.mela-404--v3 .mela-404__paths nav a:last-child{border-bottom:1px solid color-mix(in srgb,var(--black) 14%,transparent)!important}
.mela-404--v3 .mela-404__paths nav a>i{background:var(--violet)!important}
.mela-404--v3 .mela-404__paths nav a:hover,
.mela-404--v3 .mela-404__paths nav a:focus-visible{background:var(--violet-light)!important}
.mela-404--v3 .mela-404__rule span{background:var(--violet)!important}
.mela-404--v3 .mela-404__rule i{background:var(--signal)!important}

@media(max-width:900px){
  .mela-404--v3 .mela-404__hero{padding-top:6.6rem!important}
  .mela-404--v3 .mela-404__layout{grid-template-columns:1fr;gap:3.2rem;padding-top:3.2rem}
  .mela-404--v3 .mela-404__paths{max-width:42rem}
}
@media(max-width:600px){
  .mela-404--v3{--mela-404-x:1.15rem}
  .mela-404--v3 .mela-404__hero{padding-top:5.9rem!important;padding-bottom:3rem!important}
  .mela-404--v3 .mela-404__topline{align-items:center}
  .mela-404--v3 .mela-404__code{font-size:clamp(3.8rem,20vw,5.8rem)}
  .mela-404--v3 .mela-404__layout{gap:2.35rem;padding-top:2.45rem}
  .mela-404--v3 .mela-404__copy h1{font-size:clamp(2.8rem,12.4vw,4.05rem);max-width:10ch}
  .mela-404--v3 .mela-404__copy>p{font-size:.94rem;padding-left:.85rem}
  .mela-404--v3 .mela-404__actions{display:grid;grid-template-columns:1fr;width:100%}
  .mela-404--v3 .mela-404__actions .brand-action{width:100%!important;min-width:0!important}
  .mela-404--v3 .mela-404__paths{padding:1.05rem!important;border-top-width:.4rem!important}
}


/* 1.0.16 · MELA 404 — violet canvas + lime accents ---------------------- */
.mela-404.mela-404--v4{
  --mela-404-x:clamp(1.25rem,5vw,6.5rem);
  --bg:var(--violet-light);
  --ink:var(--black);
  --rule:color-mix(in srgb,var(--violet) 18%, transparent);
  background:var(--bg)!important;
  color:var(--ink)!important;
}
.mela-404--v4 .mela-404__hero{
  background:
    radial-gradient(circle at 86% 14%, color-mix(in srgb,var(--signal) 18%, transparent) 0, color-mix(in srgb,var(--signal) 18%, transparent) 8%, transparent 8.2%),
    linear-gradient(180deg, var(--violet-light) 0%, #f4f1ff 62%, #ffffff 100%)!important;
  padding:clamp(6.7rem,9vh,8.2rem) var(--mela-404-x) clamp(4rem,7vw,6rem)!important;
  min-height:calc(100vh - 8rem);
}
.mela-404--v4 .mela-404__topline{border-bottom:1px solid var(--rule)!important;padding-bottom:1.2rem!important}
.mela-404--v4 .mela-404__topline>small{color:var(--violet)!important}
.mela-404--v4 .mela-404__topline>small i{background:var(--signal)!important}
.mela-404--v4 .mela-404__code{color:color-mix(in srgb,var(--violet) 92%, white 8%)!important;letter-spacing:-.06em!important}
.mela-404--v4 .mela-404__layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(21rem,.82fr);gap:clamp(2.3rem,4vw,4.2rem);align-items:end;padding-top:clamp(3rem,5vw,4.4rem)}
.mela-404--v4 .mela-404__copy h1{color:var(--black)!important;max-width:10.5ch!important}
.mela-404--v4 .mela-404__copy h1 span{color:var(--violet)!important}
.mela-404--v4 .mela-404__copy>p{color:rgba(9,9,10,.82)!important;border-left:.38rem solid var(--signal)!important;padding-left:1rem!important;max-width:33rem!important}
.mela-404--v4 .mela-404__actions{gap:.85rem!important}
.mela-404--v4 .mela-404__actions .brand-action,
.mela-404--v4 .mela-404__actions :is(a,button).brand-action:not(.mela-elementor-action){border:0!important;box-shadow:none!important;outline:0!important}
.mela-404--v4 .mela-404__actions .brand-action--signal{background:var(--signal)!important;color:var(--black)!important}
.mela-404--v4 .mela-404__actions .brand-action--signal::after{background:var(--black)!important;border:0!important}
.mela-404--v4 .mela-404__actions .brand-action--violet{background:var(--violet)!important;color:var(--white)!important}
.mela-404--v4 .mela-404__actions .brand-action--violet::after{background:var(--signal)!important;border:0!important}
.mela-404--v4 .mela-404__paths{background:#fff!important;color:var(--black)!important;border:1px solid color-mix(in srgb,var(--violet) 16%, transparent)!important;border-top:.42rem solid var(--violet)!important;box-shadow:0 1.1rem 2.8rem rgba(68,51,144,.10)!important}
.mela-404--v4 .mela-404__paths-head small,
.mela-404--v4 .mela-404__paths-head>span,
.mela-404--v4 .mela-404__paths nav a>span{color:var(--violet)!important}
.mela-404--v4 .mela-404__paths-head>span i:nth-child(1){background:var(--violet)!important}
.mela-404--v4 .mela-404__paths-head>span i:nth-child(2),
.mela-404--v4 .mela-404__paths-head>span i:nth-child(3){background:var(--signal)!important}
.mela-404--v4 .mela-404__paths nav a{border-top:1px solid color-mix(in srgb,var(--violet) 18%, transparent)!important}
.mela-404--v4 .mela-404__paths nav a:last-child{border-bottom:1px solid color-mix(in srgb,var(--violet) 18%, transparent)!important}
.mela-404--v4 .mela-404__paths nav a>i{background:var(--signal)!important}
.mela-404--v4 .mela-404__paths nav a:hover,
.mela-404--v4 .mela-404__paths nav a:focus-visible{background:var(--violet-light)!important;padding-left:.7rem!important}
.mela-404--v4 .mela-404__rule{margin-top:clamp(3rem,5vw,4.2rem)!important}
.mela-404--v4 .mela-404__rule span{background:var(--signal)!important}
.mela-404--v4 .mela-404__rule i{background:var(--violet)!important}
@media(max-width:959px){
  .mela-404--v4 .mela-404__hero{padding-top:6.15rem!important;min-height:auto}
  .mela-404--v4 .mela-404__layout{grid-template-columns:1fr;align-items:start;gap:2.9rem;padding-top:2.7rem}
  .mela-404--v4 .mela-404__paths{max-width:42rem}
}
@media(max-width:767px){
  .mela-404--v4{--mela-404-x:1.15rem}
  .mela-404--v4 .mela-404__hero{padding-top:5.9rem!important;padding-bottom:3rem!important;background:linear-gradient(180deg,var(--violet-light) 0%,#f8f6ff 78%,#fff 100%)!important}
  .mela-404--v4 .mela-404__topline{align-items:center!important}
  .mela-404--v4 .mela-404__code{font-size:clamp(4.2rem,21vw,6.2rem)!important}
  .mela-404--v4 .mela-404__layout{gap:2.25rem;padding-top:2.15rem!important}
  .mela-404--v4 .mela-404__copy h1{font-size:clamp(2.7rem,12.6vw,4.05rem)!important;max-width:10ch!important}
  .mela-404--v4 .mela-404__copy>p{font-size:.95rem!important}
  .mela-404--v4 .mela-404__paths{padding:1.05rem!important;box-shadow:none!important}
}


/* 1.0.17 · MELA 404 — white canvas + violet interest box --------------- */
.mela-404.mela-404--v5{
  --mela-404-x:clamp(1.25rem,5vw,6.5rem);
  --bg:#fff;
  --ink:var(--black);
  --rule:color-mix(in srgb,var(--violet) 16%, transparent);
  background:var(--bg)!important;
  color:var(--ink)!important;
}
.mela-404--v5 .mela-404__hero{
  background:#fff!important;
  padding:clamp(7.45rem,10vh,8.9rem) var(--mela-404-x) clamp(4rem,7vw,6rem)!important;
  min-height:calc(100vh - 8rem);
}
.mela-404--v5 .mela-404__topline{border-bottom:1px solid var(--rule)!important;padding-bottom:1.2rem!important;align-items:end!important}
.mela-404--v5 .mela-404__topline>small{color:var(--violet)!important;padding-top:.95rem!important}
.mela-404--v5 .mela-404__topline>small i{background:var(--signal)!important}
.mela-404--v5 .mela-404__code{color:color-mix(in srgb,var(--violet) 94%, white 6%)!important;letter-spacing:-.06em!important}
.mela-404--v5 .mela-404__layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(22rem,.82fr);gap:clamp(2.4rem,4vw,4.4rem);align-items:end;padding-top:clamp(3rem,5vw,4.4rem)}
.mela-404--v5 .mela-404__copy h1{color:var(--black)!important;max-width:10.5ch!important}
.mela-404--v5 .mela-404__copy h1 span{color:var(--violet)!important}
.mela-404--v5 .mela-404__copy>p{color:rgba(9,9,10,.82)!important;border-left:.38rem solid var(--signal)!important;padding-left:1rem!important;max-width:33rem!important}
.mela-404--v5 .mela-404__actions{gap:.85rem!important}
.mela-404--v5 .mela-404__actions .brand-action,
.mela-404--v5 .mela-404__actions :is(a,button).brand-action:not(.mela-elementor-action){border:0!important;box-shadow:none!important;outline:0!important}
.mela-404--v5 .mela-404__actions .brand-action--signal{background:var(--signal)!important;color:var(--black)!important}
.mela-404--v5 .mela-404__actions .brand-action--signal::after{background:var(--black)!important;border:0!important}
.mela-404--v5 .mela-404__actions .brand-action--violet{background:var(--violet)!important;color:var(--white)!important}
.mela-404--v5 .mela-404__actions .brand-action--violet::after{background:var(--signal)!important;border:0!important}
.mela-404--v5 .mela-404__paths{background:color-mix(in srgb,var(--violet) 92%, black 8%)!important;color:#fff!important;border:0!important;border-top:.42rem solid var(--signal)!important;box-shadow:0 1.1rem 2.6rem rgba(68,51,144,.14)!important}
.mela-404--v5 .mela-404__paths-head small,
.mela-404--v5 .mela-404__paths-head>span,
.mela-404--v5 .mela-404__paths nav a>span{color:var(--signal)!important}
.mela-404--v5 .mela-404__paths-head>span i:nth-child(1){background:#fff!important}
.mela-404--v5 .mela-404__paths-head>span i:nth-child(2),
.mela-404--v5 .mela-404__paths-head>span i:nth-child(3){background:var(--signal)!important}
.mela-404--v5 .mela-404__paths nav a{border-top:1px solid rgba(255,255,255,.18)!important;color:#fff!important}
.mela-404--v5 .mela-404__paths nav a:last-child{border-bottom:1px solid rgba(255,255,255,.18)!important}
.mela-404--v5 .mela-404__paths nav a>strong{color:#fff!important}
.mela-404--v5 .mela-404__paths nav a>i{background:var(--signal)!important}
.mela-404--v5 .mela-404__paths nav a:hover,
.mela-404--v5 .mela-404__paths nav a:focus-visible{background:rgba(255,255,255,.08)!important;padding-left:.7rem!important}
.mela-404--v5 .mela-404__rule{margin-top:clamp(3rem,5vw,4.2rem)!important}
.mela-404--v5 .mela-404__rule span{background:var(--signal)!important}
.mela-404--v5 .mela-404__rule i{background:var(--violet)!important}
@media(max-width:959px){
  .mela-404--v5 .mela-404__hero{padding-top:6.75rem!important;min-height:auto}
  .mela-404--v5 .mela-404__layout{grid-template-columns:1fr;align-items:start;gap:2.9rem;padding-top:2.7rem}
  .mela-404--v5 .mela-404__paths{max-width:42rem}
}
@media(max-width:767px){
  .mela-404--v5{--mela-404-x:1.15rem}
  .mela-404--v5 .mela-404__hero{padding-top:6.45rem!important;padding-bottom:3rem!important;background:#fff!important}
  .mela-404--v5 .mela-404__topline{align-items:center!important}
  .mela-404--v5 .mela-404__topline>small{padding-top:.6rem!important}
  .mela-404--v5 .mela-404__code{font-size:clamp(4.2rem,21vw,6.2rem)!important}
  .mela-404--v5 .mela-404__layout{gap:2.25rem;padding-top:2.15rem!important}
  .mela-404--v5 .mela-404__copy h1{font-size:clamp(2.7rem,12.6vw,4.05rem)!important;max-width:10ch!important}
  .mela-404--v5 .mela-404__copy>p{font-size:.95rem!important}
  .mela-404--v5 .mela-404__paths{padding:1.05rem!important;box-shadow:none!important}
}


/* 1.0.18 · Force white link titles in 404 interest box ------------------ */
.mela-404--v5 .mela-404__paths,
.mela-404--v5 .mela-404__paths *{color:inherit}
.mela-404--v5 .mela-404__paths nav a,
.mela-404--v5 .mela-404__paths nav a:link,
.mela-404--v5 .mela-404__paths nav a:visited,
.mela-404--v5 .mela-404__paths nav a strong,
.mela-404--v5 .mela-404__paths nav a>strong{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
.mela-404--v5 .mela-404__paths-head small,
.mela-404--v5 .mela-404__paths nav a>span,
.mela-404--v5 .mela-404__paths nav a>i{color:var(--signal)!important}


/* 1.0.19 · Booking success state ---------------------------------------- */
.mela-booking-modal.is-booked [data-mela-booking-form] > :not(.mela-booking-success){display:none!important}
.mela-booking-modal.is-booked [data-mela-booking-offer]{display:none!important}
.mela-booking-modal.is-booked .mela-modal__panel>h2{margin-bottom:1.25rem!important}
.mela-booking-success{display:grid;gap:.75rem;padding:0!important;border:0!important;background:transparent!important;font-weight:400!important}
.mela-booking-success__kicker{display:inline-flex!important;width:fit-content;align-items:center;gap:.55rem;font-family:var(--body)!important;font-size:.68rem!important;font-weight:800!important;letter-spacing:.08em!important;text-transform:uppercase!important;color:var(--violet)!important;-webkit-text-fill-color:var(--violet)!important}
.mela-booking-success__kicker::before{content:"";display:block;width:.58rem;height:.58rem;background:var(--signal)}
.mela-booking-success__title{max-width:15ch;font-family:var(--display)!important;font-size:clamp(2rem,4.2vw,3.6rem)!important;font-weight:700!important;line-height:.96!important;letter-spacing:-.055em!important;text-transform:uppercase!important;color:inherit!important;-webkit-text-fill-color:currentColor!important}
.mela-booking-success__slot{font-family:var(--display)!important;font-size:1.05rem!important;font-weight:700!important;letter-spacing:-.02em!important;text-transform:uppercase!important}
.mela-booking-success__meta{font-family:var(--body)!important;font-size:.82rem!important;font-weight:700!important;letter-spacing:.02em!important;text-transform:uppercase!important}
.mela-booking-success__note{max-width:34rem!important;margin:.35rem 0 .55rem!important;padding-left:1rem;border-left:.32rem solid var(--signal);font-size:.95rem!important;line-height:1.55!important}
.mela-booking-success__note.is-warning{border-left-color:#b42318!important}
.mela-booking-success__close{width:min(100%,18rem)!important;margin-top:.35rem!important}
@media(max-width:767px){.mela-booking-success__title{font-size:clamp(1.8rem,9vw,2.65rem)!important}.mela-booking-success__close{width:100%!important}}


/* 1.0.20 · Booking success CTA + journal template polish ---------------- */

/* Booking success: reuse the canonical MELA CTA. Never draw a local frame. */
.mela-booking-success__close.brand-action,
.mela-booking-success__close.brand-action--signal,
.mela-booking-modal .mela-booking-success .brand-action{
  border:0!important;
  border-width:0!important;
  border-style:none!important;
  outline:0!important;
  box-shadow:none!important;
}
.mela-booking-success__close.brand-action--signal{
  background:var(--signal)!important;
  color:var(--black)!important;
}
.mela-booking-success__close.brand-action--signal::after{
  background:var(--black)!important;
  border:0!important;
  box-shadow:none!important;
}

/* Article numbered preparation lists: plain editorial number, no violet tile. */
.article-page .article-list li::before{
  background:transparent!important;
  background-color:transparent!important;
  color:var(--violet)!important;
  -webkit-text-fill-color:var(--violet)!important;
  width:auto!important;
  height:auto!important;
  padding:0!important;
  box-shadow:none!important;
  font-family:var(--body)!important;
  font-size:.68rem!important;
  font-weight:800!important;
  line-height:1!important;
  letter-spacing:.07em!important;
}
.article-page .article-list li{
  padding-left:4.6rem!important;
}

/* Arbeitsnotiz: MELA display statement instead of a thin generic headline. */
.article-page .article-quote{
  display:grid!important;
  gap:1.5rem!important;
  background:var(--violet)!important;
  color:var(--white)!important;
  padding:clamp(4.2rem,7vw,7.25rem) var(--page-x)!important;
  border:0!important;
}
.article-page .article-quote>span{
  display:inline-flex!important;
  align-items:center!important;
  gap:.65rem!important;
  margin:0!important;
  color:var(--signal)!important;
  font-family:var(--body)!important;
  font-size:.7rem!important;
  font-weight:800!important;
  line-height:1.2!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
.article-page .article-quote>span::before{
  content:"";
  width:.56rem;
  height:.56rem;
  background:var(--signal);
  flex:0 0 .56rem;
}
.article-page .article-quote p{
  max-width:26ch!important;
  margin:0!important;
  color:var(--white)!important;
  font-family:var(--display)!important;
  font-size:clamp(1.85rem,3vw,3.35rem)!important;
  font-weight:700!important;
  line-height:.98!important;
  letter-spacing:-.052em!important;
  text-transform:uppercase!important;
}

/* Conversion stays violet but is clearly a second chapter. */
.article-page .article-conversion{
  position:relative!important;
  background:var(--violet)!important;
  color:var(--white)!important;
  padding:clamp(4.2rem,7vw,7.4rem) var(--page-x)!important;
  border-top:1px solid rgba(255,255,255,.22)!important;
}
.article-page .article-conversion>small{
  display:inline-flex!important;
  align-items:center!important;
  gap:.65rem!important;
  color:var(--signal)!important;
}
.article-page .article-conversion>small::before{
  content:"";
  width:.56rem;
  height:.56rem;
  background:var(--signal);
  flex:0 0 .56rem;
}
.article-page .article-conversion h2{
  max-width:17ch!important;
  margin:1rem 0 0!important;
  color:var(--white)!important;
  font-family:var(--display)!important;
  font-size:clamp(2.5rem,4.7vw,5.5rem)!important;
  font-weight:700!important;
  line-height:.92!important;
  letter-spacing:-.065em!important;
  text-transform:uppercase!important;
}
.article-page .article-conversion>p{
  max-width:46rem!important;
  margin:1.7rem 0 0!important;
  color:var(--white)!important;
}
.article-page .article-conversion .brand-action,
.article-page .article-conversion :is(a,button).brand-action:not(.mela-elementor-action){
  margin-top:1.8rem!important;
  border:0!important;
  border-width:0!important;
  border-style:none!important;
  outline:0!important;
  box-shadow:none!important;
}
.article-page .article-conversion .brand-action--signal{
  background:var(--signal)!important;
  color:var(--black)!important;
}
.article-page .article-conversion .brand-action--signal::after{
  background:var(--black)!important;
  border:0!important;
}

/* FAQ: calmer width, centred questions, precise accordion behaviour. */
.article-page .article-faq{
  width:min(100% - (2 * var(--page-x)),78rem)!important;
  margin:0 auto!important;
  padding:clamp(5rem,8vw,8rem) 0!important;
}
.article-page .article-faq>small{
  display:inline-flex!important;
  align-items:center!important;
  gap:.6rem!important;
  color:var(--violet)!important;
}
.article-page .article-faq>small::before{
  content:"";
  width:.52rem;
  height:.52rem;
  background:var(--violet);
}
.article-page .article-faq>h2{
  max-width:17ch!important;
  margin:.9rem 0 2.2rem!important;
  font-family:var(--display)!important;
  font-size:clamp(2.2rem,4vw,4.6rem)!important;
  line-height:.94!important;
  letter-spacing:-.06em!important;
}
.article-page .article-faq>div{gap:.55rem!important}
.article-page .article-faq summary.brand-toggle{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  min-height:5.5rem!important;
  padding:1.45rem 5.2rem 1.45rem 1.6rem!important;
  text-align:left!important;
  font-family:var(--display)!important;
  font-size:clamp(.92rem,1.25vw,1.1rem)!important;
  font-weight:700!important;
  line-height:1.2!important;
  letter-spacing:-.02em!important;
}
.article-page .article-faq details[open] p{
  max-width:52rem!important;
  margin:0 auto!important;
  padding:0 2rem 2rem!important;
  text-align:left!important;
}

/* Replace the old giant 'Weiterlesen' / card wall with a compact editorial list. */
.article-related-v2{
  width:min(100% - (2 * var(--page-x)),92rem);
  margin:0 auto;
  padding:clamp(5rem,8vw,8rem) 0;
  border-top:1px solid color-mix(in srgb,var(--black) 18%,transparent);
}
.article-related-v2__head{
  display:grid;
  grid-template-columns:minmax(12rem,.3fr) minmax(0,1fr);
  gap:.8rem clamp(2rem,5vw,6rem);
  align-items:start;
  margin-bottom:2.4rem;
}
.article-related-v2__head>small{
  grid-row:1 / span 2;
  display:inline-flex;
  align-items:center;
  gap:.6rem;
  color:var(--violet);
  font-family:var(--body);
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.article-related-v2__head>small::before{content:"";width:.52rem;height:.52rem;background:var(--violet)}
.article-related-v2__head h2{
  max-width:17ch!important;
  margin:0!important;
  font-family:var(--display)!important;
  font-size:clamp(2.2rem,4vw,4.6rem)!important;
  font-weight:700!important;
  line-height:.94!important;
  letter-spacing:-.06em!important;
  text-transform:uppercase!important;
}
.article-related-v2__head p{
  max-width:42rem;
  margin:.25rem 0 0;
  font-size:1rem;
  line-height:1.55;
}
.article-related-v2__list{border-top:1px solid color-mix(in srgb,var(--black) 20%,transparent)}
.article-related-v2__item{
  display:grid;
  grid-template-columns:minmax(9rem,.2fr) minmax(0,1fr) 3rem;
  gap:clamp(1.25rem,3vw,3rem);
  align-items:center;
  min-height:8rem;
  padding:1.6rem 0;
  border-bottom:1px solid color-mix(in srgb,var(--black) 18%,transparent);
  color:var(--black)!important;
  text-decoration:none!important;
  transition:padding .18s ease,background .18s ease;
}
.article-related-v2__item:hover,
.article-related-v2__item:focus-visible{padding-left:.8rem;background:var(--violet-light)}
.article-related-v2__item:focus-visible{outline:3px solid var(--violet);outline-offset:3px}
.article-related-v2__meta{
  color:var(--violet);
  font-family:var(--body);
  font-size:.67rem;
  font-weight:800;
  line-height:1.35;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.article-related-v2__copy{display:grid;gap:.55rem;min-width:0}
.article-related-v2__copy strong{
  max-width:34ch;
  color:var(--black)!important;
  font-family:var(--display);
  font-size:clamp(1.2rem,1.8vw,1.75rem);
  font-weight:700;
  line-height:1.05;
  letter-spacing:-.04em;
  text-transform:uppercase;
}
.article-related-v2__copy em{
  max-width:52rem;
  color:rgba(9,9,10,.74);
  font-family:var(--body);
  font-size:.94rem;
  font-style:normal;
  line-height:1.5;
}
.article-related-v2__item>i{
  display:grid;
  place-items:center;
  width:3rem;
  height:3rem;
  background:var(--signal);
  color:var(--black);
  font-family:var(--body);
  font-size:1.4rem;
  font-style:normal;
}
.article-related-v2__footer{display:flex;justify-content:flex-end;margin-top:1.5rem}
.article-related-v2__footer .brand-action{border:0!important;box-shadow:none!important;outline:0!important}

/* The superseded blocks must never reappear through old cached markup/CSS. */
.article-related,
.article-more-journal{display:none!important}

@media(max-width:767px){
  .article-page .article-list li{padding-left:3.4rem!important}
  .article-page .article-list li::before{left:1rem!important}
  .article-page .article-quote p{font-size:clamp(1.7rem,8vw,2.4rem)!important}
  .article-page .article-conversion h2{font-size:clamp(2.35rem,10.5vw,3.4rem)!important;max-width:11ch!important}
  .article-page .article-faq{width:calc(100% - 2.2rem)!important;padding:4rem 0!important}
  .article-page .article-faq summary.brand-toggle{min-height:5rem!important;padding:1.25rem 4.2rem 1.25rem 1.2rem!important;text-align:left!important;justify-content:flex-start!important}
  .article-page .article-faq details[open] p{padding:0 1.2rem 1.6rem!important}
  .article-related-v2{width:calc(100% - 2.2rem);padding:4rem 0}
  .article-related-v2__head{grid-template-columns:1fr;gap:.7rem;margin-bottom:1.7rem}
  .article-related-v2__head>small{grid-row:auto}
  .article-related-v2__head h2{font-size:clamp(2.15rem,10vw,3rem)!important;max-width:11ch!important}
  .article-related-v2__item{grid-template-columns:1fr 2.75rem;gap:.75rem 1rem;min-height:0;padding:1.35rem 0}
  .article-related-v2__meta{grid-column:1;grid-row:1}
  .article-related-v2__copy{grid-column:1;grid-row:2}
  .article-related-v2__item>i{grid-column:2;grid-row:1 / span 2;width:2.75rem;height:2.75rem}
  .article-related-v2__copy em{display:none}
  .article-related-v2__footer{justify-content:stretch}
  .article-related-v2__footer .brand-action{width:100%!important}
}


/* 1.0.21 · FAQ question alignment: left start, vertically centred. */
.article-page .article-faq summary.brand-toggle{
  align-items:center!important;
  justify-content:flex-start!important;
  text-align:left!important;
}


/* 1.0.22 · Journal CTA contract + FAQ/related alignment ------------------ */
/* One CTA contract throughout the journal: surface + text + square, never a frame. */
.article-page :is(a,button).brand-action,
.article-page :is(a,button).brand-action:not(.mela-elementor-action),
.article-page .article-inline-check :is(a,button).brand-action,
.article-page .article-conversion :is(a,button).brand-action,
.article-page .article-related-v2__footer :is(a,button).brand-action,
.article-page .article-author :is(a,button).brand-action{
  border:0!important;
  border-width:0!important;
  border-style:none!important;
  outline:0!important;
  box-shadow:none!important;
}
.article-page :is(a,button).brand-action::before,
.article-page :is(a,button).brand-action::after{
  border:0!important;
  box-shadow:none!important;
}

/* FAQ: question and answer start on the same left axis; all content stays vertically centred. */
.article-page .article-faq{
  --mela-faq-inset:1.6rem;
}
.article-page .article-faq>small,
.article-page .article-faq>h2{
  margin-left:var(--mela-faq-inset)!important;
}
.article-page .article-faq summary.brand-toggle{
  align-items:center!important;
  justify-content:flex-start!important;
  text-align:left!important;
  padding-left:var(--mela-faq-inset)!important;
}
.article-page .article-faq details[open] p{
  max-width:none!important;
  margin:0!important;
  padding:0 5.2rem 2rem var(--mela-faq-inset)!important;
  text-align:left!important;
}

/* Weiterlesen: header copy uses the exact same title column as every article row. */
.article-related-v2__head{
  grid-template-columns:minmax(9rem,.2fr) minmax(0,1fr) 3rem!important;
  column-gap:clamp(1.25rem,3vw,3rem)!important;
}
.article-related-v2__head>small{
  grid-column:1!important;
  grid-row:1 / span 2!important;
}
.article-related-v2__head>h2,
.article-related-v2__head>p{
  grid-column:2!important;
}
.article-related-v2__head h2{
  max-width:24ch!important;
}

@media(max-width:767px){
  .article-page .article-faq{--mela-faq-inset:1.2rem}
  .article-page .article-faq>small,
  .article-page .article-faq>h2{margin-left:0!important}
  .article-page .article-faq details[open] p{padding:0 4.2rem 1.6rem var(--mela-faq-inset)!important}
  .article-related-v2__head{grid-template-columns:1fr!important;gap:.7rem!important}
  .article-related-v2__head>small,
  .article-related-v2__head>h2,
  .article-related-v2__head>p{grid-column:1!important;grid-row:auto!important}
}


/* 1.0.25 · Keep 1.0.22 Journal design; remove only obsolete hero-image stripe. */
.article-page .article-lead-image::before,
.article-page .article-lead-image::after{
  content:none!important;
  display:none!important;
  background:none!important;
  border:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}


/* 1.0.26 · Journal content fine tuning -----------------------------------
   Wide editorial stage, controlled reading width. Not true full-width body. */
.article-page .article-layout{
  grid-template-columns:minmax(10.5rem,20%) minmax(0,1fr)!important;
  gap:clamp(2.75rem,5vw,6rem)!important;
  padding-left:var(--page-x)!important;
  padding-right:var(--page-x)!important;
}
.article-page .article-body{
  width:100%!important;
  max-width:70rem!important;
}
.article-page .article-body>section{
  margin-top:clamp(4.75rem,7vw,7.5rem)!important;
}
.article-page .article-body>section>small{
  margin-bottom:.9rem!important;
  color:var(--violet)!important;
  font-family:var(--body)!important;
  font-size:.69rem!important;
  font-weight:800!important;
  line-height:1.2!important;
  letter-spacing:.08em!important;
}
.article-page .article-body h2{
  max-width:19ch!important;
  margin:0 0 clamp(1.45rem,2.4vw,2.1rem)!important;
  font-family:var(--display)!important;
  font-size:clamp(2.35rem,3.35vw,4rem)!important;
  font-weight:700!important;
  line-height:.98!important;
  letter-spacing:-.052em!important;
  text-wrap:balance!important;
}
.article-page .article-body h3{
  max-width:32ch!important;
  margin:clamp(2rem,3.4vw,2.8rem) 0 .85rem!important;
  font-family:var(--display)!important;
  font-size:clamp(1.45rem,2vw,2rem)!important;
  line-height:1.08!important;
  letter-spacing:-.035em!important;
}
.article-page .article-body>section>p,
.article-page .article-body>section>ul,
.article-page .article-body>section>ol,
.article-page .article-body>section>blockquote{
  max-width:54rem!important;
}
.article-page .article-body>section>p{
  margin:0 0 1.55rem!important;
  font-family:var(--body)!important;
  font-size:clamp(1.06rem,1.22vw,1.19rem)!important;
  line-height:1.68!important;
  letter-spacing:-.012em!important;
}
/* Remove the magazine-style drop cap: body copy starts cleanly below headline. */
.article-page .article-body>section>p:first-of-type::first-letter{
  float:none!important;
  margin:0!important;
  color:inherit!important;
  font-family:inherit!important;
  font-size:inherit!important;
  font-weight:inherit!important;
  line-height:inherit!important;
}
.article-page .article-list{
  width:100%!important;
  max-width:none!important;
  margin-top:clamp(1.5rem,2.5vw,2.2rem)!important;
}
.article-page .article-list li{
  padding-top:clamp(1.3rem,2vw,1.8rem)!important;
  padding-bottom:clamp(1.3rem,2vw,1.8rem)!important;
}
.article-page .article-list li strong,
.article-page .article-list li h3{
  line-height:1.06!important;
}
@media(max-width:900px){
  .article-page .article-layout{grid-template-columns:1fr!important;gap:2.5rem!important}
  .article-page .article-body{max-width:none!important}
}
@media(max-width:767px){
  .article-page .article-body>section{margin-top:4rem!important}
  .article-page .article-body>section>small{margin-bottom:.72rem!important}
  .article-page .article-body h2{
    max-width:100%!important;
    margin-bottom:1.25rem!important;
    font-size:clamp(2rem,9vw,2.8rem)!important;
    line-height:1!important;
  }
  .article-page .article-body h3{font-size:clamp(1.35rem,6vw,1.7rem)!important}
  .article-page .article-body>section>p{
    max-width:none!important;
    margin-bottom:1.35rem!important;
    font-size:1.04rem!important;
    line-height:1.62!important;
  }
}


/* 1.0.29 · Global adaptive MELA back-to-top ------------------------------ */
.mela-back-to-top{
  position:fixed;
  z-index:95;
  right:max(1.15rem,env(safe-area-inset-right));
  bottom:calc(1.15rem + env(safe-area-inset-bottom));
  display:grid;
  place-items:center;
  width:3.15rem;
  height:3.15rem;
  padding:0;
  border:0!important;
  border-width:0!important;
  border-style:none!important;
  border-radius:0!important;
  outline:0;
  box-shadow:none!important;
  background:var(--violet,#7569d6)!important;
  color:var(--white,#fff)!important;
  -webkit-text-fill-color:currentColor!important;
  cursor:pointer;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(.75rem);
  transition:opacity .2s ease,transform .2s ease,background-color .22s ease,color .22s ease,filter .16s ease;
}
.mela-back-to-top.is-visible{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:none;
}
/* Same accent logic as the adaptive MELA header/edition label:
   dark or violet surfaces use signal lime; light, soft, grey and lime
   surfaces use violet. */
.mela-back-to-top.tone-black,
.mela-back-to-top.tone-violet,
.mela-back-to-top.tone-violet-bright{
  background:var(--signal,#d9ff43)!important;
  color:var(--black,#09090a)!important;
}
.mela-back-to-top.tone-white,
.mela-back-to-top.tone-soft,
.mela-back-to-top.tone-grey,
.mela-back-to-top.tone-green{
  background:var(--violet,#7569d6)!important;
  color:var(--white,#fff)!important;
}
.mela-back-to-top__icon{
  display:block;
  width:1.28rem;
  height:1.28rem;
  color:inherit!important;
  fill:currentColor!important;
  overflow:visible;
}
.mela-back-to-top:hover{transform:translateY(-3px);filter:brightness(1.035)}
.mela-back-to-top:focus-visible{
  outline:3px solid currentColor!important;
  outline-offset:3px!important;
}
@media(max-width:767px){
  .mela-back-to-top{
    right:max(.9rem,env(safe-area-inset-right));
    bottom:calc(.9rem + env(safe-area-inset-bottom));
    width:2.85rem;
    height:2.85rem;
  }

  /* Mobile Journal: preserve the editorial hierarchy without desktop-scale
     word blocks or awkward 2–3-character wraps. */
  .article-page .article-hero h1{
    max-width:12ch!important;
    font-size:clamp(2.35rem,10.4vw,3.15rem)!important;
    line-height:.96!important;
    letter-spacing:-.052em!important;
  }
  .article-page .article-body h2{
    max-width:100%!important;
    margin-bottom:1.15rem!important;
    font-size:clamp(1.82rem,7.8vw,2.35rem)!important;
    line-height:1.03!important;
    letter-spacing:-.043em!important;
  }
  .article-page .article-body h3{
    max-width:100%!important;
    font-size:clamp(1.22rem,5.2vw,1.5rem)!important;
    line-height:1.12!important;
  }
  .article-page .article-inline-check h3{
    font-size:clamp(1.65rem,7.5vw,2.25rem)!important;
    line-height:1.02!important;
  }
  .article-page .article-quote p{
    font-size:clamp(1.55rem,7.2vw,2.1rem)!important;
    line-height:1.03!important;
  }
  .article-page .article-conversion h2,
  .article-page .article-faq>h2,
  .article-related-v2__head h2{
    max-width:13ch!important;
    font-size:clamp(1.9rem,8.4vw,2.55rem)!important;
    line-height:1!important;
    letter-spacing:-.048em!important;
  }
}
@media(prefers-reduced-motion:reduce){
  .mela-back-to-top{transition:none!important}
}


/* 1.0.28 · Booking modal wide desktop + native mobile field containment -- */
@media(min-width:820px){
  .mela-booking-modal .mela-modal__panel{
    width:min(68rem,calc(100vw - 4rem))!important;
    max-width:68rem!important;
    max-height:calc(100svh - 3rem)!important;
    padding:clamp(1.8rem,2.6vw,2.75rem)!important;
  }
  .mela-booking-modal .mela-modal__panel>h2{
    max-width:13ch!important;
    font-size:clamp(3.1rem,4.4vw,5rem)!important;
    line-height:.91!important;
    margin-bottom:.8rem!important;
  }
  .mela-booking-modal .mela-modal__panel>p{margin:.25rem 0 1.1rem!important}
  .mela-booking-modal form{
    display:grid!important;
    gap:.8rem!important;
    margin-top:.85rem!important;
  }
  .mela-booking-modal .mela-modal__grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:1rem!important;
  }
  .mela-booking-modal label{min-width:0!important}
  .mela-booking-modal textarea{min-height:6.4rem!important}
  .mela-booking-modal .inquiry-consent{margin-top:.1rem!important}
  .mela-booking-modal form>.brand-action{width:min(100%,22rem)!important;margin-top:.25rem!important}
}

/* Native date fields can keep an intrinsic min-width on mobile browsers. */
.mela-booking-modal label,
.mela-booking-modal .mela-modal__grid,
.mela-booking-modal .mela-modal__grid>*{
  min-width:0!important;
  min-inline-size:0!important;
  max-width:100%!important;
}
.mela-booking-modal :is(input,select,textarea){
  box-sizing:border-box!important;
  width:100%!important;
  inline-size:100%!important;
  min-width:0!important;
  min-inline-size:0!important;
  max-width:100%!important;
  max-inline-size:100%!important;
}
.mela-booking-modal input[type="date"]{
  display:block!important;
  width:100%!important;
  inline-size:100%!important;
  min-width:0!important;
  min-inline-size:0!important;
  max-width:100%!important;
  max-inline-size:100%!important;
}
.mela-booking-modal input[type="date"]::-webkit-date-and-time-value{
  min-width:0!important;
  max-width:100%!important;
  text-align:left!important;
}
@media(max-width:819px){
  .mela-booking-modal .mela-modal__panel{
    width:calc(100vw - 1.2rem)!important;
    max-width:calc(100vw - 1.2rem)!important;
    padding:3.05rem 1rem 1.15rem!important;
  }
  .mela-booking-modal .mela-modal__grid,
  .mela-booking-modal .mela-modal__grid--contact{grid-template-columns:minmax(0,1fr)!important}
  .mela-booking-modal form{width:100%!important;min-width:0!important;overflow:visible!important}
  .mela-booking-modal label{width:100%!important;overflow:visible!important}
  .mela-booking-modal input[type="date"],
  .mela-booking-modal select{font-size:16px!important}
}
@media(max-width:480px){
  .mela-booking-modal .mela-modal__panel{
    width:calc(100vw - .9rem)!important;
    max-width:calc(100vw - .9rem)!important;
    padding:3rem .82rem 1rem!important;
  }
  .mela-booking-modal input[type="date"]{padding-left:.8rem!important;padding-right:.55rem!important}
}


/* 1.0.30 · Booking modal layout — true horizontal desktop composition ----- */
/* Use booking-specific rules instead of relying on the generic modal width.
   This keeps every offer booking form consistent. */
.mela-booking-modal .mela-modal__panel{
  width:min(76rem,calc(100vw - 2.5rem))!important;
  max-width:76rem!important;
  max-height:calc(100svh - 2rem)!important;
  padding:clamp(1.7rem,2.25vw,2.5rem)!important;
  overflow-x:hidden!important;
}
.mela-booking-modal form{
  width:100%!important;
  min-width:0!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:.72rem!important;
  margin-top:.7rem!important;
}
.mela-booking-modal .mela-booking-grid{
  min-width:0!important;
  width:100%!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:.8rem!important;
}
.mela-booking-modal form>label:not(.inquiry-honeypot),
.mela-booking-modal form>.inquiry-consent,
.mela-booking-modal form>.brand-action,
.mela-booking-modal form>.mela-booking-success{
  min-width:0!important;
}
.mela-booking-modal textarea{
  min-height:5.8rem!important;
  resize:vertical!important;
}
.mela-booking-modal form>.brand-action{
  width:auto!important;
  justify-self:start!important;
  margin-top:.15rem!important;
}

/* Large desktop: schedule + identity share one row, so the modal grows
   horizontally rather than vertically. */
@media(min-width:1100px){
  .mela-booking-modal form{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    column-gap:1rem!important;
  }
  .mela-booking-modal .mela-booking-grid--schedule{grid-column:1!important}
  .mela-booking-modal .mela-booking-grid--identity{grid-column:2!important}
  .mela-booking-modal .mela-booking-grid--contact,
  .mela-booking-modal form>label:not(.inquiry-honeypot),
  .mela-booking-modal form>.inquiry-consent,
  .mela-booking-modal form>.brand-action,
  .mela-booking-modal form>.mela-booking-success{
    grid-column:1/-1!important;
  }
  .mela-booking-modal .mela-modal__panel>h2{
    max-width:15ch!important;
    font-size:clamp(3rem,4vw,4.65rem)!important;
    line-height:.91!important;
    margin-bottom:.55rem!important;
  }
  .mela-booking-modal .mela-modal__panel>p{margin:.15rem 0 .8rem!important}
}

/* Tablet / compact desktop stays wide, but keeps the field groups stacked. */
@media(min-width:768px) and (max-width:1099px){
  .mela-booking-modal .mela-modal__panel{
    width:min(64rem,calc(100vw - 2rem))!important;
    max-width:64rem!important;
  }
}

/* Mobile: one strict content column. Native date controls are notorious for
   keeping an intrinsic width, so constrain both the control and its internals. */
@media(max-width:767px){
  .mela-booking-modal{
    padding:.45rem!important;
  }
  .mela-booking-modal .mela-modal__panel{
    width:calc(100vw - .9rem)!important;
    max-width:calc(100vw - .9rem)!important;
    max-height:calc(100dvh - .9rem)!important;
    padding:3rem .82rem 1rem!important;
    margin:0!important;
    overflow-x:hidden!important;
  }
  .mela-booking-modal form,
  .mela-booking-modal .mela-booking-grid,
  .mela-booking-modal .mela-modal__grid,
  .mela-booking-modal .mela-modal__grid--contact{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-inline-size:0!important;
    grid-template-columns:minmax(0,1fr)!important;
  }
  .mela-booking-modal label,
  .mela-booking-modal label>*{
    min-width:0!important;
    min-inline-size:0!important;
    max-width:100%!important;
  }
  .mela-booking-modal :is(input,select,textarea),
  .mela-booking-modal input[type="date"]{
    box-sizing:border-box!important;
    display:block!important;
    width:100%!important;
    inline-size:100%!important;
    min-width:0!important;
    min-inline-size:0!important;
    max-width:100%!important;
    max-inline-size:100%!important;
  }
  .mela-booking-modal input[type="date"]{
    overflow:hidden!important;
    padding-left:.72rem!important;
    padding-right:.5rem!important;
    font-size:16px!important;
  }
  .mela-booking-modal input[type="date"]::-webkit-date-and-time-value{
    width:auto!important;
    min-width:0!important;
    max-width:100%!important;
    overflow:hidden!important;
    text-align:left!important;
  }
  .mela-booking-modal input[type="date"]::-webkit-datetime-edit{
    min-width:0!important;
    max-width:100%!important;
    overflow:hidden!important;
  }
  .mela-booking-modal form>.brand-action{
    width:100%!important;
    justify-self:stretch!important;
  }
}


/* 1.0.31 · Mobile native date control hard containment -------------------- */
@media(max-width:767px){
  .mela-booking-modal .mela-booking-date-field{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-inline-size:0!important;
    overflow:hidden!important;
    contain:inline-size!important;
  }
  .mela-booking-modal .mela-booking-date-field>span{
    display:block!important;
    width:auto!important;
    max-width:100%!important;
  }
  .mela-booking-modal .mela-booking-date-field>input[type="date"]{
    box-sizing:border-box!important;
    display:block!important;
    width:100%!important;
    inline-size:100%!important;
    min-width:0!important;
    min-inline-size:0!important;
    max-width:100%!important;
    max-inline-size:100%!important;
    margin:0!important;
    overflow:hidden!important;
  }
  .mela-booking-modal .mela-booking-date-field>input[type="date"]::-webkit-calendar-picker-indicator{
    flex:0 0 auto!important;
    width:1rem!important;
    height:1rem!important;
    margin:0!important;
    padding:.1rem!important;
  }
  @supports (-webkit-touch-callout:none){
    .mela-booking-modal .mela-booking-date-field>input[type="date"]{
      -webkit-appearance:none!important;
      appearance:none!important;
    }
  }
}


/* 1.0.32 · WORK TOOL DOWNLOAD FLOW --------------------------------------- */
.mela-download-modal .brand-action,
.mela-download-modal .brand-action:hover,
.mela-download-modal .brand-action:focus{
  border:0!important;
  outline-offset:3px;
  box-shadow:none!important;
}
.mela-download-modal.is-complete form>.mela-modal__grid,
.mela-download-modal.is-complete form>label:not(.inquiry-honeypot),
.mela-download-modal.is-complete form>.inquiry-error,
.mela-download-modal.is-complete form>button[type="submit"]{
  display:none!important;
}
.mela-download-modal.is-complete .mela-modal__panel>p[data-mela-download-product]{
  display:none!important;
}
.mela-download-modal .mela-download-success{
  margin:1.2rem 0 1rem!important;
  padding:1.2rem 1.3rem!important;
  border-left:.4rem solid var(--mela-form-accent,var(--signal))!important;
  background:rgba(255,255,255,.08)!important;
}
.mela-download-modal[data-tone="soft"] .mela-download-success,
.mela-download-modal[data-tone="signal"] .mela-download-success,
.mela-download-modal.mela-modal--elementor-config .mela-download-success{
  background:rgba(255,255,255,.38)!important;
}
.mela-download-modal .mela-download-success>small{
  display:block!important;
  margin:0 0 .65rem!important;
  font-family:var(--display)!important;
  font-size:.7rem!important;
  font-weight:700!important;
  letter-spacing:.05em!important;
  text-transform:uppercase!important;
  color:inherit!important;
}
.mela-download-modal .mela-download-success>strong{
  display:block!important;
  max-width:14ch!important;
  margin:0!important;
  font-family:var(--display)!important;
  font-size:clamp(1.8rem,3.6vw,3.2rem)!important;
  line-height:.95!important;
  letter-spacing:-.055em!important;
  text-transform:uppercase!important;
  color:inherit!important;
}
.mela-download-modal .mela-download-success>p{
  max-width:38rem!important;
  margin:.9rem 0 0!important;
  font-size:.95rem!important;
  line-height:1.5!important;
  color:inherit!important;
}
.mela-download-modal .mela-download-success.is-warning{
  border-left-color:#ff4b4b!important;
}
.mela-download-modal .mela-download-direct{
  width:auto!important;
  align-self:flex-start!important;
  margin-top:.2rem!important;
}
@media(max-width:700px){
  .mela-download-modal .mela-download-success{padding:1rem!important}
  .mela-download-modal .mela-download-success>strong{font-size:clamp(1.65rem,8vw,2.35rem)!important}
  .mela-download-modal .mela-download-direct{width:100%!important}
}

/* 1.0.33 · MELA COMMERCE + FRAMELESS DOWNLOAD ---------------------------- */
/* Download success: hierarchy through spacing, surface and square — no frame. */
.mela-download-modal .mela-download-success{
  position:relative!important;
  margin:1.35rem 0 1rem!important;
  padding:1.05rem 0 1.05rem 2rem!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
.mela-download-modal .mela-download-success::before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  top:1.25rem!important;
  width:.65rem!important;
  height:.65rem!important;
  background:var(--mela-form-accent,var(--signal))!important;
}
.mela-download-modal .mela-download-success.is-warning::before{background:#ff4b4b!important}
.mela-download-modal[data-tone="soft"] .mela-download-success,
.mela-download-modal[data-tone="signal"] .mela-download-success,
.mela-download-modal.mela-modal--elementor-config .mela-download-success{background:transparent!important}

.worktool-action--disabled{
  display:inline-flex!important;
  align-items:center!important;
  width:auto!important;
  min-height:2.7rem!important;
  margin-top:1rem!important;
  padding:.72rem 1rem!important;
  background:var(--violet-light)!important;
  color:var(--black)!important;
  font-family:var(--display)!important;
  font-size:.68rem!important;
  font-weight:700!important;
  line-height:1.2!important;
  text-transform:uppercase!important;
  border:0!important;
  box-shadow:none!important;
}

/* WooCommerce is infrastructure; the visible purchase path stays MELA. */
.woocommerce-page .mela-elementor-page,
.woocommerce-page main{background:var(--white,#fff);color:var(--black,#09090a)}
.woocommerce-page .woocommerce,
.woocommerce-page .wc-block-components-main,
.woocommerce-page .wc-block-checkout,
.woocommerce-page .wc-block-cart,
.woocommerce-page .entry-content>.wp-block-woocommerce-checkout,
.woocommerce-page .entry-content>.wp-block-woocommerce-cart{
  width:min(100% - 2rem,92rem)!important;
  margin-inline:auto!important;
  padding-block:clamp(4rem,7vw,7rem)!important;
  color:var(--black,#09090a)!important;
}
.woocommerce-page .woocommerce-breadcrumb,
.woocommerce-page .woocommerce-products-header,
.woocommerce-page .woocommerce-result-count,
.woocommerce-page .woocommerce-ordering,
.woocommerce-page .return-to-shop{display:none!important}

.woocommerce-page :is(h1,h2,h3,.wc-block-components-title,.wc-block-checkout__shipping-method-option-title){
  font-family:var(--display)!important;
  font-weight:700!important;
  letter-spacing:-.045em!important;
  text-transform:uppercase!important;
  color:var(--black,#09090a)!important;
}
.woocommerce-page h1,
.woocommerce-page .wc-block-components-title.wc-block-components-title{
  font-size:clamp(2.85rem,5.6vw,6.2rem)!important;
  line-height:.92!important;
  margin:0 0 1.15rem!important;
}
.woocommerce-page h2{font-size:clamp(1.9rem,3.2vw,3.4rem)!important;line-height:.96!important;margin:0 0 1rem!important}
.woocommerce-page h3{font-size:clamp(1.2rem,2vw,1.75rem)!important;line-height:1!important}
.woocommerce-page :is(p,label,li,address,.wc-block-components-text-input label,.wc-block-components-checkout-step__description){font-family:var(--body)!important}
.woocommerce-page label,
.woocommerce-page .wc-block-components-text-input label,
.woocommerce-page .wc-block-components-checkout-step__heading,
.woocommerce-page .wc-block-components-checkout-step__description{
  font-size:.82rem!important;
  font-weight:700!important;
  letter-spacing:.02em!important;
  text-transform:uppercase!important;
}

/* No decorative box frames in the purchase flow. */
.woocommerce-page :is(.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-notice,
  .wc-block-components-notice-banner,.wc-block-components-order-summary,
  .wc-block-components-totals-wrapper,.wc-block-checkout__terms,
  .woocommerce-checkout-review-order,.woocommerce-order-details,.woocommerce-customer-details,
  .wc-block-components-sidebar,.wc-block-components-sidebar-layout .wc-block-components-main,
  .wc-block-components-sidebar-layout .wc-block-components-totals-coupon,
  .wc-block-components-sidebar-layout .wc-block-components-order-summary,
  .wp-block-woocommerce-checkout-order-summary-block,
  .wc-block-components-panel,.wc-block-components-totals-item,
  .wc-block-components-order-summary-item__image,.wc-block-components-order-summary-item__quantity){
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.woocommerce-page :is(.woocommerce-message,.woocommerce-info,.wc-block-components-notice-banner){
  position:relative!important;
  padding:1rem 1rem 1rem 2.4rem!important;
  background:var(--violet-light,#ebe8ff)!important;
  color:var(--black,#09090a)!important;
}
.woocommerce-page :is(.woocommerce-message,.woocommerce-info,.wc-block-components-notice-banner)::before{
  content:""!important;
  position:absolute!important;
  left:1rem!important;
  top:1.15rem!important;
  width:.58rem!important;
  height:.58rem!important;
  background:var(--violet,#7569d6)!important;
}

.woocommerce-page .wc-block-components-sidebar-layout{
  display:grid!important;
  grid-template-columns:minmax(0,1.16fr) minmax(20rem,.84fr)!important;
  gap:clamp(2rem,4vw,4rem)!important;
  align-items:start!important;
}
.woocommerce-page .wc-block-components-main{
  width:auto!important;
  padding:0!important;
  margin:0!important;
}
.woocommerce-page .wc-block-components-sidebar{
  width:auto!important;
  margin:0!important;
  padding:clamp(1.35rem,2.4vw,2rem)!important;
  background:var(--violet-light,#ebe8ff)!important;
  position:sticky!important;
  top:calc(var(--header-height,88px) + 1.5rem)!important;
}
.woocommerce-page .wc-block-components-sidebar .wc-block-components-title,
.woocommerce-page .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-title{
  font-size:clamp(1.5rem,2.3vw,2.2rem)!important;
  line-height:.98!important;
  margin-bottom:1rem!important;
}
.woocommerce-page .wc-block-components-order-summary .wc-block-components-order-summary-item,
.woocommerce-page .wc-block-components-order-summary .wc-block-components-panel,
.woocommerce-page .wc-block-components-sidebar .wc-block-components-totals-item,
.woocommerce-page .wc-block-components-sidebar .wc-block-components-totals-coupon,
.woocommerce-page .wc-block-components-sidebar .wc-block-components-totals-footer-item{
  background:transparent!important;
  padding-inline:0!important;
}
.woocommerce-page .wc-block-components-order-summary .wc-block-components-product-metadata,
.woocommerce-page .wc-block-components-order-summary .wc-block-components-order-summary-item__description,
.woocommerce-page .wc-block-components-order-summary .wc-block-components-product-details,
.woocommerce-page .wc-block-components-totals-item__description{
  font-family:var(--body)!important;
  font-size:1rem!important;
  line-height:1.45!important;
  color:rgba(9,9,10,.82)!important;
}
.woocommerce-page .wc-block-components-order-summary .wc-block-components-product-name,
.woocommerce-page .wc-block-components-sidebar .wc-block-components-totals-item__label,
.woocommerce-page .wc-block-components-sidebar .wc-block-components-order-summary__button-text{
  font-family:var(--display)!important;
  font-size:clamp(1.05rem,1.7vw,1.6rem)!important;
  line-height:.98!important;
  font-weight:700!important;
  letter-spacing:-.03em!important;
  text-transform:uppercase!important;
  color:var(--black,#09090a)!important;
}
.woocommerce-page .wc-block-components-order-summary-item__quantity,
.woocommerce-page .wc-block-components-order-summary .wc-block-components-product-badge{
  min-width:1.35rem!important;
  min-height:1.35rem!important;
  padding:0 .3rem!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:var(--black,#09090a)!important;
  color:var(--white,#fff)!important;
  font-family:var(--body)!important;
  font-size:.72rem!important;
  font-weight:700!important;
}
.woocommerce-page .wc-block-components-order-summary-item__image img{
  object-fit:cover!important;
}
.woocommerce-page .wc-block-components-formatted-money-amount,
.woocommerce-page .wc-block-components-order-summary-item__total-price,
.woocommerce-page .wc-block-components-totals-item__value,
.woocommerce-page .wc-block-components-totals-footer-item .wc-block-components-formatted-money-amount{
  font-family:var(--body)!important;
  font-weight:700!important;
  color:var(--black,#09090a)!important;
}
.woocommerce-page .wc-block-components-totals-footer-item .wc-block-components-formatted-money-amount{
  font-size:clamp(1.55rem,2.2vw,2.15rem)!important;
}

.woocommerce-page :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea,
  .wc-block-components-text-input input,.wc-block-components-combobox .wc-block-components-combobox-control input){
  width:100%!important;
  min-height:3.5rem!important;
  border:0!important;
  border-radius:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:var(--violet-light,#ebe8ff)!important;
  color:var(--black,#09090a)!important;
  padding:.9rem 1rem!important;
}
.woocommerce-page :is(input,select,textarea):focus,
.woocommerce-page .wc-block-components-text-input input:focus,
.woocommerce-page .wc-block-components-combobox .wc-block-components-combobox-control input:focus{
  outline:3px solid var(--signal,#d9ff43)!important;
  outline-offset:0!important;
}
.woocommerce-page .wc-block-components-checkbox .wc-block-components-checkbox__input,
.woocommerce-page input[type="checkbox"],
.woocommerce-page input[type="radio"]{
  accent-color:var(--signal,#d9ff43)!important;
}

.woocommerce-page :is(button.button,a.button,input.button,#place_order,
  .wc-block-components-button,.wc-block-cart__submit-button,.wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button){
  min-height:3.35rem!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:var(--signal,#d9ff43)!important;
  color:var(--black,#09090a)!important;
  font-family:var(--display)!important;
  font-size:.82rem!important;
  font-weight:700!important;
  letter-spacing:0!important;
  text-transform:uppercase!important;
  padding:1rem 3.4rem 1rem 1.15rem!important;
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.woocommerce-page :is(button.button,a.button,input.button,#place_order,
  .wc-block-components-button,.wc-block-cart__submit-button,.wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button)::after{
  content:""!important;
  position:absolute!important;
  right:1rem!important;
  top:50%!important;
  width:.62rem!important;
  height:.62rem!important;
  background:var(--black,#09090a)!important;
  transform:translateY(-50%)!important;
}
.woocommerce-page :is(button.button,a.button,input.button,#place_order,
  .wc-block-components-button,.wc-block-cart__submit-button,.wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button):hover{
  background:var(--violet,#7569d6)!important;
  color:var(--white,#fff)!important;
}
.woocommerce-page :is(button.button,a.button,input.button,#place_order,
  .wc-block-components-button,.wc-block-cart__submit-button,.wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button):hover::after{
  background:var(--signal,#d9ff43)!important;
}
.woocommerce-page .wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button,
.woocommerce-page .wc-block-cart__submit-button,
.woocommerce-page #place_order{width:100%!important}

.woocommerce-page :is(table.shop_table,.woocommerce-checkout-review-order-table,.woocommerce-table){
  border:0!important;
  border-collapse:collapse!important;
  border-radius:0!important;
  background:transparent!important;
}
.woocommerce-page :is(table.shop_table,.woocommerce-table) :is(th,td){
  border:0!important;
  border-bottom:1px solid rgba(9,9,10,.12)!important;
  padding:1rem .4rem!important;
}
.woocommerce-page .woocommerce-checkout #customer_details{display:grid!important;grid-template-columns:1fr 1fr!important;gap:clamp(1.75rem,3vw,3rem)!important}
.woocommerce-page .woocommerce-checkout #customer_details>div{width:auto!important;float:none!important}
.woocommerce-page #order_review_heading{margin-top:clamp(2rem,4vw,3rem)!important}
.woocommerce-page .woocommerce-checkout-review-order{background:var(--violet-light,#ebe8ff)!important;padding:clamp(1.25rem,3vw,2.5rem)!important}

.mela-commerce-confirmation{
  margin:clamp(2rem,5vw,4rem) 0!important;
  padding:clamp(1.5rem,3vw,2.5rem)!important;
  background:var(--violet,#7569d6)!important;
  color:var(--white,#fff)!important;
  border:0!important;
  box-shadow:none!important;
}
.mela-commerce-confirmation small{display:block!important;color:var(--signal,#d9ff43)!important;font-weight:800!important;letter-spacing:.08em!important}
.mela-commerce-confirmation h2{max-width:12ch!important;margin:.65rem 0 1rem!important;color:var(--white,#fff)!important}
.mela-commerce-confirmation p{max-width:48rem!important;margin:0!important;color:var(--white,#fff)!important}

@media(max-width:1024px){
  .woocommerce-page .wc-block-components-sidebar-layout{grid-template-columns:1fr!important;gap:2rem!important}
  .woocommerce-page .wc-block-components-sidebar{position:relative!important;top:auto!important;order:2!important}
}
@media(max-width:800px){
  .woocommerce-page .woocommerce,
  .woocommerce-page .wc-block-components-main,
  .woocommerce-page .wc-block-checkout,
  .woocommerce-page .wc-block-cart,
  .woocommerce-page .entry-content>.wp-block-woocommerce-checkout,
  .woocommerce-page .entry-content>.wp-block-woocommerce-cart{width:min(100% - 1.5rem,92rem)!important;padding-block:3.5rem!important}
  .woocommerce-page .woocommerce-checkout #customer_details{grid-template-columns:1fr!important;gap:1.25rem!important}
  .woocommerce-page h1,
  .woocommerce-page .wc-block-components-title.wc-block-components-title{font-size:clamp(2.45rem,12vw,4rem)!important}
  .woocommerce-page h2{font-size:clamp(1.65rem,8vw,2.55rem)!important}
  .woocommerce-page :is(button.button,a.button,input.button,#place_order,
    .wc-block-components-button,.wc-block-cart__submit-button,.wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button){width:100%!important}
}

/* 1.0.38 — unified adaptive header and editorial menu.
   Kept in the theme shell so Elementor widget styling remains untouched. */
.brand-header a,
.brand-header a:hover,
.brand-header a:focus,
.brand-header a:visited,
.brand-menu a,
.brand-menu a:hover,
.brand-menu a:focus,
.brand-menu a:visited{
  text-decoration:none!important;
  text-decoration-line:none!important;
}
.brand-header :is(.brand,.desktop-nav a,.page-count,.mela-header-cart){
  font-family:var(--body,"Space Grotesk",sans-serif)!important;
  font-weight:750!important;
  letter-spacing:.045em!important;
  text-transform:uppercase!important;
}
.brand-header .desktop-nav a{
  position:relative!important;
  font-size:clamp(.64rem,.62vw,.74rem)!important;
  line-height:1!important;
}
.brand-header .desktop-nav a::after{display:none!important;content:none!important}

.brand-menu{
  --mela-menu-bg:var(--black,#09090a);
  --mela-menu-fg:var(--white,#fff);
  --mela-menu-muted:rgba(255,255,255,.58);
  --mela-menu-line:rgba(255,255,255,.2);
  --mela-menu-accent:var(--signal,#d9ff43);
  background:var(--mela-menu-bg)!important;
  color:var(--mela-menu-fg)!important;
  transition:background-color .24s ease,color .24s ease!important;
}
.brand-menu.tone-white{
  --mela-menu-bg:var(--white,#fff);--mela-menu-fg:var(--black,#09090a);
  --mela-menu-muted:rgba(9,9,10,.58);--mela-menu-line:rgba(9,9,10,.18);--mela-menu-accent:var(--violet,#7569d6);
}
.brand-menu.tone-green{
  --mela-menu-bg:var(--signal,#d9ff43);--mela-menu-fg:var(--black,#09090a);
  --mela-menu-muted:rgba(9,9,10,.62);--mela-menu-line:rgba(9,9,10,.2);--mela-menu-accent:var(--violet,#7569d6);
}
.brand-menu.tone-violet{
  --mela-menu-bg:var(--violet,#7569d6);--mela-menu-fg:var(--white,#fff);
  --mela-menu-muted:rgba(255,255,255,.65);--mela-menu-line:rgba(255,255,255,.23);--mela-menu-accent:var(--signal,#d9ff43);
}
.brand-menu.tone-violet-bright{
  --mela-menu-bg:var(--violet-bright,#8c80ff);--mela-menu-fg:var(--white,#fff);
  --mela-menu-muted:rgba(255,255,255,.68);--mela-menu-line:rgba(255,255,255,.24);--mela-menu-accent:var(--signal,#d9ff43);
}
.brand-menu.tone-soft{
  --mela-menu-bg:var(--soft-violet,var(--violet-light,#ebe8ff));--mela-menu-fg:var(--black,#09090a);
  --mela-menu-muted:rgba(9,9,10,.58);--mela-menu-line:rgba(9,9,10,.18);--mela-menu-accent:var(--violet,#7569d6);
}
.brand-menu.tone-grey{
  --mela-menu-bg:var(--grey,#dfe1e0);--mela-menu-fg:var(--black,#09090a);
  --mela-menu-muted:rgba(9,9,10,.58);--mela-menu-line:rgba(9,9,10,.18);--mela-menu-accent:var(--violet,#7569d6);
}
.brand-menu :is(.menu-index,.menu-footer,.menu-footer p){color:var(--mela-menu-muted)!important}
.brand-menu nav{align-self:center!important;min-width:0!important}
.brand-menu nav a{
  display:grid!important;
  grid-template-columns:clamp(2.2rem,3.2vw,3.8rem) minmax(0,1fr)!important;
  align-items:baseline!important;
  gap:clamp(.65rem,1.4vw,1.4rem)!important;
  padding:clamp(.55rem,1.15vh,1rem) 0!important;
  border:0!important;
  border-bottom:1px solid var(--mela-menu-line)!important;
  background:transparent!important;
  color:var(--mela-menu-fg)!important;
  font-family:var(--display,"Unbounded",sans-serif)!important;
  font-size:clamp(2rem,4.4vw,5.25rem)!important;
  font-weight:700!important;
  line-height:.94!important;
  letter-spacing:-.055em!important;
  text-transform:uppercase!important;
  transition:color .18s ease,transform .18s ease!important;
}
.brand-menu nav a span{
  color:var(--mela-menu-muted)!important;
  font-family:var(--body,"Space Grotesk",sans-serif)!important;
  font-size:clamp(.62rem,.75vw,.78rem)!important;
  font-weight:750!important;
  line-height:1!important;
  letter-spacing:.06em!important;
}
.brand-menu nav a:hover,
.brand-menu nav a:focus-visible,
.brand-menu.brand-menu--business nav a:hover,
.brand-menu.brand-menu--business nav a:focus-visible{
  color:var(--mela-menu-accent)!important;
  transform:translateX(.3rem)!important;
  outline:0!important;
}
.brand-menu .menu-footer .brand-action{
  border:0!important;
  box-shadow:none!important;
}

@media(max-width:900px){
  .brand-menu{
    grid-template-columns:1fr!important;
    align-content:start!important;
    gap:clamp(1.1rem,3vh,2rem)!important;
    padding:calc(var(--header-height,72px) + 1.5rem) 1.25rem 1.5rem!important;
    overflow-y:auto!important;
  }
  .brand-menu .menu-index{display:block!important;font-size:.68rem!important}
  .brand-menu nav a{
    grid-template-columns:1.8rem minmax(0,1fr)!important;
    gap:.65rem!important;
    padding:.75rem 0!important;
    font-size:clamp(1.65rem,8.4vw,3.25rem)!important;
    line-height:.98!important;
    letter-spacing:-.045em!important;
  }
  .brand-menu .menu-footer{align-self:end!important;gap:1rem!important}
}


/* 1.0.35 · MELA COMMERCE JOURNEY --------------------------------------- */
/* Checkout headings are section labels, not page heroes. */
.woocommerce-page .mela-commerce-intro{
  width:min(100% - 2rem,92rem)!important;
  margin:0 auto!important;
  padding:clamp(3.8rem,6vw,6rem) 0 clamp(2rem,4vw,3.5rem)!important;
}
.woocommerce-page .mela-commerce-intro small{
  display:flex!important;align-items:center!important;gap:.7rem!important;
  margin:0 0 1rem!important;color:var(--violet,#7569d6)!important;
  font-family:var(--body)!important;font-size:.72rem!important;font-weight:800!important;
  letter-spacing:.08em!important;text-transform:uppercase!important;
}
.woocommerce-page .mela-commerce-intro small::before{content:"";width:.52rem;height:.52rem;background:currentColor;flex:0 0 .52rem}
.woocommerce-page .mela-commerce-intro h1{
  max-width:13ch!important;margin:0!important;font-family:var(--display)!important;
  font-size:clamp(3rem,5.4vw,6rem)!important;line-height:.91!important;
  letter-spacing:-.065em!important;text-transform:uppercase!important;color:var(--black,#09090a)!important;
}
.woocommerce-page .mela-commerce-intro p{
  max-width:44rem!important;margin:1.35rem 0 0!important;font-family:var(--body)!important;
  font-size:clamp(1rem,1.35vw,1.22rem)!important;line-height:1.5!important;color:var(--black,#09090a)!important;
}
.woocommerce-page .mela-commerce-intro + :is(.wc-block-cart,.wc-block-checkout){padding-top:0!important}

/* Block checkout: compact MELA hierarchy. */
.woocommerce-page .wp-block-woocommerce-checkout .wc-block-components-checkout-step__heading,
.woocommerce-page .wp-block-woocommerce-checkout .wc-block-components-checkout-step__container{
  margin-bottom:1rem!important;
}
.woocommerce-page .wp-block-woocommerce-checkout .wc-block-components-checkout-step__heading .wc-block-components-title,
.woocommerce-page .wp-block-woocommerce-checkout .wc-block-components-checkout-step__title,
.woocommerce-page .wp-block-woocommerce-checkout h2.wc-block-components-title{
  max-width:none!important;margin:0!important;
  font-family:var(--display)!important;font-size:clamp(1.45rem,2.25vw,2.35rem)!important;
  line-height:.98!important;letter-spacing:-.045em!important;text-transform:uppercase!important;
  color:var(--black,#09090a)!important;
}
.woocommerce-page .wp-block-woocommerce-checkout .wc-block-components-checkout-step__description{
  margin:.45rem 0 0!important;font-family:var(--body)!important;font-size:.94rem!important;
  line-height:1.45!important;font-weight:400!important;letter-spacing:0!important;text-transform:none!important;
}
.woocommerce-page .wp-block-woocommerce-checkout .wc-block-components-checkout-step{
  margin-bottom:clamp(1.6rem,3vw,2.5rem)!important;
}

/* Labels outside the field: mirrors MELA forms and prevents Woo floating-label collisions. */
.woocommerce-page .wp-block-woocommerce-checkout .wc-block-components-text-input,
.woocommerce-page .wp-block-woocommerce-checkout .wc-block-components-combobox-control{
  position:relative!important;display:flex!important;flex-direction:column-reverse!important;
  gap:.38rem!important;background:transparent!important;border:0!important;border-radius:0!important;
}
.woocommerce-page .wp-block-woocommerce-checkout .wc-block-components-text-input label,
.woocommerce-page .wp-block-woocommerce-checkout .wc-block-components-combobox-control label{
  position:static!important;inset:auto!important;transform:none!important;max-width:none!important;
  margin:0!important;padding:0!important;color:var(--black,#09090a)!important;background:transparent!important;
  font-family:var(--body)!important;font-size:.68rem!important;font-weight:800!important;
  line-height:1.2!important;letter-spacing:.04em!important;text-transform:uppercase!important;order:2!important;
}
.woocommerce-page .wp-block-woocommerce-checkout .wc-block-components-text-input input,
.woocommerce-page .wp-block-woocommerce-checkout .wc-block-components-combobox-control input,
.woocommerce-page .wp-block-woocommerce-checkout .wc-block-components-combobox-control select{
  order:1!important;width:100%!important;min-width:0!important;min-height:3.7rem!important;
  padding:.85rem 1rem!important;background:var(--violet-light,#ebe8ff)!important;color:var(--black,#09090a)!important;
  border:0!important;border-radius:0!important;box-shadow:none!important;font-family:var(--body)!important;
  font-size:1rem!important;line-height:1.25!important;
}
.woocommerce-page .wp-block-woocommerce-checkout .wc-block-components-text-input input:focus,
.woocommerce-page .wp-block-woocommerce-checkout .wc-block-components-combobox-control input:focus,
.woocommerce-page .wp-block-woocommerce-checkout .wc-block-components-combobox-control select:focus{
  outline:3px solid var(--signal,#d9ff43)!important;outline-offset:0!important;
}
.woocommerce-page .wp-block-woocommerce-checkout .wc-block-components-address-form{
  gap:clamp(.8rem,1.5vw,1.15rem)!important;
}
.woocommerce-page .wp-block-woocommerce-checkout .wc-block-components-address-form__address_2-toggle{
  margin:.2rem 0 .6rem!important;font-family:var(--body)!important;font-size:.86rem!important;color:var(--black,#09090a)!important;
}

/* Checkout order summary: quiet, legible, no fake product-card frame. */
.woocommerce-page .wp-block-woocommerce-checkout .wc-block-components-sidebar{
  padding:clamp(1.5rem,2.5vw,2.25rem)!important;background:var(--violet-light,#ebe8ff)!important;
}
.woocommerce-page .wp-block-woocommerce-checkout .wc-block-components-sidebar .wc-block-components-title{
  font-size:1rem!important;line-height:1.2!important;letter-spacing:0!important;text-transform:none!important;
  font-family:var(--body)!important;font-weight:700!important;
}
.woocommerce-page .wp-block-woocommerce-checkout .wc-block-components-order-summary-item__image{display:none!important}
.woocommerce-page .wp-block-woocommerce-checkout .wc-block-components-order-summary-item__description{padding-left:0!important;margin-left:0!important}
.woocommerce-page .wp-block-woocommerce-checkout .wc-block-components-order-summary-item__individual-prices,
.woocommerce-page .wp-block-woocommerce-checkout .wc-block-components-order-summary-item__total-price{
  font-size:.92rem!important;
}
.woocommerce-page .wp-block-woocommerce-checkout .wc-block-components-product-name{
  font-size:clamp(1.2rem,1.7vw,1.65rem)!important;line-height:1!important;
}
.woocommerce-page .wp-block-woocommerce-checkout .wc-block-components-sidebar .wc-block-components-totals-item__label{
  font-size:clamp(1.05rem,1.5vw,1.35rem)!important;
}
.woocommerce-page .wp-block-woocommerce-checkout .wc-block-components-sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__label{
  font-size:clamp(1.25rem,1.8vw,1.65rem)!important;
}
.woocommerce-page .wp-block-woocommerce-checkout .wc-block-components-sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__value{
  font-size:clamp(1.4rem,2vw,1.9rem)!important;
}

/* Cart: actual review step before checkout. */
.woocommerce-page .wp-block-woocommerce-cart .wc-block-components-sidebar-layout{
  grid-template-columns:minmax(0,1.25fr) minmax(18rem,.75fr)!important;
  gap:clamp(2rem,4vw,4rem)!important;align-items:start!important;
}
.woocommerce-page .wp-block-woocommerce-cart .wc-block-cart-items{
  margin:0!important;border:0!important;
}
.woocommerce-page .wp-block-woocommerce-cart .wc-block-cart-items__row{
  padding:1.35rem 0!important;border:0!important;border-bottom:1px solid rgba(9,9,10,.14)!important;
}
.woocommerce-page .wp-block-woocommerce-cart .wc-block-cart-item__image{width:5.5rem!important}
.woocommerce-page .wp-block-woocommerce-cart .wc-block-components-product-name{
  font-family:var(--display)!important;font-size:clamp(1.35rem,2vw,2rem)!important;font-weight:700!important;
  line-height:.98!important;letter-spacing:-.04em!important;text-transform:uppercase!important;color:var(--black,#09090a)!important;
}
.woocommerce-page .wp-block-woocommerce-cart .wc-block-components-quantity-selector{
  border:0!important;border-radius:0!important;background:var(--violet-light,#ebe8ff)!important;
}
.woocommerce-page .wp-block-woocommerce-cart .wc-block-components-quantity-selector input,
.woocommerce-page .wp-block-woocommerce-cart .wc-block-components-quantity-selector button{
  background:transparent!important;border:0!important;box-shadow:none!important;
}
.woocommerce-page .wp-block-woocommerce-cart .wc-block-components-product-metadata,
.woocommerce-page .wp-block-woocommerce-cart .wc-block-cart-item__remove-link{
  font-family:var(--body)!important;font-size:.84rem!important;
}
.woocommerce-page .wp-block-woocommerce-cart .wc-block-cart-item__remove-link{
  color:var(--violet,#7569d6)!important;text-decoration:none!important;font-weight:700!important;text-transform:uppercase!important;
}
.woocommerce-page .wp-block-woocommerce-cart .wc-block-components-sidebar{
  padding:clamp(1.5rem,2.5vw,2.25rem)!important;background:var(--violet-light,#ebe8ff)!important;
  border:0!important;border-radius:0!important;box-shadow:none!important;position:sticky!important;
  top:calc(var(--header-height,88px) + 1.5rem)!important;
}
.woocommerce-page .wp-block-woocommerce-cart .wc-block-components-totals-item,
.woocommerce-page .wp-block-woocommerce-cart .wc-block-components-totals-coupon{border:0!important}
.woocommerce-page .wp-block-woocommerce-cart .wc-block-cart__submit-button{
  width:100%!important;margin-top:1rem!important;
}

/* My Account: useful but never required for checkout. */
.woocommerce-account .woocommerce{
  display:grid!important;grid-template-columns:minmax(12rem,.28fr) minmax(0,1fr)!important;
  gap:clamp(2rem,5vw,5rem)!important;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none!important;margin:0!important;padding:0!important}
.woocommerce-account .woocommerce-MyAccount-navigation li{margin:0!important;border-bottom:1px solid rgba(9,9,10,.12)!important}
.woocommerce-account .woocommerce-MyAccount-navigation a{
  display:block!important;padding:.85rem 0!important;color:var(--black,#09090a)!important;text-decoration:none!important;
  font-family:var(--body)!important;font-size:.78rem!important;font-weight:800!important;text-transform:uppercase!important;
}
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a{color:var(--violet,#7569d6)!important}
.woocommerce-account .woocommerce-MyAccount-content{min-width:0!important}
.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register{border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important}

/* Header cart only appears when there is something to review. */
.mela-header-cart{
  display:inline-flex!important;align-items:center!important;gap:.45rem!important;color:inherit!important;text-decoration:none!important;
  font-family:var(--body)!important;font-size:.66rem!important;font-weight:800!important;letter-spacing:.04em!important;text-transform:uppercase!important;
}
.mela-header-cart span{
  display:inline-grid!important;place-items:center!important;min-width:1.35rem!important;height:1.35rem!important;padding:0 .25rem!important;
  background:var(--signal,#d9ff43)!important;color:var(--black,#09090a)!important;font-size:.66rem!important;
}

@media(max-width:1024px){
  .woocommerce-page .wp-block-woocommerce-cart .wc-block-components-sidebar-layout{grid-template-columns:1fr!important}
  .woocommerce-page .wp-block-woocommerce-cart .wc-block-components-sidebar{position:relative!important;top:auto!important}
}
@media(max-width:800px){
  .woocommerce-page .mela-commerce-intro{width:min(100% - 1.5rem,92rem)!important;padding:3rem 0 1.75rem!important}
  .woocommerce-page .mela-commerce-intro h1{font-size:clamp(2.6rem,12vw,4rem)!important}
  .woocommerce-page .wp-block-woocommerce-checkout .wc-block-components-checkout-step__heading .wc-block-components-title,
  .woocommerce-page .wp-block-woocommerce-checkout .wc-block-components-checkout-step__title,
  .woocommerce-page .wp-block-woocommerce-checkout h2.wc-block-components-title{font-size:clamp(1.3rem,6.5vw,1.8rem)!important}
  .woocommerce-page .wp-block-woocommerce-checkout .wc-block-components-sidebar,
  .woocommerce-page .wp-block-woocommerce-cart .wc-block-components-sidebar{padding:1.25rem!important}
  .woocommerce-account .woocommerce{grid-template-columns:1fr!important;gap:1.5rem!important}
  .mela-header-cart{display:none!important}
}
