/*
Theme Name: ILLU Manufacture
Theme URI: https://illu-manufacture.fr
Description: Theme enfant ILLU pour Hello Elementor.
Author: ILLU Manufacture
Template: hello-elementor
Version: 1.1.55
Text Domain: illu-manufacture
*/

@font-face {
  font-family: "Londrina Solid";
  src: url("assets/fonts/LondrinaSolid-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* Refine the made-in-France statement on desktop. */
@media (min-width: 768px) {
  .illu-pe-made-in-france p {
    font-size: 7rem;
  }
}


@font-face {
  font-family: "Londrina Solid";
  src: url("assets/fonts/LondrinaSolid-Black.woff2") format("woff2");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Source Sans 3";
  src: url("assets/fonts/SourceSans3-VariableFont_wght.woff2") format("woff2");
  font-weight: 200 900;
  font-style: normal;
  font-display: swap;
}

:root {
  --illu-ink: #272726;
  --illu-kaki: #564a1f;
  --illu-kaki-soft: #8f7c33;
  --illu-cream: #f0ebd6;
  --illu-sand: #c9b99a;
  --illu-terracotta: #a64a32;
  --illu-terracotta-dark: #943f2d;
  --illu-white: #fffaf0;
  --illu-radius: 8px;
}

body {
  background: var(--illu-cream);
  color: var(--illu-kaki);
  font-family: "Source Sans 3", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 18px;
  line-height: 1.55;
  letter-spacing: 0;
}

::selection {
  background: var(--illu-terracotta);
  color: var(--illu-white);
}

h1,
h2,
h3,
h4,
.site-title,
.entry-title,
.woocommerce-products-header__title {
  color: var(--illu-kaki);
  font-family: "Londrina Solid", "Source Sans 3", sans-serif;
  font-weight: 900;
  letter-spacing: 0;
  line-height: 0.88;
  text-transform: uppercase;
}

a {
  color: var(--illu-kaki);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.18em;
}

a:hover,
a:focus {
  color: var(--illu-terracotta);
}

:where(a, button, input, select, textarea):focus-visible {
  outline: 3px solid var(--illu-terracotta);
  outline-offset: 3px;
}

button,
input,
textarea,
select {
  font-family: "Source Sans 3", system-ui, sans-serif;
}

.site-header,
.site-footer {
  background: var(--illu-cream);
  color: var(--illu-kaki);
}

.site-header {
  border-bottom: 1px solid rgba(86, 74, 31, 0.18);
  position: sticky;
  top: 0;
  z-index: 100;
}

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

.site-header .header-inner,
.site-footer .footer-inner {
  box-sizing: border-box;
  margin-inline: auto;
  max-width: 1440px;
  padding-inline: clamp(18px, 5vw, 72px);
  width: 100%;
}

.site-header .header-inner {
  min-height: 82px;
}

.site-header .site-description {
  display: none;
}

.site-navigation ul.menu,
.site-navigation-dropdown ul.menu {
  gap: clamp(14px, 2vw, 28px);
}

.site-navigation ul.menu li a,
.site-navigation-dropdown ul.menu li a,
.site-footer a {
  color: var(--illu-kaki);
  font-size: 0.94rem;
  font-weight: 800;
  letter-spacing: 0;
  text-decoration: none;
}

.site-header .site-navigation > ul.menu > li > a,
.site-header .site-navigation-dropdown > ul.menu > li > a {
  font-size: 1.08rem;
}

.site-navigation ul.menu li.current-menu-item > a,
.site-navigation ul.menu li.current_page_item > a,
.site-navigation ul.menu li.current-menu-ancestor > a {
  color: var(--illu-terracotta-dark);
  text-decoration: underline;
}

.site-navigation ul.menu li a:hover,
.site-navigation-dropdown ul.menu li a:hover,
.site-footer a:hover {
  color: var(--illu-terracotta-dark);
}

.site-footer .current-menu-item > a,
.site-footer .current_page_item > a,
.site-footer .current-menu-ancestor > a {
  color: var(--illu-terracotta-dark);
  text-decoration: underline;
}

html body #site-footer.illu-global-footer {
  background: transparent !important;
  border: 0 !important;
  box-sizing: border-box;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  max-width: 100vw !important;
  padding: 0 !important;
  width: 100vw !important;
}

.illu-global-footer > .elementor {
  margin: 0;
  max-width: none !important;
  width: 100% !important;
}

.illu-global-footer .elementor-element-fa00001 {
  --width: 100%;
  margin: 0 !important;
  max-width: none !important;
  width: 100% !important;
}

.illu-global-footer :is(.elementor-element-fa00002, .elementor-element-fa00005) {
  margin-inline: auto;
  max-width: 1440px;
  width: 100%;
}

.illu-global-footer .elementor-button {
  text-decoration: none;
}

.illu-global-footer #illu-privacy-open {
  cursor: pointer;
}

@media (min-width: 768px) {
  .illu-global-footer .elementor-element-fa00005,
  .illu-global-footer .elementor-element-fa00006 {
    flex-wrap: nowrap !important;
  }

  .illu-global-footer .elementor-element-fa00006 {
    --width: auto;
    flex: 1 1 auto;
    min-width: 0;
    width: auto !important;
  }

  .illu-global-footer .elementor-element-fa00005 > .elementor-widget,
  .illu-global-footer .elementor-element-fa00006 > .elementor-widget {
    flex: 0 0 auto;
    width: auto !important;
  }

  .illu-global-footer .elementor-element-fa00005 :is(p, .elementor-button-text) {
    white-space: nowrap;
  }
}

.illu-global-footer-fallback {
  background: var(--illu-terracotta);
  color: var(--illu-cream);
  padding: 32px clamp(18px, 5vw, 72px);
}

.site-header .site-navigation,
.site-header .site-navigation > ul.menu,
.site-header .site-navigation > ul.menu > li {
  position: static;
}

.site-header .illu-creations-trigger {
  align-items: center;
  appearance: none;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  color: var(--illu-kaki);
  cursor: pointer;
  display: inline-flex;
  font-size: 1.08rem;
  font-weight: 800;
  gap: 9px;
  justify-content: center;
  letter-spacing: 0;
  line-height: 1.2;
  margin: 0;
  min-height: 44px;
  padding: 10px 0;
  text-transform: none;
}

.site-header .illu-creations-trigger:hover,
.site-header .illu-creations-trigger:focus-visible,
.site-header .illu-has-mega-menu.is-open > .illu-creations-trigger {
  background: transparent;
  color: var(--illu-terracotta);
}

.illu-menu-chevron {
  border-bottom: 2px solid currentColor;
  border-right: 2px solid currentColor;
  display: block;
  height: 7px;
  margin-top: -4px;
  transform: rotate(45deg);
  transition: transform 180ms ease, margin 180ms ease;
  width: 7px;
}

.illu-has-mega-menu.is-open .illu-menu-chevron {
  margin-top: 4px;
  transform: rotate(225deg);
}

.illu-mega-menu {
  background: rgba(240, 235, 214, 0.3);
  background: color-mix(in srgb, var(--illu-cream) 30%, transparent);
  -webkit-backdrop-filter: blur(14px) saturate(115%);
  backdrop-filter: blur(14px) saturate(115%);
  border-bottom: 1px solid rgba(86, 74, 31, 0.2);
  border-top: 1px solid rgba(86, 74, 31, 0.14);
  box-sizing: border-box;
  box-shadow: 0 18px 36px rgba(51, 45, 23, 0.12);
  color: var(--illu-kaki);
  left: 0;
  opacity: 0;
  padding: 18px max(24px, calc((100vw - 1320px) / 2)) 30px;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: calc(100% + 1px);
  transform: translateY(-10px);
  transition: opacity 180ms ease, transform 220ms ease, visibility 220ms;
  visibility: hidden;
  width: 100%;
  z-index: 120;
}

.site-header .illu-has-mega-menu.is-open > .illu-mega-menu,
.site-header .illu-has-mega-menu:focus-within > .illu-mega-menu {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
  visibility: visible;
}

.illu-mega-menu-inner {
  display: grid;
  gap: clamp(30px, 5vw, 76px);
  grid-template-columns: minmax(220px, 0.72fr) minmax(0, 2fr);
  margin: 0 auto;
  max-width: 1320px;
}

.illu-mega-intro {
  align-self: start;
  max-width: 280px;
}

.illu-mega-eyebrow {
  color: var(--illu-terracotta);
  display: block;
  font-size: 0.75rem;
  font-weight: 900;
  margin-bottom: 10px;
  text-transform: uppercase;
}

.illu-mega-intro p {
  font-family: "Londrina Solid", sans-serif;
  font-size: 2rem;
  line-height: 1.02;
  margin: 0;
  max-width: 11ch;
}

.illu-mega-columns {
  display: grid;
  gap: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.illu-mega-column {
  border-left: 1px solid rgba(86, 74, 31, 0.18);
  min-width: 0;
  padding: 0 clamp(20px, 3vw, 42px);
}

.illu-mega-column:last-child {
  padding-right: 0;
}

.illu-mega-column h2 {
  color: var(--illu-kaki);
  font-family: "Source Sans 3", system-ui, sans-serif;
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0;
  margin: 0 0 14px;
  text-transform: uppercase;
}

.site-header .site-navigation .illu-mega-column ul,
.site-header .site-navigation-dropdown .illu-mega-column ul {
  background: transparent;
  display: grid;
  gap: 3px;
  list-style: none;
  margin: 0;
  opacity: 1;
  padding: 0;
  position: static;
  visibility: visible;
  width: auto;
}

.site-header .site-navigation .illu-mega-column li,
.site-header .site-navigation-dropdown .illu-mega-column li {
  border: 0;
  display: block;
  margin: 0;
  padding: 0;
  width: auto;
}

.site-header .site-navigation .illu-mega-column a,
.site-header .site-navigation-dropdown .illu-mega-column a,
.illu-coming-soon {
  align-items: center;
  display: grid;
  gap: 1px;
  min-height: 48px;
  padding: 7px 0;
  position: static;
  text-decoration: none;
  width: auto;
}

.illu-mega-column a strong,
.illu-coming-soon strong {
  color: var(--illu-kaki);
  font-size: 1.08rem;
  font-weight: 800;
  line-height: 1.15;
}

.illu-mega-column a span,
.illu-coming-soon small {
  color: rgba(86, 74, 31, 0.7);
  font-size: 0.79rem;
  font-weight: 600;
  line-height: 1.2;
}

.illu-mega-column a:hover strong,
.illu-mega-column a:focus-visible strong {
  color: var(--illu-terracotta);
}

.illu-coming-soon {
  opacity: 0.58;
}

.site-footer .illu-has-mega-menu {
  display: none;
}

.site-footer {
  border-top: 1px solid rgba(86, 74, 31, 0.18);
}

.custom-logo {
  max-height: 64px;
  width: auto;
}

.button,
button,
input[type="button"],
input[type="submit"],
.wp-block-button__link,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce div.product form.cart .button {
  background: var(--illu-kaki);
  border: 1px solid var(--illu-kaki);
  border-radius: var(--illu-radius);
  color: var(--illu-cream);
  font-weight: 700;
  letter-spacing: 0;
  min-height: 44px;
  padding: 0.78rem 1.05rem;
  text-decoration: none;
  text-transform: none;
}

.button:hover,
button:hover,
input[type="button"]:hover,
input[type="submit"]:hover,
.wp-block-button__link:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce div.product form.cart .button:hover {
  background: var(--illu-terracotta);
  border-color: var(--illu-terracotta);
  color: var(--illu-white);
}

.wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent;
  border-color: var(--illu-kaki);
  color: var(--illu-kaki);
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
  background: var(--illu-kaki);
  color: var(--illu-cream);
}

.illu-home-hero {
  align-items: end;
  background:
    linear-gradient(90deg, rgba(20, 23, 18, 0.78) 0%, rgba(20, 23, 18, 0.58) 46%, rgba(20, 23, 18, 0.24) 72%, rgba(20, 23, 18, 0.12) 100%),
    url("assets/images/atelier-bois-illu-v2-web.jpg") center center / cover no-repeat;
  border-bottom: 1px solid rgba(240, 235, 214, 0.24);
  box-sizing: border-box;
  display: grid;
  gap: clamp(24px, 5vw, 64px);
  grid-template-columns: minmax(0, 1.05fr) minmax(220px, 0.7fr);
  min-height: calc(100svh - 118px);
  padding: clamp(36px, 7vw, 88px) clamp(20px, 6vw, 96px);
}

.admin-bar .illu-home-hero {
  min-height: calc(100svh - 150px);
}

.home .page-header {
  display: none;
}

.illu-baseline {
  color: var(--illu-cream);
  font-size: 0.95rem;
  font-weight: 900;
  margin: 0 0 0.8rem;
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.34);
  text-transform: uppercase;
}

.illu-home-hero h1 {
  color: var(--illu-cream);
  font-size: clamp(5rem, 16vw, 13rem);
  margin: 0 0 1rem;
  max-width: 8ch;
  text-shadow: 0 3px 24px rgba(0, 0, 0, 0.28);
}

.illu-home-hero p {
  color: var(--illu-white);
  font-size: clamp(1.08rem, 2vw, 1.35rem);
  max-width: 680px;
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.42);
}

.illu-home-hero .illu-mark {
  filter: brightness(0) invert(1);
  justify-self: center;
  max-width: min(380px, 64vw);
  opacity: 0.88;
  width: 100%;
}

.illu-home-hero > div:first-child,
.illu-home-hero > .illu-mark {
  transform: translateY(-32px);
}

.illu-home-hero .wp-block-button:not(.is-style-outline) .wp-block-button__link {
  background: var(--illu-cream);
  border-color: var(--illu-cream);
  color: var(--illu-kaki);
}

.illu-home-hero .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover,
.illu-home-hero .wp-block-button:not(.is-style-outline) .wp-block-button__link:focus-visible {
  background: var(--illu-terracotta);
  border-color: var(--illu-terracotta);
  color: var(--illu-white);
}

.illu-home-hero .wp-block-button.is-style-outline .wp-block-button__link {
  backdrop-filter: blur(8px);
  background: rgba(20, 23, 18, 0.18);
  border-color: var(--illu-cream);
  color: var(--illu-cream);
}

.illu-home-hero .wp-block-button.is-style-outline .wp-block-button__link:hover,
.illu-home-hero .wp-block-button.is-style-outline .wp-block-button__link:focus-visible {
  background: var(--illu-cream);
  color: var(--illu-kaki);
}

.illu-home-hero .wp-block-buttons,
.illu-band .wp-block-buttons {
  gap: 12px;
  margin-top: 1.8rem;
}

#collections .wp-block-buttons {
  align-items: center;
  column-gap: 28px !important;
  display: flex;
  flex-wrap: wrap;
  row-gap: 16px !important;
}

.illu-band {
  padding: clamp(40px, 7vw, 84px) clamp(20px, 6vw, 96px);
}

#collections {
  scroll-margin-top: 110px;
}

.illu-band h2 {
  font-size: clamp(2.6rem, 7vw, 5.6rem);
  margin: 0 0 1.1rem;
}

.illu-values {
  display: grid;
  gap: clamp(14px, 1.5vw, 24px);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 2rem;
}

.illu-values > * {
  background: rgba(255, 250, 240, 0.5);
  border: 1px solid rgba(86, 74, 31, 0.18);
  border-radius: var(--illu-radius);
  padding: 1.1rem;
}

.illu-values strong {
  color: var(--illu-kaki);
  display: block;
  font-size: 1.05rem;
  font-weight: 900;
  margin-bottom: 0.35rem;
}

/* Home — lead with products and lived-in scenes, then reveal the manufacture. */
.illu-home-visual-hero {
  min-height: calc(100svh - 118px);
  overflow: hidden;
  position: relative;
}

.illu-home-visual-hero img {
  display: block;
  height: calc(100svh - 118px);
  object-fit: cover;
  object-position: center 54%;
  width: 100%;
}

.illu-home-visual-hero::after {
  background: linear-gradient(180deg, transparent 45%, rgba(20, 23, 18, 0.64) 100%);
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}

.illu-home-visual-copy {
  bottom: clamp(32px, 5vw, 72px);
  color: var(--illu-white);
  left: clamp(20px, 6vw, 96px);
  max-width: 720px;
  position: absolute;
  z-index: 1;
}

.illu-home-visual-copy h1 {
  color: inherit;
  font-size: clamp(4rem, 8vw, 8rem);
  line-height: 0.86;
  margin: 0 0 1rem;
  text-shadow: 0 3px 24px rgba(0, 0, 0, 0.35);
}

.illu-home-visual-copy p {
  font-size: clamp(1.05rem, 1.8vw, 1.35rem);
  margin: 0 0 1.5rem;
  max-width: 34ch;
}

.illu-home-visual-copy .illu-pe-eyebrow {
  color: var(--illu-cream);
  max-width: none;
  white-space: nowrap;
}

.illu-home-visual-copy > p:not(.illu-pe-eyebrow) {
  max-width: none;
  white-space: nowrap;
}

.illu-home-link {
  border-bottom: 1px solid currentColor;
  color: inherit;
  display: inline-block;
  font-weight: 800;
  padding-bottom: 0.2rem;
  text-decoration: none;
}

.illu-home-scenes {
  background: #fbfaf6;
  padding: clamp(72px, 10vw, 150px) clamp(20px, 5vw, 72px);
}

.illu-home-scenes > header {
  margin: 0 auto clamp(36px, 5vw, 68px);
  max-width: 1440px;
}

.illu-home-scenes h2,
.illu-home-craft h2 {
  color: var(--illu-kaki);
  font-size: clamp(3.2rem, 6vw, 6rem);
  line-height: 0.9;
  margin: 0;
}

.illu-scene-grid {
  display: grid;
  gap: clamp(16px, 2vw, 30px);
  grid-template-columns: 1.3fr 0.7fr;
  margin-inline: auto;
  max-width: 1440px;
}

.illu-scene-card {
  color: var(--illu-kaki);
  display: block;
  overflow: hidden;
  padding-bottom: 1.25rem;
  text-decoration: none;
}

.illu-scene-card,
.illu-scene-card * {
  text-decoration: none !important;
}

.illu-scene-card:first-child {
  background: var(--illu-kaki);
  color: var(--illu-cream);
  grid-row: span 2;
}

.illu-scene-card:nth-child(2) {
  background: var(--illu-terracotta);
  color: var(--illu-white);
}

.illu-scene-card:nth-child(3) {
  background: var(--illu-sand);
  color: var(--illu-kaki);
}

.illu-scene-card figure {
  aspect-ratio: 4 / 3;
  margin: 0;
  overflow: hidden;
}

.illu-scene-card:first-child figure {
  aspect-ratio: 4 / 5;
  height: 100%;
}

.illu-scene-card img {
  display: block;
  height: 100%;
  object-fit: cover;
  transition: transform 650ms cubic-bezier(0.22, 1, 0.36, 1);
  width: 100%;
}

.illu-scene-card:hover img,
.illu-scene-card:focus-visible img {
  transform: scale(1.025);
}

.illu-scene-card h3 {
  color: inherit;
  font-size: clamp(1.8rem, 3vw, 3rem);
  margin: 0.9rem 0 0;
  padding-inline: 1.2rem;
}

.illu-scene-card p {
  color: inherit;
  margin: 0.2rem 0 0;
  opacity: 0.88;
  padding-inline: 1.2rem;
}

.illu-home-craft {
  align-items: center;
  background: var(--illu-kaki);
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(320px, 0.75fr);
}

.illu-home-craft-copy,
.illu-home-craft-copy h2,
.illu-home-craft-copy .illu-home-link {
  color: var(--illu-cream);
}

.illu-home-craft-copy .illu-pe-eyebrow {
  color: var(--illu-sand);
}

.illu-home-craft img {
  display: block;
  height: min(78vh, 760px);
  object-fit: cover;
  width: 100%;
}

.illu-home-craft-copy {
  padding: clamp(42px, 7vw, 96px);
}

.illu-home-craft-copy p:not(.illu-pe-eyebrow) {
  font-size: 1.1rem;
  margin: 1.25rem 0 1.8rem;
  max-width: 34ch;
}

.site-main {
  color: var(--illu-ink);
}

body.page:not(.home):not(.woocommerce-page) .site-main {
  box-sizing: border-box;
  margin-inline: auto;
  max-width: 980px;
  padding: clamp(40px, 7vw, 88px) clamp(20px, 6vw, 72px);
  width: 100%;
}

body.page:not(.home):not(.woocommerce-page) .entry-title {
  font-size: clamp(3.2rem, 9vw, 6.8rem);
  margin-bottom: clamp(32px, 6vw, 64px);
}

.illu-legal-page {
  max-width: 820px;
}

.illu-legal-page > p:first-child {
  color: var(--illu-terracotta);
  font-size: 0.95rem;
  font-weight: 800;
  margin-bottom: clamp(36px, 6vw, 64px);
  text-transform: uppercase;
}

.illu-legal-page h2 {
  font-family: "Source Sans 3", system-ui, sans-serif;
  font-size: clamp(1.45rem, 2.4vw, 1.75rem);
  font-weight: 750;
  line-height: 1.2;
  margin: clamp(30px, 4vw, 42px) 0 0.8rem;
  text-transform: none;
}

.illu-legal-page h3 {
  font-family: "Source Sans 3", system-ui, sans-serif;
  font-size: clamp(1.15rem, 1.8vw, 1.3rem);
  font-weight: 700;
  line-height: 1.25;
  margin: 1.75rem 0 0.75rem;
  text-transform: none;
}

.illu-legal-page p,
.illu-legal-page li {
  color: var(--illu-ink);
}

.illu-legal-page p {
  margin: 0 0 0.9rem;
}

.illu-legal-page ul,
.illu-legal-page ol {
  margin: 1rem 0 1.5rem;
  padding-left: 1.35rem;
}

.illu-legal-page li + li {
  margin-top: 0.35rem;
}

.illu-legal-page hr {
  border: 0;
  border-top: 1px solid rgba(86, 74, 31, 0.22);
  margin: clamp(30px, 4vw, 42px) 0 0;
}

.home .site-main,
.home .page-content {
  max-width: none;
  width: 100%;
}

body.home main.site-main {
  margin-inline: 0;
  max-width: none !important;
  width: 100%;
}

.woocommerce-shop .site-main,
body.tax-product_cat .site-main,
.single-product .site-main,
.woocommerce-cart .site-main,
.woocommerce-checkout .site-main,
.woocommerce-account .site-main {
  box-sizing: border-box;
  margin-inline: auto;
  max-width: 1240px;
  padding: clamp(34px, 6vw, 72px) clamp(20px, 5vw, 64px);
  width: 100%;
}

/* Hello Elementor offsets page titles by the page padding. Keep headings on the content grid. */
body.page:not(.home) .page-header .entry-title,
.woocommerce-cart .page-header .entry-title,
.woocommerce-checkout .page-header .entry-title,
.woocommerce-account .page-header .entry-title {
  box-sizing: border-box;
  margin-left: 0;
  margin-right: 0;
  padding-left: 0;
  padding-right: 0;
  width: auto;
}

.woocommerce-products-header__title,
.woocommerce div.product .product_title,
.woocommerce-cart .entry-title,
.woocommerce-checkout .entry-title,
.woocommerce-account .entry-title {
  font-size: clamp(3.2rem, 9vw, 7.4rem);
  margin-bottom: 1.5rem;
}

.woocommerce-account .entry-title {
  font-size: clamp(3.5rem, 6vw, 5.4rem);
  margin-bottom: clamp(28px, 4vw, 54px);
}

.woocommerce-account .woocommerce {
  align-items: start;
  display: grid;
  gap: clamp(28px, 4vw, 56px);
  grid-template-columns: minmax(220px, 270px) minmax(0, 1fr);
}

.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
  float: none;
  width: auto;
}

.woocommerce-account .woocommerce::before,
.woocommerce-account .woocommerce::after {
  content: none !important;
  display: none !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
  background: rgba(255, 250, 240, 0.62);
  border: 1px solid rgba(86, 74, 31, 0.26);
  border-radius: var(--illu-radius);
  padding: 10px;
  position: sticky;
  top: 112px;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation li {
  border-top: 1px solid rgba(86, 74, 31, 0.15);
  margin: 0;
  padding: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation li:first-child {
  border-top: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation a {
  align-items: center;
  border-radius: 5px;
  color: var(--illu-kaki);
  display: flex;
  font-size: 1rem;
  font-weight: 750;
  justify-content: space-between;
  min-height: 48px;
  padding: 8px 12px;
  text-decoration: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation a::after {
  color: var(--illu-terracotta);
  content: ">";
  font-size: 1.15rem;
  font-weight: 800;
}

.woocommerce-account .woocommerce-MyAccount-navigation a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation a:focus-visible,
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a {
  background: var(--illu-kaki);
  color: var(--illu-cream);
}

.woocommerce-account .woocommerce-MyAccount-navigation a:hover::after,
.woocommerce-account .woocommerce-MyAccount-navigation a:focus-visible::after,
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a::after {
  color: var(--illu-cream);
}

.woocommerce-account .woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link--customer-logout {
  border-top-color: rgba(166, 74, 50, 0.38);
  margin-top: 8px;
}

.woocommerce-account .woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link--customer-logout a {
  color: var(--illu-terracotta-dark);
}

.woocommerce-account .woocommerce-MyAccount-content {
  color: var(--illu-ink);
  min-width: 0;
}

.woocommerce-account .woocommerce-MyAccount-content > p {
  font-size: 1.08rem;
  max-width: 680px;
}

.illu-account-dashboard .woocommerce-MyAccount-content > p {
  display: none;
}

.illu-account-welcome {
  background: var(--illu-white);
  border: 1px solid rgba(86, 74, 31, 0.22);
  border-radius: var(--illu-radius);
  padding: clamp(28px, 5vw, 54px);
}

.illu-account-eyebrow {
  color: var(--illu-terracotta);
  font-size: 0.88rem;
  font-weight: 850;
  margin: 0 0 12px;
  text-transform: uppercase;
}

.illu-account-welcome h2 {
  font-size: clamp(2.8rem, 5vw, 4.8rem);
  margin: 0;
}

.illu-account-intro {
  font-size: 1.15rem;
  margin: 22px 0 34px;
  max-width: 620px;
}

.illu-account-shortcuts {
  border-top: 1px solid rgba(86, 74, 31, 0.2);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.illu-account-shortcuts a {
  align-items: start;
  border-left: 1px solid rgba(86, 74, 31, 0.2);
  color: var(--illu-kaki);
  display: grid;
  gap: 3px;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 22px 20px 4px;
  text-decoration: none;
}

.illu-account-shortcuts a:first-child {
  border-left: 0;
  padding-left: 0;
}

.illu-account-shortcuts a span {
  color: var(--illu-terracotta);
  font-size: 0.82rem;
  font-weight: 800;
  grid-column: 1;
  text-transform: uppercase;
}

.illu-account-shortcuts a strong {
  font-size: 1.16rem;
  grid-column: 1;
}

.illu-account-shortcuts a b {
  align-self: center;
  color: var(--illu-terracotta);
  font-size: 1.35rem;
  grid-column: 2;
  grid-row: 1 / span 2;
}

.illu-account-shortcuts a:hover,
.illu-account-shortcuts a:focus-visible {
  color: var(--illu-terracotta);
}

.woocommerce-account .woocommerce-orders-table,
.woocommerce-account .woocommerce-table--order-details,
.woocommerce-account .woocommerce-customer-details,
.woocommerce-account .woocommerce-address-fields,
.woocommerce-account .woocommerce-EditAccountForm,
.woocommerce-account form.woocommerce-form-login,
.woocommerce-account form.woocommerce-form-register,
.woocommerce-account .woocommerce-Addresses .woocommerce-Address {
  background: var(--illu-white);
  border: 1px solid rgba(86, 74, 31, 0.22);
  border-radius: var(--illu-radius);
}

.woocommerce-account .woocommerce-orders-table,
.woocommerce-account .woocommerce-table--order-details {
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  width: 100%;
}

.woocommerce-account .woocommerce-orders-table th,
.woocommerce-account .woocommerce-orders-table td,
.woocommerce-account .woocommerce-table--order-details th,
.woocommerce-account .woocommerce-table--order-details td {
  border: 0;
  border-bottom: 1px solid rgba(86, 74, 31, 0.16);
  padding: 16px 18px;
  text-align: left;
}

.woocommerce-account .woocommerce-orders-table th,
.woocommerce-account .woocommerce-table--order-details th {
  color: var(--illu-kaki);
  font-size: 0.84rem;
  font-weight: 850;
  text-transform: uppercase;
}

.woocommerce-account .woocommerce-orders-table tr:last-child td,
.woocommerce-account .woocommerce-table--order-details tr:last-child td {
  border-bottom: 0;
}

.woocommerce-account .woocommerce-Address,
.woocommerce-account .woocommerce-address-fields,
.woocommerce-account .woocommerce-EditAccountForm,
.woocommerce-account form.woocommerce-form-login,
.woocommerce-account form.woocommerce-form-register {
  box-sizing: border-box;
  padding: clamp(22px, 4vw, 38px);
}

.woocommerce-account .woocommerce-Addresses {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.woocommerce-account .woocommerce-Addresses .woocommerce-Address {
  float: none;
  margin: 0;
  padding: 28px;
  width: auto;
}

.woocommerce-account .woocommerce-Address-title {
  align-items: center;
  display: flex;
  gap: 16px;
  justify-content: space-between;
}

.woocommerce-account .woocommerce-Address-title h3,
.woocommerce-account .woocommerce-MyAccount-content h2 {
  font-size: clamp(2rem, 3.5vw, 3.3rem);
  margin: 0;
}

.woocommerce-account .woocommerce form .form-row label {
  color: var(--illu-kaki);
  font-size: 0.92rem;
  font-weight: 800;
}

.woocommerce-account .woocommerce form input.input-text,
.woocommerce-account .woocommerce form select,
.woocommerce-account .woocommerce form textarea {
  background: var(--illu-cream);
  border: 1px solid rgba(86, 74, 31, 0.35);
  border-radius: 5px;
  box-sizing: border-box;
  color: var(--illu-ink);
  font-size: 1rem;
  min-height: 48px;
  padding: 10px 12px;
}

.woocommerce-account .woocommerce button.button,
.woocommerce-account .woocommerce a.button,
.woocommerce-account .woocommerce input.button {
  background: var(--illu-kaki);
  border: 1px solid var(--illu-kaki);
  border-radius: 5px;
  color: var(--illu-cream);
  font-weight: 850;
  min-height: 46px;
  padding: 10px 16px;
}

.woocommerce-account .woocommerce button.button:hover,
.woocommerce-account .woocommerce button.button:focus-visible,
.woocommerce-account .woocommerce a.button:hover,
.woocommerce-account .woocommerce a.button:focus-visible,
.woocommerce-account .woocommerce input.button:hover,
.woocommerce-account .woocommerce input.button:focus-visible {
  background: var(--illu-terracotta);
  border-color: var(--illu-terracotta);
  color: var(--illu-white);
}

.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-info,
.woocommerce-account .woocommerce-error {
  background: rgba(255, 250, 240, 0.72);
  border: 1px solid rgba(86, 74, 31, 0.24);
  border-radius: var(--illu-radius);
  color: var(--illu-ink);
  margin: 0 0 24px;
  padding: 16px 18px;
}

.woocommerce-account #customer_login {
  display: grid;
  gap: 20px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.woocommerce-account #customer_login h2 {
  font-size: clamp(2.4rem, 4vw, 3.6rem);
}

.woocommerce-checkout .entry-title {
  box-sizing: border-box;
  margin-right: 0;
  padding-inline: 0;
  width: 100%;
}

.woocommerce-checkout .site-main {
  overflow-x: clip;
}

.woocommerce-checkout .chronopost-location-picker {
  background: rgba(255, 250, 240, 0.72) !important;
  border: 1px solid rgba(86, 74, 31, 0.34) !important;
  border-radius: var(--illu-radius) !important;
}

.woocommerce-checkout .chronopost-button--pickup {
  background: var(--illu-kaki) !important;
  border: 1px solid var(--illu-kaki) !important;
  border-radius: var(--illu-radius) !important;
  color: var(--illu-cream) !important;
  min-height: 48px;
}

.woocommerce-checkout .chronopost-button--pickup:hover,
.woocommerce-checkout .chronopost-button--pickup:focus-visible {
  background: var(--illu-terracotta) !important;
  border-color: var(--illu-terracotta) !important;
  color: var(--illu-white) !important;
}

body.woocommerce-checkout .wc-block-components-checkout-place-order-button {
  background: var(--illu-kaki) !important;
  border-color: var(--illu-kaki) !important;
  color: var(--illu-cream) !important;
}

body.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover,
body.woocommerce-checkout .wc-block-components-checkout-place-order-button:focus-visible {
  background: var(--illu-terracotta) !important;
  border-color: var(--illu-terracotta) !important;
  color: var(--illu-white) !important;
}

.woocommerce .woocommerce-breadcrumb {
  color: var(--illu-kaki-soft);
  font-size: 0.9rem;
  font-weight: 700;
  margin-bottom: 1rem;
}

.woocommerce .woocommerce-result-count {
  display: none;
}

.woocommerce .woocommerce-ordering {
  display: none;
}

.woocommerce ul.products {
  display: grid;
  gap: 28px;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
  content: none;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  background: rgba(255, 250, 240, 0.72);
  border: 1px solid rgba(86, 74, 31, 0.2);
  border-radius: var(--illu-radius);
  display: flex;
  flex-direction: column;
  float: none;
  margin: 0;
  overflow: hidden;
  padding: 0;
  width: auto;
}

.illu-shop-card-media {
  display: block;
  min-height: 280px;
  overflow: hidden;
  position: relative;
}

.woocommerce ul.products li.product .illu-shop-card-image {
  aspect-ratio: 4 / 3;
  background: var(--illu-sand);
  border-radius: 0;
  height: 100%;
  margin: 0;
  object-fit: cover;
  transition: transform 450ms ease;
  width: 100%;
}

.illu-shop-card:hover .illu-shop-card-image {
  transform: scale(1.025);
}

.illu-shop-card-media .onsale {
  left: 20px;
  margin: 0;
  position: absolute;
  right: auto;
  top: 20px;
  z-index: 2;
}

.illu-shop-card-info {
  align-items: flex-start;
  display: flex;
  flex: 1;
  flex-direction: column;
  justify-content: center;
  padding: clamp(26px, 4vw, 52px);
}

.illu-shop-card-eyebrow {
  color: var(--illu-terracotta);
  font-size: 0.78rem;
  font-weight: 800;
  margin: 0 0 0.7rem;
  text-transform: uppercase;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  color: var(--illu-kaki);
  font-family: "Londrina Solid", Impact, sans-serif;
  font-size: clamp(2.35rem, 4vw, 4.2rem);
  font-weight: 900;
  letter-spacing: 0;
  line-height: 0.98;
  margin: 0;
  padding: 0;
  text-transform: uppercase;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title a {
  color: inherit;
  text-decoration: none;
}

.illu-shop-card-description {
  color: var(--illu-ink);
  font-size: 1.02rem;
  line-height: 1.5;
  margin: 1.15rem 0 0;
  max-width: 42ch;
}

.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  color: var(--illu-terracotta);
  font-weight: 800;
}

.woocommerce ul.products li.product .price {
  display: block;
  margin: 1.4rem 0 0;
}

.illu-loop-start-price {
  align-items: baseline;
  color: var(--illu-kaki);
  display: flex;
  flex-wrap: wrap;
  gap: 0.18rem 0.35rem;
}

.illu-loop-start-price-label {
  font-size: 0.92rem;
  font-weight: 700;
}

.illu-loop-start-price strong {
  color: var(--illu-terracotta);
  font-size: 1.55rem;
  line-height: 1;
}

.illu-loop-start-price small {
  color: var(--illu-kaki-soft);
  font-size: 0.76rem;
  font-weight: 800;
  text-transform: uppercase;
}

.woocommerce ul.products li.product .illu-shop-card-button {
  align-items: center;
  align-self: flex-start;
  background: var(--illu-kaki);
  border: 1px solid var(--illu-kaki);
  border-radius: 4px;
  box-sizing: border-box;
  color: var(--illu-cream);
  display: inline-flex;
  font-size: 0.95rem;
  font-weight: 800;
  justify-content: center;
  margin-top: 1.55rem;
  min-height: 48px;
  padding: 0.75rem 1.25rem;
  text-decoration: none;
  transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease;
}

.woocommerce ul.products li.product .illu-shop-card-button:hover,
.woocommerce ul.products li.product .illu-shop-card-button:focus-visible {
  background: var(--illu-terracotta);
  border-color: var(--illu-terracotta);
  color: var(--illu-white);
}

body.woocommerce-shop ul.products {
  gap: clamp(28px, 4vw, 48px);
  grid-template-columns: minmax(0, 1fr);
}

body.woocommerce-shop ul.products li.illu-shop-card {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(320px, 0.88fr);
  min-height: 470px;
}

body.woocommerce-shop ul.products li.illu-shop-card:nth-child(even) {
  grid-template-columns: minmax(320px, 0.88fr) minmax(0, 1.12fr);
}

body.woocommerce-shop ul.products li.illu-shop-card:nth-child(even) .illu-shop-card-media {
  order: 2;
}

body.woocommerce-shop ul.products li.illu-shop-card:nth-child(even) .illu-shop-card-info {
  order: 1;
}

@media (max-width: 760px) {
  body.woocommerce-shop ul.products li.illu-shop-card,
  body.woocommerce-shop ul.products li.illu-shop-card:nth-child(even) {
    display: flex;
    margin: 0 !important;
    min-height: 0;
    width: 100% !important;
  }

  body.woocommerce-shop ul.products li.illu-shop-card:nth-child(even) .illu-shop-card-media,
  body.woocommerce-shop ul.products li.illu-shop-card:nth-child(even) .illu-shop-card-info {
    order: initial;
  }

  .illu-shop-card-media {
    min-height: 0;
  }

  .woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size: clamp(2.2rem, 11vw, 3rem);
  }

  .woocommerce ul.products li.product .illu-shop-card-button {
    line-height: 1.2;
  }
}

/* Reusable editorial product presentation. */
html body.illu-product-presentation-page main#content.site-main {
  margin: 0 !important;
  max-width: none !important;
  padding: 0 !important;
  width: 100% !important;
}

.illu-product-presentation {
  background: var(--illu-cream);
  overflow: clip;
}

.illu-presentation-hero {
  background: var(--illu-terracotta);
  display: grid;
  grid-template-columns: minmax(340px, 2fr) minmax(0, 3fr);
  min-height: calc(100svh - 69px);
}

.illu-presentation-hero-copy {
  align-content: center;
  color: var(--illu-white);
  display: grid;
  padding: clamp(48px, 7vw, 110px) clamp(28px, 6vw, 92px);
}

.illu-presentation-hero-copy .illu-pe-eyebrow {
  color: var(--illu-sand);
}

html body.illu-product-presentation-page main:is(#main, #content) .illu-presentation-hero-copy h1 {
  color: var(--illu-white);
  font-size: clamp(48px, 5.8vw, 88px) !important;
  line-height: 0.9;
  margin: 0;
  max-width: 8ch;
  text-transform: uppercase;
  text-wrap: balance;
}

.illu-presentation-intro {
  margin-top: clamp(24px, 3vw, 42px);
  max-width: 44ch;
}

html body.illu-product-presentation-page .illu-presentation-intro p {
  color: var(--illu-white);
  font-size: clamp(17px, 1.35vw, 21px) !important;
  line-height: 1.5;
  margin: 0;
}

.illu-presentation-primary-link {
  align-items: center;
  border-bottom: 2px solid currentColor;
  color: var(--illu-white);
  display: inline-flex;
  font-weight: 700;
  gap: 16px;
  justify-self: start;
  margin-top: 32px;
  padding-bottom: 7px;
  text-decoration: none;
}

.illu-presentation-primary-link:hover,
.illu-presentation-primary-link:focus-visible {
  color: var(--illu-sand);
}

.illu-presentation-expo-slider,
.illu-presentation-hero-image {
  height: calc(100svh - 69px);
  margin: 0;
  min-height: 620px;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.illu-presentation-expo-slider .illu-shelf-expo-slide {
  box-sizing: border-box;
  margin: 0;
  transform-style: preserve-3d;
}

.illu-presentation-expo-slider .illu-shelf-expo-frame {
  background: var(--illu-white);
  height: 100%;
  margin-inline: auto;
  overflow: hidden;
  position: relative;
  transform-style: preserve-3d;
  width: 100%;
}

[data-illu-shelf-expo] .swiper-slide .illu-shelf-expo-frame {
  margin-inline: auto;
  width: 100%;
}

[data-illu-shelf-expo] .swiper-slide-active .illu-shelf-expo-image {
  filter: grayscale(0);
}

[data-illu-shelf-expo] .swiper-slide:not(.swiper-slide-active) .illu-shelf-expo-image {
  filter: grayscale(1);
}

.illu-presentation-expo-slider .illu-shelf-expo-image,
.illu-presentation-hero-image img {
  display: block;
  height: 126%;
  left: 0;
  max-width: none;
  object-fit: cover;
  position: absolute;
  top: -13%;
  transition-property: filter, transform;
  width: 100%;
  will-change: filter, transform;
}

.illu-product-presentation[data-illu-product-id="206"] .illu-presentation-hero-image img {
  background: var(--illu-white);
  height: 100%;
  object-fit: contain;
  padding: clamp(24px, 5vw, 72px);
  top: 0;
}

.illu-product-presentation[data-illu-product-id="206"] .illu-presentation-expo-slider .illu-shelf-expo-frame {
  background: var(--illu-white);
}

.illu-product-presentation[data-illu-product-id="206"] .illu-presentation-expo-slider .illu-shelf-expo-image {
  background: var(--illu-white);
  height: 100%;
  object-fit: contain;
  top: 0;
}

.illu-product-presentation[data-illu-product-id="206"] .illu-presentation-expo-slider .is-slide-1 .illu-shelf-expo-image {
  padding: clamp(20px, 4vw, 56px);
}

.illu-product-presentation[data-illu-product-id="206"] .illu-presentation-expo-slider .is-slide-2 .illu-shelf-expo-image {
  object-position: center top;
  scale: 1.55;
  transform-origin: center top;
}

.illu-product-presentation[data-illu-product-id="206"] .illu-presentation-expo-slider .is-slide-3 .illu-shelf-expo-image {
  object-position: center bottom;
  scale: 1.55;
  transform-origin: center bottom;
}

.illu-presentation-expo-slider .illu-shelf-expo-pagination {
  display: flex;
  flex-direction: column;
  gap: 8px;
  left: 18px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: auto;
  z-index: 5;
}

.illu-presentation-expo-slider .swiper-pagination-bullet {
  background: var(--illu-white);
  border: 1px solid rgba(86, 74, 31, 0.42);
  height: 8px;
  margin: 0;
  opacity: 0.72;
  transition: height 220ms ease, opacity 220ms ease;
  width: 8px;
}

.illu-presentation-expo-slider .swiper-pagination-bullet-active {
  background: var(--illu-terracotta);
  border-color: var(--illu-terracotta);
  height: 28px;
  opacity: 1;
}

.illu-presentation-expo-slider .illu-shelf-expo-navigation {
  bottom: 18px;
  display: flex;
  gap: 8px;
  position: absolute;
  right: 18px;
  z-index: 5;
}

.illu-presentation-expo-slider :is(.illu-shelf-expo-prev, .illu-shelf-expo-next) {
  align-items: center;
  backdrop-filter: blur(8px);
  background: rgba(240, 235, 214, 0.86);
  border: 1px solid rgba(86, 74, 31, 0.25);
  border-radius: 50%;
  color: var(--illu-kaki);
  cursor: pointer;
  display: inline-flex;
  font-size: 20px;
  height: 46px;
  justify-content: center;
  padding: 0;
  width: 46px;
}

.illu-presentation-expo-slider :is(.illu-shelf-expo-prev, .illu-shelf-expo-next):is(:hover, :focus-visible) {
  background: var(--illu-terracotta);
  color: var(--illu-white);
}

.illu-product-subnav {
  background: rgba(240, 235, 214, 0.94);
  backdrop-filter: blur(14px) saturate(115%);
  border-bottom: 1px solid rgba(86, 74, 31, 0.15);
  left: 0;
  opacity: 0;
  pointer-events: none;
  position: fixed;
  right: 0;
  top: 0;
  transform: translateY(-105%);
  transition: opacity 220ms ease, transform 300ms cubic-bezier(0.22, 1, 0.36, 1);
  z-index: 999;
}

body.admin-bar .illu-product-subnav {
  top: 32px;
}

.illu-product-subnav.is-visible {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.illu-product-subnav-inner {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin-inline: auto;
  max-width: 1600px;
  min-height: 58px;
  padding: 0 clamp(20px, 5vw, 72px);
}

.illu-product-subnav a {
  color: var(--illu-kaki);
  text-decoration: none;
}

.illu-product-subnav-name {
  font-family: var(--illu-type-heading);
  font-size: 18px;
  font-weight: 900;
  text-transform: uppercase;
}

.illu-product-subnav-links {
  align-items: center;
  display: flex;
  gap: clamp(18px, 3vw, 42px);
}

.illu-product-subnav-links a {
  font-size: 15px;
  font-weight: 650;
}

.illu-product-subnav-links a:not(.illu-product-subnav-buy):hover,
.illu-product-subnav-links a:not(.illu-product-subnav-buy):focus-visible,
.illu-product-subnav-links a.is-active {
  color: var(--illu-terracotta);
}

.illu-product-subnav-buy {
  background: var(--illu-terracotta);
  color: var(--illu-white) !important;
  display: inline-flex;
  padding: 9px 18px;
}

.illu-product-subnav-buy:hover,
.illu-product-subnav-buy:focus-visible {
  background: var(--illu-kaki);
}

.illu-presentation-section {
  padding: clamp(72px, 9vw, 132px) clamp(20px, 5vw, 72px);
  scroll-margin-top: 72px;
}

.illu-presentation-section-header,
.illu-presentation-highlight-grid,
.illu-presentation-detail-list,
.illu-presentation-spec-grid,
.illu-presentation-technical {
  margin-inline: auto;
  max-width: 1456px;
}

.illu-presentation-section-header {
  margin-bottom: clamp(40px, 6vw, 80px);
}

html body.illu-product-presentation-page main:is(#main, #content) .illu-presentation-section-header h2 {
  font-size: clamp(48px, 6vw, 82px) !important;
  line-height: 0.9;
  margin: 0;
  text-transform: uppercase;
}

.illu-presentation-characteristics {
  background: var(--illu-kaki);
}

.illu-presentation-characteristics .illu-presentation-section-header :is(.illu-pe-eyebrow, h2) {
  color: var(--illu-white);
}

.illu-presentation-highlight-grid {
  display: grid;
  gap: clamp(16px, 2vw, 28px);
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.illu-presentation-highlight-card {
  background: var(--illu-cream);
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.illu-presentation-highlight-card figure {
  aspect-ratio: 4 / 3;
  margin: 0;
  overflow: hidden;
}

.illu-presentation-highlight-card img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.illu-product-presentation[data-illu-product-id="206"] .illu-presentation-highlight-card:first-child img {
  object-fit: contain;
  padding: 12px;
}

.illu-product-presentation[data-illu-product-id="206"] .illu-presentation-highlight-card:nth-child(2) img {
  object-position: center top;
  transform: scale(1.38);
  transform-origin: center top;
}

.illu-product-presentation[data-illu-product-id="206"] .illu-presentation-highlight-card:nth-child(3) img {
  object-position: center bottom;
  transform: scale(1.38);
  transform-origin: center bottom;
}

.illu-product-presentation[data-illu-product-id="206"] .illu-presentation-detail img {
  background: var(--illu-white);
  object-fit: contain;
  padding: clamp(14px, 2vw, 28px);
}

.illu-presentation-highlight-card > div {
  padding: clamp(22px, 3vw, 38px);
}

html body.illu-product-presentation-page main:is(#main, #content) .illu-presentation-highlight-card h3 {
  color: var(--illu-kaki);
  font-size: clamp(26px, 2.4vw, 38px) !important;
  line-height: 0.95;
  margin: 0 0 16px;
  text-transform: uppercase;
}

html body.illu-product-presentation-page .illu-presentation-highlight-card p {
  color: var(--illu-ink);
  font-size: 17px !important;
  line-height: 1.5;
  margin: 0;
}

.illu-presentation-detail-list {
  display: grid;
  gap: clamp(44px, 7vw, 104px);
  margin-top: clamp(72px, 10vw, 148px);
}

.illu-presentation-detail {
  align-items: center;
  display: grid;
  gap: clamp(32px, 6vw, 90px);
  grid-template-columns: minmax(0, 1.18fr) minmax(280px, 0.82fr);
}

.illu-presentation-detail.is-reversed {
  grid-template-columns: minmax(280px, 0.82fr) minmax(0, 1.18fr);
}

.illu-presentation-detail.is-reversed figure {
  grid-column: 2;
}

.illu-presentation-detail.is-reversed > div {
  grid-column: 1;
  grid-row: 1;
}

.illu-presentation-detail figure {
  aspect-ratio: 4 / 3;
  margin: 0;
  overflow: hidden;
}

.illu-presentation-detail img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.illu-presentation-detail > div > span {
  color: var(--illu-sand);
  display: block;
  font-size: 14px;
  font-weight: 800;
  margin-bottom: 12px;
}

html body.illu-product-presentation-page main:is(#main, #content) .illu-presentation-detail h3 {
  color: var(--illu-white);
  font-size: clamp(34px, 4vw, 58px) !important;
  line-height: 0.95;
  margin: 0 0 20px;
  text-transform: uppercase;
}

html body.illu-product-presentation-page .illu-presentation-detail p {
  color: var(--illu-white);
  font-size: clamp(17px, 1.5vw, 21px) !important;
  line-height: 1.55;
  margin: 0;
  max-width: 42ch;
}

.illu-presentation-dimensions {
  background: var(--illu-sand);
  color: var(--illu-ink);
  padding-block: clamp(54px, 6vw, 82px);
}

.illu-presentation-dimensions .illu-presentation-section-header :is(.illu-pe-eyebrow, h2) {
  color: var(--illu-kaki);
}

.illu-presentation-dimensions .illu-presentation-section-header {
  border-bottom: 1px solid rgba(39, 39, 38, 0.24);
  margin-bottom: 0;
  max-width: 1200px;
  padding-bottom: 24px;
}

html body.illu-product-presentation-page main:is(#main, #content) .illu-presentation-dimensions .illu-presentation-section-header h2 {
  font-family: var(--illu-type-body) !important;
  font-size: clamp(28px, 2.8vw, 40px) !important;
  font-weight: 650;
  letter-spacing: -0.02em;
  line-height: 1.08;
  text-transform: none;
}

.illu-presentation-dimensions .illu-presentation-section-header .illu-pe-eyebrow {
  font-size: 12px !important;
  margin-bottom: 10px;
}

.illu-presentation-spec-grid {
  border-bottom: 1px solid rgba(39, 39, 38, 0.24);
  column-gap: clamp(22px, 4vw, 64px);
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: clamp(38px, 5vw, 60px);
  max-width: 1200px;
}

.illu-presentation-spec-grid > div {
  padding: 22px 0 24px;
}

.illu-presentation-spec-grid dt {
  color: rgba(39, 39, 38, 0.66);
  font-size: 12px !important;
  font-weight: 650;
  letter-spacing: 0;
  text-transform: none;
}

.illu-presentation-spec-grid dd {
  color: var(--illu-kaki);
  font-family: var(--illu-type-body);
  font-size: clamp(16px, 1.45vw, 20px) !important;
  font-weight: 450;
  line-height: 1.28;
  margin: 8px 0 0;
  text-transform: none;
}

.illu-presentation-technical {
  background: rgba(255, 250, 240, 0.38);
  max-width: 840px;
  padding: clamp(22px, 4vw, 48px);
}

.illu-presentation-technical svg {
  display: block;
  height: auto;
  margin-inline: auto;
  max-height: 420px;
  max-width: 720px;
  width: 100%;
}

.illu-presentation-technical figcaption {
  color: rgba(39, 39, 38, 0.62);
  margin-top: 22px;
  text-align: center;
}

.illu-presentation-buy {
  align-items: center;
  background: var(--illu-terracotta);
  color: var(--illu-white);
  display: flex;
  gap: 42px;
  justify-content: space-between;
  padding: clamp(64px, 8vw, 118px) clamp(20px, 7vw, 104px);
}

.illu-presentation-buy > div {
  max-width: 760px;
}

.illu-presentation-buy .illu-pe-eyebrow {
  color: var(--illu-sand);
}

html body.illu-product-presentation-page main:is(#main, #content) .illu-presentation-buy h2 {
  color: var(--illu-white);
  font-size: clamp(44px, 5vw, 72px) !important;
  line-height: 0.92;
  margin: 0 0 20px;
  text-transform: uppercase;
}

html body.illu-product-presentation-page .illu-presentation-buy p:not(.illu-pe-eyebrow) {
  color: var(--illu-white);
  font-size: 18px !important;
  line-height: 1.5;
  margin: 0;
}

.illu-presentation-buy > a {
  background: var(--illu-white);
  color: var(--illu-terracotta);
  display: inline-flex;
  flex: 0 0 auto;
  font-weight: 800;
  gap: 24px;
  padding: 18px 24px;
  text-decoration: none;
}

.illu-presentation-buy > a:hover,
.illu-presentation-buy > a:focus-visible {
  background: var(--illu-kaki);
  color: var(--illu-white);
}

.illu-presentation-missing {
  margin: 80px auto;
  max-width: 900px;
  padding: 0 24px;
}

@media (max-width: 900px) {
  .illu-presentation-hero {
    grid-template-columns: minmax(0, 1fr);
  }

  .illu-presentation-hero-copy {
    min-height: 56svh;
  }

  .illu-presentation-expo-slider,
  .illu-presentation-hero-image {
    height: 78svh;
    min-height: 560px;
  }

  .illu-presentation-highlight-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .illu-presentation-highlight-card {
    display: grid;
    grid-template-columns: minmax(220px, 0.85fr) minmax(0, 1.15fr);
  }

  .illu-presentation-highlight-card figure {
    aspect-ratio: auto;
  }

  .illu-presentation-detail,
  .illu-presentation-detail.is-reversed {
    gap: 28px;
    grid-template-columns: minmax(0, 1fr);
  }

  .illu-presentation-detail.is-reversed figure,
  .illu-presentation-detail.is-reversed > div {
    grid-column: 1;
  }

  .illu-presentation-detail.is-reversed figure {
    grid-row: 1;
  }

  .illu-presentation-detail.is-reversed > div {
    grid-row: 2;
  }

  .illu-presentation-spec-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .illu-presentation-spec-grid > div {
    border-bottom: 1px solid rgba(39, 39, 38, 0.18);
  }
}

@media (max-width: 600px) {
  body.admin-bar .illu-product-subnav {
    top: 46px;
  }

  .illu-product-subnav-inner {
    gap: 12px;
    min-height: 54px;
    padding-inline: 14px;
  }

  .illu-product-subnav-name {
    max-width: 34%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .illu-product-subnav-links {
    gap: 12px;
  }

  .illu-product-subnav-links a {
    font-size: 12px;
  }

  .illu-product-subnav-buy {
    padding: 8px 10px;
  }

  .illu-presentation-hero-copy {
    min-height: 62svh;
    padding: 44px 20px;
  }

  html body.illu-product-presentation-page main:is(#main, #content) .illu-presentation-hero-copy h1 {
    font-size: clamp(42px, 14vw, 62px) !important;
  }

  .illu-presentation-expo-slider,
  .illu-presentation-hero-image {
    height: 72svh;
    min-height: 520px;
  }

  .illu-presentation-section {
    padding-inline: 20px;
  }

  .illu-presentation-highlight-card {
    grid-template-columns: minmax(0, 1fr);
  }

  .illu-presentation-highlight-card figure {
    aspect-ratio: 4 / 3;
  }

  .illu-presentation-spec-grid {
    border-bottom: 0;
    grid-template-columns: minmax(0, 1fr);
  }

  .illu-presentation-spec-grid > div {
    padding-block: 18px;
  }

  .illu-presentation-buy {
    align-items: stretch;
    flex-direction: column;
  }

  .illu-presentation-buy > a {
    justify-content: space-between;
  }
}

.woocommerce span.onsale {
  align-items: center;
  background: var(--illu-kaki);
  border: 1px solid rgba(255, 250, 240, 0.55);
  border-radius: 4px;
  color: var(--illu-cream);
  display: inline-flex;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1;
  min-height: 0;
  min-width: 0;
  padding: 0.55rem 0.7rem;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  background: var(--illu-white);
  border-top-color: var(--illu-kaki);
  color: var(--illu-ink);
}

.woocommerce-no-products-found .woocommerce-info {
  border: 1px solid rgba(86, 74, 31, 0.22);
  border-top: 4px solid var(--illu-kaki);
  border-radius: var(--illu-radius);
  font-size: 1.05rem;
}

.woocommerce div.product div.images img {
  border-radius: var(--illu-radius);
}

.woocommerce div.product .summary {
  color: var(--illu-ink);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
  border-color: rgba(86, 74, 31, 0.22);
  border-radius: 8px 8px 0 0;
}

body.woocommerce.single-product.illu-editorial-product .site-main {
  max-width: none;
  padding: 0;
  width: 100%;
}

body.woocommerce.single-product.illu-editorial-product .woocommerce-breadcrumb {
  margin-inline: auto;
  max-width: 1440px;
  padding: 28px clamp(20px, 5vw, 72px) 0;
}

body.woocommerce.single-product.illu-editorial-product .site-main > div.product {
  box-sizing: border-box;
  display: grid;
  gap: clamp(32px, 5vw, 80px);
  grid-template-columns: minmax(0, 1.2fr) minmax(360px, 0.8fr);
  margin-inline: auto;
  max-width: 1440px;
  padding: clamp(24px, 5vw, 70px) clamp(20px, 5vw, 72px);
  width: 100%;
}

body.woocommerce.single-product.illu-editorial-product div.product > div.images.woocommerce-product-gallery {
  background: rgba(255, 250, 240, 0.52);
  border-radius: 8px;
  box-sizing: border-box;
  float: none;
  margin: 0;
  opacity: 1 !important;
  width: 100%;
}

body.woocommerce.single-product.illu-editorial-product div.product div.images .woocommerce-product-gallery__image img {
  aspect-ratio: 4 / 5;
  background: var(--illu-sand);
  border-radius: 8px;
  object-fit: cover;
  width: 100%;
}

body.woocommerce.single-product.illu-editorial-product div.product > .summary {
  align-self: start;
  background: transparent;
  box-sizing: border-box;
  float: none;
  margin: 0;
  padding: clamp(8px, 2vw, 24px) 0;
  position: static;
  width: 100%;
}

.illu-product-kicker {
  color: var(--illu-terracotta);
  font-size: 0.88rem;
  font-weight: 900;
  margin: 0 0 0.8rem;
  text-transform: uppercase;
}

body.woocommerce.single-product.illu-editorial-product .product_title {
  font-size: clamp(3rem, 5vw, 5.2rem);
  hyphens: auto;
  line-height: 0.92;
  margin: 0 0 1rem;
  overflow-wrap: normal;
  text-wrap: balance;
  word-break: normal;
}

.illu-editorial-product .woocommerce-product-details__short-description {
  color: var(--illu-ink);
  font-size: clamp(1.08rem, 1.7vw, 1.32rem);
  font-weight: 650;
  line-height: 1.38;
  margin-bottom: 1.2rem;
}

.illu-editorial-product div.product p.price {
  font-size: clamp(1.6rem, 3vw, 2.4rem);
  margin: 0 0 1.2rem;
}

.illu-editorial-product .quantity .qty {
  border: 1px solid rgba(86, 74, 31, 0.3);
  border-radius: 8px;
  min-height: 44px;
}

.illu-editorial-product .product_meta {
  border-top: 1px solid rgba(86, 74, 31, 0.18);
  color: var(--illu-kaki-soft);
  font-size: 0.9rem;
  margin-top: 1.4rem;
  padding-top: 1rem;
}

body.woocommerce.single-product.illu-editorial-product .illu-product-story {
  grid-column: 1 / -1;
  margin-top: clamp(20px, 4vw, 48px);
  min-width: 0;
}

.illu-story-section {
  border-top: 1px solid rgba(86, 74, 31, 0.18);
  padding: clamp(48px, 8vw, 110px) 0;
}

.illu-story-section h2 {
  font-size: clamp(3.3rem, 9vw, 8rem);
  margin: 0 0 1.1rem;
  max-width: 9ch;
}

.illu-story-section h3 {
  font-family: "Source Sans 3", system-ui, sans-serif;
  font-size: clamp(1.4rem, 3vw, 2.1rem);
  font-weight: 900;
  line-height: 1.08;
  margin: 0 0 0.65rem;
  text-transform: none;
}

.illu-story-section p {
  color: var(--illu-ink);
  font-size: clamp(1.05rem, 1.6vw, 1.28rem);
  max-width: 760px;
}

.illu-feature-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 2rem;
}

.illu-feature-card {
  background: rgba(255, 250, 240, 0.56);
  border: 1px solid rgba(86, 74, 31, 0.18);
  border-radius: 8px;
  padding: clamp(18px, 3vw, 30px);
}

.illu-feature-card strong {
  color: var(--illu-kaki);
  display: block;
  font-size: clamp(1.25rem, 2.4vw, 1.8rem);
  font-weight: 900;
  line-height: 1.06;
  margin-bottom: 0.55rem;
}

.illu-photo-band {
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(0, 1.25fr) minmax(260px, 0.75fr);
}

.illu-photo-band img,
.illu-full-photo img {
  border-radius: 8px;
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.illu-photo-band img {
  aspect-ratio: 4 / 5;
}

.illu-full-photo {
  margin-top: 2rem;
}

.illu-full-photo img {
  aspect-ratio: 16 / 10;
}

.illu-specs {
  display: grid;
  gap: 1px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 2rem;
}

.illu-specs div {
  background: rgba(255, 250, 240, 0.56);
  border: 1px solid rgba(86, 74, 31, 0.18);
  border-radius: 8px;
  min-height: 118px;
  padding: 18px;
}

.illu-specs span {
  color: var(--illu-kaki-soft);
  display: block;
  font-size: 0.88rem;
  font-weight: 900;
  margin-bottom: 0.5rem;
  text-transform: uppercase;
}

.illu-specs strong {
  color: var(--illu-kaki);
  display: block;
  font-size: clamp(1.2rem, 2.6vw, 2rem);
  line-height: 1.02;
}

@media (max-width: 780px) {
  body {
    font-size: 16px;
    padding-top: 72px;
  }

  .site-header {
    left: 0;
    position: fixed;
    right: 0;
    top: 0;
    width: 100%;
  }

  .site-header .header-inner {
    min-height: 72px;
  }

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

  .custom-logo {
    max-height: 54px;
  }

  .site-header .site-navigation-dropdown {
    max-height: none;
    overflow: visible;
  }

  .site-header .site-navigation-toggle-holder.elementor-active + .site-navigation-dropdown {
    transform: none;
  }

  .site-header .site-navigation-toggle-holder.elementor-active + .site-navigation-dropdown > ul.menu {
    bottom: auto;
    height: calc(100dvh - 72px);
    max-height: calc(100dvh - 72px);
    overflow-y: auto;
    overscroll-behavior: contain;
    position: fixed;
    top: 72px;
  }

  .admin-bar .site-header .site-navigation-toggle-holder.elementor-active + .site-navigation-dropdown > ul.menu {
    height: calc(100dvh - 118px);
    max-height: calc(100dvh - 118px);
    top: 118px;
  }

  .site-header .site-navigation-dropdown .illu-has-mega-menu {
    width: 100%;
  }

  .site-header .site-navigation-dropdown .illu-creations-trigger {
    justify-content: space-between;
    padding: 14px 20px;
    width: 100%;
  }

  .site-header .site-navigation-dropdown .illu-mega-menu {
    border-bottom: 0;
    border-top: 1px solid rgba(86, 74, 31, 0.14);
    box-sizing: border-box;
    box-shadow: none;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    padding: 0 20px;
    pointer-events: none;
    position: static;
    transform: none;
    transition: max-height 260ms ease, opacity 180ms ease, padding 260ms ease, visibility 260ms;
    visibility: hidden;
    width: 100%;
  }

  .site-header .site-navigation-dropdown .illu-has-mega-menu:not(.is-open) > .illu-mega-menu {
    max-height: 0;
    opacity: 0;
    padding-bottom: 0;
    padding-top: 0;
    pointer-events: none;
    visibility: hidden;
  }

  .site-header .site-navigation-dropdown .illu-has-mega-menu.is-open > .illu-mega-menu {
    max-height: 1100px;
    opacity: 1;
    padding-bottom: 24px;
    padding-top: 22px;
    pointer-events: auto;
    visibility: visible;
  }

  .site-navigation-dropdown .illu-mega-menu-inner,
  .site-navigation-dropdown .illu-mega-columns {
    box-sizing: border-box;
    gap: 22px;
    grid-template-columns: 1fr;
    min-width: 0;
    width: 100%;
  }

  .site-navigation-dropdown .illu-mega-intro {
    max-width: none;
  }

  .site-navigation-dropdown .illu-mega-intro p {
    font-size: 1.65rem;
    max-width: 15ch;
  }

  .site-navigation-dropdown .illu-mega-column {
    border-left: 0;
    border-top: 1px solid rgba(86, 74, 31, 0.16);
    padding: 18px 0 0;
  }

  .site-navigation-dropdown .illu-mega-column:first-child {
    border-top: 0;
    padding-top: 0;
  }

  .site-header .site-navigation-dropdown .illu-mega-column li {
    max-height: none;
    transform: none;
    transition: none;
  }

  .site-header .site-navigation-dropdown .illu-mega-column a,
  .site-header .site-navigation-dropdown .illu-coming-soon {
    background: transparent;
  }

  .illu-home-hero {
    align-items: end;
    background-position: 62% center;
    grid-template-columns: 1fr;
    min-height: calc(100svh - 106px);
    padding: 48px 20px 38px;
  }

  .illu-home-hero > div:first-child,
  .illu-home-hero > .illu-mark {
    transform: translateY(-56px);
  }

  .admin-bar .illu-home-hero {
    min-height: calc(100svh - 152px);
  }

  .illu-home-hero h1 {
    font-size: clamp(4rem, 23vw, 6.2rem);
  }

  .illu-home-hero .illu-mark {
    justify-self: end;
    max-width: 140px;
  }

  .illu-values {
    grid-template-columns: 1fr;
  }

  #collections .wp-block-buttons {
    align-items: stretch;
    flex-direction: column;
  }

  #collections .wp-block-button,
  #collections .wp-block-button__link {
    box-sizing: border-box;
    width: 100%;
  }

  body.woocommerce.single-product.illu-editorial-product .site-main > div.product {
    grid-template-columns: 1fr;
    padding-top: 24px;
  }

  body.woocommerce.single-product.illu-editorial-product .product_title {
    font-size: clamp(2.8rem, 16vw, 4.6rem);
  }

  .illu-photo-band,
  .illu-feature-grid,
  .illu-specs {
    grid-template-columns: 1fr;
  }

  .illu-story-section h2 {
    max-width: none;
  }
}

/* Clear three-line hamburger on mobile and tablet; it becomes a cross when open. */
@media (max-width: 960px) {
  .site-header .site-navigation-toggle-icon {
    background: linear-gradient(
      to bottom,
      currentColor 0 2px,
      transparent 2px 8px,
      currentColor 8px 10px,
      transparent 10px 16px,
      currentColor 16px 18px
    );
    height: 18px;
    position: relative;
    width: 24px;
  }

  .site-header .site-navigation-toggle-icon::before,
  .site-header .site-navigation-toggle-icon::after {
    background: currentColor;
    box-shadow: none;
    height: 2px;
    left: 0;
    margin: 0;
    opacity: 0;
    position: absolute;
    top: 8px;
    transform: none;
    width: 100%;
  }

  .site-header .site-navigation-toggle[aria-expanded="true"] .site-navigation-toggle-icon {
    background: none;
  }

  .site-header .site-navigation-toggle[aria-expanded="true"] .site-navigation-toggle-icon::before {
    opacity: 1;
    transform: rotate(45deg);
  }

  .site-header .site-navigation-toggle[aria-expanded="true"] .site-navigation-toggle-icon::after {
    opacity: 1;
    transform: rotate(-45deg);
  }
}

/* Tablet navigation uses the hamburger from the parent theme up to 960px.
 * Mirror the mobile dropdown mechanics in that intermediate range. */
@media (min-width: 781px) and (max-width: 960px) {
  .site-header .site-navigation-dropdown {
    max-height: none;
    overflow: visible;
  }

  .site-header .site-navigation-toggle-holder.elementor-active + .site-navigation-dropdown {
    transform: none;
  }

  .site-header .site-navigation-toggle-holder.elementor-active + .site-navigation-dropdown > ul.menu {
    background: var(--illu-cream) !important;
    bottom: auto;
    height: calc(100dvh - 72px);
    left: 0;
    max-height: calc(100dvh - 72px);
    overflow-y: auto;
    overscroll-behavior: contain;
    position: fixed;
    right: 0;
    top: 72px;
  }

  .admin-bar .site-header .site-navigation-toggle-holder.elementor-active + .site-navigation-dropdown > ul.menu {
    height: calc(100dvh - 104px);
    max-height: calc(100dvh - 104px);
    top: 104px;
  }

  .site-header .site-navigation-dropdown > ul.menu > li,
  .site-header .site-navigation-dropdown > ul.menu > li > a,
  .site-header .site-navigation-dropdown .illu-creations-trigger {
    background: var(--illu-cream) !important;
  }

  .site-header .site-navigation-dropdown .illu-has-mega-menu {
    width: 100%;
  }

  .site-header .site-navigation-dropdown .illu-creations-trigger {
    justify-content: space-between;
    padding: 14px 20px;
    width: 100%;
  }

  .site-header .site-navigation-dropdown .illu-mega-menu {
    border-bottom: 0;
    border-top: 1px solid rgba(86, 74, 31, 0.14);
    box-shadow: none;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    padding: 0 20px;
    pointer-events: none;
    position: static;
    transform: none;
    transition: max-height 260ms ease, opacity 180ms ease, padding 260ms ease, visibility 260ms;
    visibility: hidden;
    width: 100%;
  }

  .site-header .site-navigation-dropdown .illu-has-mega-menu.is-open > .illu-mega-menu {
    max-height: 1100px;
    opacity: 1;
    padding-bottom: 24px;
    padding-top: 22px;
    pointer-events: auto;
    visibility: visible;
  }

  .site-navigation-dropdown .illu-mega-menu-inner,
  .site-navigation-dropdown .illu-mega-columns {
    gap: 22px;
    grid-template-columns: 1fr;
    min-width: 0;
    width: 100%;
  }

  .site-navigation-dropdown .illu-mega-intro {
    max-width: none;
  }

  .site-navigation-dropdown .illu-mega-column {
    border-left: 0;
    border-top: 1px solid rgba(86, 74, 31, 0.16);
    padding: 18px 0 0;
  }

  .site-navigation-dropdown .illu-mega-column:first-child {
    border-top: 0;
    padding-top: 0;
  }

  .site-header .site-navigation-dropdown .illu-mega-column a,
  .site-header .site-navigation-dropdown .illu-coming-soon {
    background: transparent !important;
  }
}

/* Navigation globale crème translucide, masquée au défilement. */
body.home {
  padding-top: 0 !important;
}

body:not(.home) {
  padding-top: 69px !important;
}

body.admin-bar:not(.home) {
  padding-top: 69px !important;
}

#site-header.site-header {
  background: rgba(240, 235, 214, 0.5) !important;
  background: color-mix(in srgb, var(--illu-cream) 50%, transparent) !important;
  -webkit-backdrop-filter: blur(14px) saturate(115%);
  backdrop-filter: blur(14px) saturate(115%);
  border-bottom-color: transparent !important;
  box-shadow: none !important;
  color: var(--illu-kaki);
  left: 0;
  position: fixed !important;
  right: 0;
  top: 0 !important;
  transform: translateY(0);
  transition: opacity 240ms ease, transform 320ms cubic-bezier(0.22, 1, 0.36, 1);
  width: 100%;
  z-index: 1000;
}

body.home #site-header.site-header {
  background: transparent !important;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

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

body.illu-nav-has-scrolled #site-header.site-header {
  opacity: 0;
  pointer-events: none;
  transform: translateY(calc(-100% - 8px));
}

#site-header.site-header .header-inner {
  background: transparent !important;
}

@media (min-width: 783px) {
  #site-header.site-header {
    padding-block: 6px !important;
  }

  #site-header.site-header .header-inner {
    min-height: 56px;
  }

  #site-header.site-header .custom-logo {
    max-height: 52px;
  }
}

body.home .illu-home-visual-hero,
body.home .illu-home-visual-hero > img {
  height: 100svh;
  min-height: 100svh;
}

/* Elementor homepage hero: fill the visible browser height on first load. */
body.home .illu-home-fullscreen-hero,
body.home .elementor-15 .elementor-element.elementor-element-ae00009 {
  --min-height: 100vh;
  min-height: 100vh;
}

@supports (height: 100svh) {
  body.home .illu-home-fullscreen-hero,
  body.home .elementor-15 .elementor-element.elementor-element-ae00009 {
    --min-height: 100svh;
    min-height: 100svh;
  }
}

body.home #collections {
  scroll-margin-top: 0;
}

.illu-home-scroll-down,
.illu-back-to-top {
  align-items: center;
  border: 0 !important;
  box-shadow: none !important;
  box-sizing: border-box;
  display: flex;
  height: 48px;
  justify-content: center;
  min-height: 48px;
  padding: 0 !important;
  width: 48px;
  z-index: 999;
}

.illu-home-scroll-down {
  animation: illu-home-arrow-nudge 2.6s ease-in-out infinite;
  background: transparent !important;
  bottom: clamp(18px, 3vw, 34px);
  color: var(--illu-cream) !important;
  left: 50%;
  opacity: 1;
  position: fixed;
  text-decoration: none;
  transform: translateX(-50%);
  transition: opacity 180ms ease, visibility 180ms ease;
  visibility: visible;
}

body.illu-nav-has-scrolled .illu-home-scroll-down {
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
}

.illu-home-scroll-down span,
.illu-back-to-top span {
  border-bottom: 2px solid currentColor;
  border-right: 2px solid currentColor;
  display: block;
  height: 13px;
  width: 13px;
}

.illu-home-scroll-down span {
  filter: drop-shadow(0 2px 3px rgba(20, 23, 18, 0.5));
  transform: rotate(45deg) translate(-2px, -2px);
}

.illu-back-to-top {
  background: var(--illu-kaki) !important;
  border: 1px solid rgba(240, 235, 214, 0.65) !important;
  border-radius: 50%;
  bottom: clamp(18px, 3vw, 34px);
  color: var(--illu-cream) !important;
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  position: fixed;
  right: clamp(16px, 3vw, 34px);
  transform: translateY(14px);
  transition: background-color 180ms ease, opacity 180ms ease, transform 180ms ease, visibility 180ms ease;
  visibility: hidden;
}

.illu-back-to-top.is-visible {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
  visibility: visible;
}

.illu-back-to-top:hover,
.illu-back-to-top:focus-visible {
  background: var(--illu-terracotta) !important;
}

.illu-back-to-top span {
  transform: rotate(225deg) translate(-2px, -2px);
}

@keyframes illu-home-arrow-nudge {
  0%, 100% { margin-bottom: 5px; }
  50% { margin-bottom: 0; }
}

@media (min-width: 783px) and (max-width: 1100px) {
  .illu-home-scroll-down {
    left: auto;
    right: clamp(24px, 5vw, 54px);
    transform: none;
  }
}

@media (max-width: 782px) {
  body:not(.home) {
    padding-top: 72px !important;
  }

  body.admin-bar:not(.home) {
    padding-top: 72px !important;
  }

  body.admin-bar #site-header.site-header {
    top: 46px !important;
  }

  body.home .illu-home-visual-copy {
    bottom: 86px;
  }

  #site-header.site-header .site-navigation-dropdown,
  #site-header.site-header .site-navigation-dropdown :is(ul.menu, ul.menu > li, ul.menu > li > a, .illu-creations-trigger) {
    background: var(--illu-cream) !important;
  }

  #site-header.site-header .site-navigation-dropdown .illu-mega-menu {
    background: rgba(240, 235, 214, 0.3) !important;
    background: color-mix(in srgb, var(--illu-cream) 30%, transparent) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  #site-header.site-header,
  .illu-home-scroll-down,
  .illu-back-to-top {
    animation: none;
    scroll-behavior: auto;
    transition: none;
  }
}

/* Immersive WooCommerce product experience. */
body.woocommerce.single-product.illu-product-experience-page .site-main {
  max-width: none;
  overflow: clip;
  padding: 0;
  width: 100%;
}

body.woocommerce.single-product.illu-product-experience-page .woocommerce-breadcrumb {
  display: none;
}

body.woocommerce.single-product.illu-product-experience-page .site-main > div.illu-product-experience {
  display: flex;
  flex-direction: column;
  margin: 0;
  max-width: none;
  padding: 0;
  width: 100%;
}

/* Product narrative: imagery and details precede the commercial step. */
.illu-product-experience > .illu-pe-hero { order: 1; }
.illu-product-experience > .illu-pe-highlights { order: 2; }
.illu-product-experience > .illu-pe-details { order: 3; }
.illu-product-experience > .illu-pe-specifications { order: 4; }
.illu-product-experience > .illu-pe-technical { order: 5; }
.illu-product-experience > .illu-pe-purchase { order: 6; }
.illu-product-experience > .illu-pe-made-in-france { order: 7; }

.illu-product-experience *,
.illu-product-experience *::before,
.illu-product-experience *::after {
  box-sizing: border-box;
}

.illu-pe-hero {
  background: #d8d7d0;
  min-height: calc(100svh - 115px);
  overflow: hidden;
  position: relative;
}

.admin-bar .illu-pe-hero {
  min-height: calc(100svh - 147px);
}

.illu-pe-hero-media,
.illu-pe-hero-tint {
  inset: 0;
  position: absolute;
}

.illu-product-experience .illu-pe-hero-image {
  display: block;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center 54%;
  width: 100%;
}

.illu-pe-hero-tint {
  background: rgba(39, 39, 38, 0.18);
  pointer-events: none;
}

.illu-pe-hero-copy {
  bottom: clamp(38px, 4vw, 58px);
  color: var(--illu-white);
  left: clamp(20px, 6vw, 96px);
  max-width: min(680px, 62vw);
  position: absolute;
  z-index: 2;
}

.illu-pe-eyebrow {
  color: var(--illu-terracotta);
  font-size: 0.92rem;
  font-weight: 900;
  margin: 0 0 0.8rem;
  text-transform: uppercase;
}

.illu-pe-hero .illu-pe-eyebrow {
  color: var(--illu-white);
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.55);
}

.illu-pe-hero h1 {
  color: var(--illu-white);
  font-size: clamp(4rem, 6vw, 6.5rem);
  line-height: 0.88;
  margin: 0;
  max-width: 7.5ch;
  text-shadow: 0 3px 28px rgba(0, 0, 0, 0.55);
  text-wrap: balance;
}

.illu-pe-hero-cta {
  align-items: center;
  background: rgba(39, 39, 38, 0.82);
  border-radius: 999px;
  bottom: clamp(34px, 4vw, 54px);
  display: flex;
  gap: 6px;
  padding: 7px;
  position: absolute;
  right: clamp(20px, 6vw, 96px);
  z-index: 3;
}

.illu-pe-hero-from {
  color: var(--illu-white);
  font-size: 1rem;
  font-weight: 650;
  padding: 0 12px;
  white-space: nowrap;
}

.illu-pe-hero-from .amount {
  color: inherit;
  font-weight: inherit;
}

.illu-pe-hero-buy {
  background: var(--illu-terracotta);
  border-radius: 999px;
  color: var(--illu-white);
  display: inline-flex;
  font-size: 1rem;
  font-weight: 700;
  justify-content: center;
  min-height: 42px;
  padding: 0.56rem 1.15rem;
  text-decoration: none;
}

.illu-pe-hero-buy:hover,
.illu-pe-hero-buy:focus-visible {
  background: var(--illu-cream);
  color: var(--illu-kaki);
}

.illu-pe-scroll-cue {
  align-items: center;
  background: var(--illu-cream);
  border: 0;
  border-radius: 50%;
  bottom: 28px;
  display: flex;
  height: 48px;
  justify-content: center;
  position: absolute;
  left: 50%;
  right: auto;
  transform: translateX(-50%);
  width: 48px;
  z-index: 3;
}

.illu-pe-scroll-cue span {
  border-bottom: 2px solid var(--illu-kaki);
  border-right: 2px solid var(--illu-kaki);
  height: 10px;
  transform: translateY(-2px) rotate(45deg);
  width: 10px;
}

.illu-pe-purchase {
  background: var(--illu-cream);
  border-bottom: 1px solid rgba(86, 74, 31, 0.2);
  scroll-margin-top: 130px;
}

.admin-bar .illu-pe-purchase {
  scroll-margin-top: 120px;
}

.illu-pe-purchase-inner {
  align-items: center;
  display: grid;
  gap: clamp(24px, 5vw, 72px);
  grid-template-columns: minmax(0, 1fr) auto;
  margin-inline: auto;
  max-width: 1440px;
  padding: clamp(22px, 3vw, 34px) clamp(20px, 5vw, 72px);
}

.illu-pe-purchase-name {
  color: var(--illu-kaki);
  font-family: "Londrina Solid", sans-serif;
  font-size: clamp(1.9rem, 2.7vw, 3rem);
  font-weight: 900;
  line-height: 0.92;
  margin: 0 0 0.7rem;
  text-transform: uppercase;
}

.illu-pe-purchase-description,
.illu-pe-purchase-description p {
  color: var(--illu-ink);
  font-size: 1.05rem;
  margin: 0;
  max-width: 620px;
}

.illu-pe-purchase-actions {
  align-items: center;
  display: flex;
  gap: 18px;
}

.illu-product-experience .illu-pe-purchase-actions p.price {
  color: var(--illu-terracotta);
  font-size: 1.05rem;
  font-weight: 650;
  margin: 0;
  white-space: nowrap;
}

.illu-product-experience .illu-pe-purchase-actions p.price .amount {
  font-size: inherit;
}

.illu-pe-purchase-actions form.cart {
  align-items: center;
  display: flex;
  gap: 8px;
  margin: 0;
}

.illu-table-purchase {
  background: #f5f4ee;
  padding: clamp(48px, 7vw, 104px) 0;
}

.illu-table-buy-layout {
  align-items: start;
  display: grid;
  gap: clamp(42px, 6vw, 96px);
  grid-template-columns: minmax(0, 1.2fr) minmax(430px, 0.8fr);
  margin-inline: auto;
  max-width: 1500px;
  padding: 0 clamp(20px, 4vw, 64px);
}

.illu-table-buy-visual {
  min-width: 0;
  position: sticky;
  top: 132px;
}

.admin-bar .illu-table-buy-visual {
  top: 164px;
}

.illu-table-buy-stage {
  aspect-ratio: 4 / 3;
  background: #e7e4dc;
  border-radius: 8px;
  overflow: hidden;
  position: relative;
}

.illu-product-experience .illu-table-buy-image {
  display: block;
  height: 100%;
  inset: 0;
  max-width: none;
  object-fit: cover;
  opacity: 0;
  position: absolute;
  transform: scale(1.015);
  transition: opacity 420ms ease, transform 650ms ease;
  width: 100%;
}

.illu-product-experience .illu-table-buy-image.is-active {
  opacity: 1;
  transform: scale(1);
}

.illu-table-buy-visual-copy {
  padding: 24px 2px 0;
}

.illu-table-buy-visual-copy h2,
.illu-table-buy-header h2 {
  color: var(--illu-kaki);
  font-size: clamp(2.7rem, 4.4vw, 4.8rem);
  line-height: 0.9;
  margin: 0;
  text-transform: uppercase;
  text-wrap: balance;
}

.illu-table-buy-visual-copy > div,
.illu-table-buy-visual-copy > div p {
  color: var(--illu-ink);
  font-size: 1.05rem;
  line-height: 1.45;
  margin: 1rem 0 0;
  max-width: 54ch;
}

.illu-table-buy-panel {
  min-width: 0;
  scroll-margin-top: 130px;
}

.illu-table-buy-header {
  margin-bottom: 30px;
}

.illu-table-buy-header h2 {
  font-size: clamp(3.2rem, 4.6vw, 4.8rem);
}

.illu-table-buy-header > p:last-child {
  color: rgba(39, 39, 38, 0.74);
  font-size: 1.08rem;
  line-height: 1.4;
  margin: 1.1rem 0 0;
  max-width: 42ch;
}

.illu-table-buy-panel .illu-pe-purchase-actions,
.illu-table-buy-panel .illu-pe-purchase-actions form.cart,
.illu-table-buy-panel form.is-illu-table-configurator {
  align-items: stretch;
  display: block;
  margin: 0;
  width: 100%;
}

.illu-table-configurator[hidden] {
  display: none;
}

.illu-table-buy-panel form.is-illu-table-configurator > table.variations,
.illu-table-buy-panel form.is-illu-table-configurator > .reset_variations_alert,
.illu-table-buy-panel form.is-illu-table-configurator .reset_variations {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.illu-table-configurator {
  border-top: 1px solid rgba(86, 74, 31, 0.2);
}

.illu-table-step {
  border: 0;
  border-bottom: 1px solid rgba(86, 74, 31, 0.2);
  margin: 0;
  min-width: 0;
  padding: 28px 0 30px;
}

.illu-table-step[hidden] {
  display: none;
}

.illu-table-step legend {
  align-items: start;
  box-sizing: border-box;
  display: grid;
  gap: 4px 16px;
  grid-template-columns: 28px minmax(0, 1fr);
  margin: 0 0 22px;
  padding: 12px 0 0;
  width: 100%;
}

.illu-table-step legend > span {
  align-items: center;
  background: var(--illu-kaki);
  border-radius: 50%;
  color: var(--illu-cream);
  display: inline-flex;
  font-size: 0.82rem;
  font-weight: 850;
  grid-row: 1 / 3;
  height: 28px;
  justify-content: center;
  width: 28px;
}

.illu-table-step legend strong {
  color: var(--illu-kaki);
  font-size: 1.35rem;
  line-height: 1.1;
}

.illu-table-step legend small {
  color: rgba(39, 39, 38, 0.64);
  font-size: 0.88rem;
  line-height: 1.25;
  margin-top: 1px;
}

.illu-table-choice-list {
  display: grid;
  gap: 12px;
}

.illu-table-size-list {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.woocommerce .illu-table-option,
.woocommerce div.product form.cart .illu-table-option {
  align-items: center;
  appearance: none;
  background: rgba(255, 255, 255, 0.66);
  border: 1px solid rgba(86, 74, 31, 0.34);
  border-radius: 8px;
  box-shadow: none;
  color: var(--illu-ink);
  cursor: pointer;
  display: grid;
  gap: 16px;
  grid-template-columns: minmax(0, 1fr) auto;
  margin: 0;
  min-height: 84px;
  padding: 16px 18px;
  position: relative;
  text-align: left;
  text-transform: none;
  transition: border-color 160ms ease, box-shadow 160ms ease, background-color 160ms ease;
  width: 100%;
}

.woocommerce .illu-table-option:hover,
.woocommerce div.product form.cart .illu-table-option:hover,
.woocommerce .illu-table-option:focus-visible,
.woocommerce div.product form.cart .illu-table-option:focus-visible {
  background: var(--illu-white);
  border-color: var(--illu-kaki);
  box-shadow: inset 0 0 0 1px var(--illu-kaki);
  color: var(--illu-ink);
}

.woocommerce .illu-table-option.is-selected,
.woocommerce div.product form.cart .illu-table-option.is-selected,
.woocommerce .illu-table-option:has(input:checked),
.woocommerce div.product form.cart .illu-table-option:has(input:checked) {
  background: rgba(188, 91, 61, 0.08);
  border-color: var(--illu-terracotta);
  box-shadow: inset 0 0 0 2px var(--illu-terracotta);
  color: var(--illu-ink);
  padding-right: 54px;
}

.woocommerce .illu-table-option.is-selected::after,
.woocommerce div.product form.cart .illu-table-option.is-selected::after,
.woocommerce .illu-table-option:has(input:checked)::after,
.woocommerce div.product form.cart .illu-table-option:has(input:checked)::after {
  align-items: center;
  background: var(--illu-terracotta);
  border-radius: 50%;
  color: var(--illu-white);
  content: "\2713";
  display: flex;
  font-size: 0.82rem;
  font-weight: 900;
  height: 24px;
  justify-content: center;
  position: absolute;
  right: 14px;
  top: 14px;
  width: 24px;
}

.woocommerce .illu-table-option:disabled,
.woocommerce div.product form.cart .illu-table-option:disabled {
  background: rgba(255, 255, 255, 0.28);
  border-color: rgba(86, 74, 31, 0.14);
  box-shadow: none;
  color: rgba(39, 39, 38, 0.38);
  cursor: not-allowed;
  opacity: 1;
}

.illu-table-option input {
  height: 1px;
  opacity: 0;
  position: absolute;
  width: 1px;
}

.illu-table-option-copy {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.illu-table-option-copy strong {
  color: inherit;
  font-size: 1.08rem;
  font-weight: 800;
  line-height: 1.15;
}

.illu-table-option-copy small {
  color: rgba(39, 39, 38, 0.64);
  font-size: 0.8rem;
  line-height: 1.25;
  margin-top: 4px;
}

.illu-table-option:disabled .illu-table-option-copy small {
  color: inherit;
}

.illu-table-option-price {
  color: var(--illu-kaki);
  font-size: 0.86rem;
  font-weight: 800;
  line-height: 1.15;
  text-align: right;
  white-space: nowrap;
}

.illu-table-step-note {
  color: rgba(39, 39, 38, 0.65);
  font-size: 0.86rem;
  margin: 2px 0 0;
}

.illu-table-config-summary {
  background: #f5f4ee;
  border-top: 1px solid rgba(86, 74, 31, 0.2);
  bottom: 0;
  display: grid;
  gap: 14px;
  padding: 24px 0 18px;
  position: sticky;
  z-index: 4;
}

.illu-table-selection {
  color: rgba(39, 39, 38, 0.66);
  font-size: 0.82rem;
  line-height: 1.25;
  margin: 0;
}

.illu-table-price-breakdown {
  display: grid;
  gap: 7px;
  margin: 0;
}

.illu-table-price-breakdown > div,
.illu-table-total-row {
  align-items: baseline;
  display: flex;
  gap: 16px;
  justify-content: space-between;
}

.illu-table-price-breakdown > div[hidden] {
  display: none;
}

.illu-table-price-breakdown dt,
.illu-table-price-breakdown dd {
  font-size: 0.86rem;
  line-height: 1.25;
  margin: 0;
}

.illu-table-price-breakdown dt {
  color: rgba(39, 39, 38, 0.72);
}

.illu-table-price-breakdown dd {
  color: var(--illu-kaki);
  font-weight: 800;
  text-align: right;
  white-space: nowrap;
}

.illu-table-total-row {
  border-top: 1px solid rgba(86, 74, 31, 0.2);
  padding-top: 12px;
}

.illu-table-total-row > span {
  color: var(--illu-ink);
  font-size: 1rem;
  font-weight: 800;
}

.illu-table-total-row > strong {
  color: var(--illu-terracotta);
  font-size: 1.65rem;
  line-height: 1;
  white-space: nowrap;
}

.illu-table-buy-panel form.is-illu-table-configurator .woocommerce-variation-description,
.illu-table-buy-panel form.is-illu-table-configurator .woocommerce-variation-price,
.illu-table-buy-panel form.is-illu-table-configurator .woocommerce-variation-availability,
.illu-table-buy-panel .wc-stripe-product-checkout-container {
  display: none;
}

.illu-table-buy-panel form.is-illu-table-configurator .woocommerce-variation-add-to-cart {
  display: block;
}

.woocommerce div.product .illu-table-buy-panel form.cart .single_add_to_cart_button {
  border-radius: 8px;
  font-size: 1.08rem;
  min-height: 58px;
  width: 100%;
}

.woocommerce div.product .illu-table-buy-panel form.cart .single_add_to_cart_button.disabled,
.woocommerce div.product .illu-table-buy-panel form.cart .single_add_to_cart_button:disabled {
  background: rgba(86, 74, 31, 0.3);
  cursor: not-allowed;
  opacity: 1;
}

.illu-table-delivery {
  background: rgba(255, 255, 255, 0.44);
  border: 1px solid rgba(86, 74, 31, 0.2);
  border-radius: 8px;
  margin-top: 16px;
  padding: 18px 20px 16px;
}

.illu-table-delivery-date {
  align-items: baseline;
  color: var(--illu-ink);
  display: flex;
  flex-wrap: wrap;
  gap: 4px 8px;
  line-height: 1.2;
  margin: 0;
}

.illu-table-delivery-date span {
  font-size: 0.92rem;
  font-weight: 700;
  text-transform: uppercase;
}

.illu-table-delivery-date strong {
  color: var(--illu-kaki);
  font-size: 1.12rem;
}

.illu-table-delivery-details {
  color: rgba(39, 39, 38, 0.82);
  font-size: 0.94rem;
  line-height: 1.4;
  margin: 10px 0 0;
}

.illu-table-delivery-footnote {
  color: rgba(39, 39, 38, 0.6);
  font-size: 0.78rem;
  line-height: 1.35;
  margin: 5px 0 0;
}

.illu-pe-purchase-actions .quantity .qty {
  background: var(--illu-white);
  border: 1px solid rgba(86, 74, 31, 0.25);
  border-radius: 8px;
  min-height: 48px;
  width: 64px;
}

.illu-pe-purchase-inner.has-composer {
  align-items: start;
  grid-template-columns: minmax(220px, 0.65fr) minmax(580px, 1.35fr);
}

.illu-pe-purchase-inner.has-composer .illu-pe-purchase-actions {
  display: block;
  min-width: 0;
  width: 100%;
}

.illu-pe-purchase-actions form.illu-composer {
  align-items: stretch;
  background: #fbfaf6;
  border: 1px solid rgba(86, 74, 31, 0.24);
  border-radius: 8px;
  display: grid;
  gap: 0;
  overflow: hidden;
  width: 100%;
}

.illu-composer-heading {
  border-bottom: 1px solid rgba(86, 74, 31, 0.18);
  padding: 24px 26px 22px;
}

.illu-composer-kicker,
.illu-composer-heading .illu-composer-kicker {
  color: var(--illu-terracotta);
  font-size: 0.78rem;
  font-weight: 800;
  margin: 0 0 0.35rem;
  text-transform: uppercase;
}

.illu-composer-heading h2 {
  color: var(--illu-kaki);
  font-size: clamp(2rem, 3vw, 3rem);
  line-height: 0.92;
  margin: 0 0 0.55rem;
  text-transform: uppercase;
}

.illu-composer-heading > p:last-child {
  color: var(--illu-ink);
  font-size: 1rem;
  line-height: 1.35;
  margin: 0;
}

.illu-composer-row {
  align-items: center;
  border-bottom: 1px solid rgba(86, 74, 31, 0.16);
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(150px, 1fr) auto minmax(84px, auto) 142px;
  min-height: 90px;
  padding: 15px 20px 15px 26px;
  transition: background-color 180ms ease;
}

.illu-composer-row.has-quantity {
  background: rgba(201, 185, 154, 0.2);
}

.illu-composer-row.is-unavailable {
  opacity: 0.55;
}

.illu-composer-product,
.illu-composer-price,
.illu-composer-stock {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.illu-composer-width {
  color: var(--illu-kaki);
  font-family: "Londrina Solid", sans-serif;
  font-size: 1.65rem;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
}

.illu-composer-material,
.illu-composer-price > span,
.illu-composer-stock {
  color: rgba(39, 39, 38, 0.7);
  font-size: 0.78rem;
  line-height: 1.2;
}

.illu-composer-price .amount {
  color: var(--illu-terracotta);
  font-size: 1.05rem;
  font-weight: 800;
  white-space: nowrap;
}

.illu-composer-stepper {
  align-items: center;
  background: var(--illu-white);
  border: 1px solid rgba(86, 74, 31, 0.28);
  border-radius: 8px;
  display: grid;
  grid-template-columns: 42px 48px 42px;
  height: 44px;
  overflow: hidden;
  width: 134px;
}

.woocommerce .illu-composer-stepper button,
.woocommerce div.product form.cart .illu-composer-stepper button {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 0;
  color: var(--illu-kaki);
  display: flex;
  font-size: 1.25rem;
  height: 42px;
  justify-content: center;
  min-height: 42px;
  padding: 0;
  width: 42px;
}

.woocommerce .illu-composer-stepper button:hover,
.woocommerce .illu-composer-stepper button:focus-visible {
  background: rgba(201, 185, 154, 0.28);
  color: var(--illu-terracotta);
}

.woocommerce .illu-composer-stepper button:disabled {
  background: transparent;
  color: rgba(86, 74, 31, 0.28);
  cursor: not-allowed;
}

.illu-composer-stepper .quantity {
  height: 42px;
  margin: 0;
  width: 48px;
}

.illu-pe-purchase-actions .illu-composer-stepper .quantity .qty {
  appearance: textfield;
  background: transparent;
  border: 0;
  border-left: 1px solid rgba(86, 74, 31, 0.18);
  border-radius: 0;
  border-right: 1px solid rgba(86, 74, 31, 0.18);
  color: var(--illu-ink);
  font-size: 1rem;
  font-weight: 800;
  height: 42px;
  min-height: 42px;
  padding: 0;
  text-align: center;
  width: 48px;
}

.illu-composer-stepper .qty::-webkit-inner-spin-button,
.illu-composer-stepper .qty::-webkit-outer-spin-button {
  appearance: none;
  margin: 0;
}

.illu-composer-summary {
  align-items: end;
  display: flex;
  gap: 20px;
  justify-content: space-between;
  padding: 20px 26px;
}

.illu-composer-summary > div {
  display: flex;
  flex-direction: column;
}

.illu-composer-summary-label {
  color: rgba(39, 39, 38, 0.65);
  font-size: 0.75rem;
  font-weight: 800;
  text-transform: uppercase;
}

.illu-composer-summary strong {
  color: var(--illu-kaki);
  font-size: 1.05rem;
}

.illu-composer-status {
  color: var(--illu-terracotta);
  font-size: 0.88rem;
  line-height: 1.25;
  min-height: 1.1em;
}

.illu-composer.is-ready .illu-composer-status {
  color: var(--illu-kaki-soft);
}

.illu-composer.has-error .illu-composer-status {
  font-weight: 800;
  outline: none;
}

.illu-composer-total {
  align-items: flex-end;
  text-align: right;
}

.illu-composer-total strong,
.illu-composer-total strong .amount {
  color: var(--illu-terracotta);
  font-size: 1.55rem;
  line-height: 1;
  white-space: nowrap;
}

.woocommerce div.product form.cart.illu-composer .single_add_to_cart_button {
  border-radius: 0;
  margin: 0;
  min-height: 58px;
  width: 100%;
}

.woocommerce div.product form.cart.illu-composer .single_add_to_cart_button:disabled {
  background: rgba(86, 74, 31, 0.32);
  border-color: transparent;
  color: rgba(255, 250, 240, 0.8);
  cursor: not-allowed;
  opacity: 1;
}

.illu-pe-section {
  overflow: hidden;
  padding: clamp(72px, 10vw, 150px) 0;
  scroll-margin-top: 120px;
}

.illu-pe-highlights {
  background: #fbfaf6;
}

.illu-pe-section-header {
  margin-inline: auto;
  max-width: 1440px;
  padding: 0 clamp(20px, 5vw, 72px);
}

.illu-pe-section-header h2,
.illu-pe-specifications h2 {
  color: var(--illu-kaki);
  font-size: clamp(3.7rem, 5vw, 5rem);
  line-height: 0.9;
  margin: 0;
  text-wrap: balance;
}

.illu-highlights-swiper {
  margin-top: clamp(42px, 6vw, 78px);
  overflow: visible;
  padding-left: clamp(20px, 5vw, 72px);
}

.illu-highlight-slide {
  background: #e5e6df;
  border-radius: 8px;
  display: grid;
  grid-template-columns: minmax(280px, 0.72fr) minmax(0, 1.28fr);
  height: min(72vh, 760px);
  min-height: 560px;
  overflow: hidden;
}

.illu-highlight-copy {
  align-self: center;
  padding: clamp(28px, 5vw, 72px);
}

.illu-highlight-copy h3 {
  color: var(--illu-kaki);
  font-size: clamp(2.7rem, 4.2vw, 4.3rem);
  line-height: 0.9;
  margin: 0 0 1.5rem;
  text-wrap: balance;
}

.illu-highlight-copy p {
  color: var(--illu-ink);
  font-size: clamp(1.08rem, 1.7vw, 1.35rem);
  font-weight: 650;
  line-height: 1.4;
  margin: 0;
  max-width: 34ch;
}

.illu-highlight-media {
  min-height: 0;
  overflow: hidden;
}

.illu-product-experience .illu-highlight-image {
  display: block;
  height: 100%;
  max-width: none;
  object-fit: cover;
  width: 100%;
}

.illu-highlights-controls {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin: 28px auto 0;
  max-width: 1440px;
  padding: 0 clamp(20px, 5vw, 72px);
}

.illu-highlights-pagination {
  position: static;
  text-align: left;
  width: auto;
}

.illu-highlights-pagination .swiper-pagination-bullet {
  background: var(--illu-kaki-soft);
  height: 8px;
  margin: 0 5px;
  opacity: 0.34;
  transition: opacity 180ms ease, width 180ms ease;
  width: 8px;
}

.illu-highlights-pagination .swiper-pagination-bullet-active {
  border-radius: 999px;
  opacity: 1;
  width: 28px;
}

.illu-highlights-arrows {
  display: flex;
  gap: 10px;
}

.illu-highlights-arrows button,
.illu-detail-stepper button {
  align-items: center;
  background: var(--illu-kaki);
  border: 0;
  border-radius: 50%;
  color: var(--illu-cream);
  display: flex;
  height: 48px;
  justify-content: center;
  min-height: 48px;
  padding: 0;
  width: 48px;
}

.illu-highlights-arrows button:hover,
.illu-highlights-arrows button:focus-visible,
.illu-detail-stepper button:hover,
.illu-detail-stepper button:focus-visible {
  background: var(--illu-terracotta);
  color: var(--illu-white);
}

.illu-highlights-arrows button.swiper-button-disabled {
  opacity: 0.32;
}

.illu-pe-details {
  background: #e4e6e1;
}

.illu-detail-viewer {
  display: grid;
  grid-template-columns: minmax(340px, 0.72fr) minmax(0, 1.28fr);
  margin: clamp(42px, 6vw, 78px) auto 0;
  max-width: 1440px;
  min-height: min(78vh, 820px);
  padding: 0 clamp(20px, 5vw, 72px);
}

.illu-detail-controls {
  align-content: center;
  display: grid;
  padding: clamp(26px, 5vw, 68px) clamp(20px, 4vw, 56px) clamp(26px, 5vw, 68px) 0;
}

.illu-detail-list {
  align-items: start;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.illu-detail-row {
  max-width: 100%;
}

.illu-detail-toggle {
  align-items: center;
  background: rgba(255, 255, 255, 0.58);
  border: 1px solid rgba(39, 39, 38, 0.08);
  border-radius: 999px;
  color: var(--illu-ink);
  display: inline-flex;
  font-size: clamp(1rem, 1.6vw, 1.18rem);
  font-weight: 750;
  gap: 13px;
  justify-content: space-between;
  min-height: 52px;
  padding: 0.72rem 1rem;
  text-align: left;
}

.illu-detail-toggle:hover,
.illu-detail-toggle:focus-visible,
.illu-detail-row.is-open .illu-detail-toggle {
  background: var(--illu-white);
  border-color: rgba(86, 74, 31, 0.25);
  color: var(--illu-kaki);
}

.illu-detail-plus {
  border: 1.5px solid currentColor;
  border-radius: 50%;
  flex: 0 0 24px;
  height: 24px;
  position: relative;
  transition: transform 220ms ease;
  width: 24px;
}

.illu-detail-plus::before,
.illu-detail-plus::after {
  background: currentColor;
  content: "";
  height: 1.5px;
  left: 5px;
  position: absolute;
  top: 10px;
  width: 12px;
}

.illu-detail-plus::after {
  transform: rotate(90deg);
}

.illu-detail-row.is-open .illu-detail-plus {
  transform: rotate(45deg);
}

.illu-detail-panel {
  background: rgba(255, 255, 255, 0.58);
  border-radius: 8px;
  margin-top: 10px;
  max-width: 440px;
  padding: 1.25rem 1.4rem;
}

.illu-detail-panel[hidden] {
  display: none;
}

.illu-detail-panel p {
  color: var(--illu-ink);
  font-size: clamp(1rem, 1.4vw, 1.16rem);
  line-height: 1.48;
  margin: 0;
}

.illu-detail-stepper {
  display: flex;
  gap: 10px;
  margin-top: 28px;
}

.illu-detail-stage {
  background: #d4d6ce;
  border-radius: 8px;
  min-height: 680px;
  overflow: hidden;
  position: relative;
}

.illu-product-experience .illu-detail-image {
  display: block;
  height: 100%;
  inset: 0;
  max-width: none;
  object-fit: cover;
  opacity: 0;
  position: absolute;
  transform: scale(1.025);
  transition: opacity 520ms ease, transform 760ms ease;
  width: 100%;
}

.illu-detail-image.is-active {
  opacity: 1;
  transform: scale(1);
  z-index: 1;
}

.illu-pe-specifications {
  background: var(--illu-kaki);
  color: var(--illu-cream);
  padding: clamp(76px, 10vw, 148px) 0;
}

.illu-pe-specifications-inner {
  margin-inline: auto;
  max-width: 1440px;
  padding: 0 clamp(20px, 5vw, 72px);
}

.illu-pe-specifications .illu-pe-eyebrow,
.illu-pe-specifications h2 {
  color: var(--illu-cream);
}

.illu-pe-specifications h2 {
  max-width: 10ch;
}

.illu-pe-spec-grid {
  display: grid;
  gap: 1px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: clamp(42px, 6vw, 78px) 0 0;
}

.illu-pe-spec-grid div {
  border-top: 1px solid rgba(240, 235, 214, 0.35);
  padding: 20px 20px 20px 0;
}

.illu-pe-spec-grid dt {
  color: var(--illu-sand);
  font-size: 0.84rem;
  font-weight: 800;
  margin-bottom: 0.55rem;
  text-transform: uppercase;
}

.illu-pe-spec-grid dd {
  color: var(--illu-cream);
  font-size: clamp(1.35rem, 2.4vw, 2.15rem);
  font-weight: 750;
  line-height: 1.05;
  margin: 0;
}

.illu-pe-made-in-france {
  align-items: center;
  background: var(--illu-terracotta);
  display: flex;
  justify-content: center;
  min-height: min(70vh, 720px);
  padding: clamp(60px, 10vw, 150px) clamp(20px, 5vw, 72px);
  text-align: center;
}

.illu-pe-made-in-france p {
  color: var(--illu-white);
  font-family: "Londrina Solid", sans-serif;
  font-size: clamp(4rem, 10vw, 10rem);
  font-weight: 900;
  line-height: 0.84;
  margin: 0;
  max-width: 10ch;
  text-transform: uppercase;
  text-wrap: balance;
}

.illu-js [data-illu-reveal] {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 650ms ease, transform 760ms cubic-bezier(0.22, 1, 0.36, 1);
}

.illu-js [data-illu-reveal].is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (min-width: 901px) {
  .illu-pe-hero h1 {
    font-size: clamp(4rem, 4.4vw, 5.6rem);
    line-height: 0.92;
    max-width: 9.5ch;
  }

  .illu-table-buy-visual-copy h2 {
    font-size: clamp(2.75rem, 3vw, 3.6rem);
    line-height: 0.95;
    max-width: 16ch;
  }

  .illu-table-buy-header h2 {
    font-size: clamp(2.8rem, 3.1vw, 3.8rem);
    line-height: 0.95;
  }

  .illu-pe-section-header h2,
  .illu-pe-specifications h2 {
    font-size: clamp(3.4rem, 4vw, 4.5rem);
    line-height: 0.94;
  }

  .illu-highlight-copy h3 {
    font-size: clamp(2.4rem, 3.2vw, 3.5rem);
    line-height: 0.95;
  }
}

@media (max-width: 900px) {
  .illu-table-buy-layout {
    grid-template-columns: 1fr;
  }

  .illu-table-buy-visual {
    position: static;
  }

  .illu-table-buy-panel {
    margin-inline: auto;
    max-width: 620px;
    width: 100%;
  }

  .illu-pe-purchase-inner {
    align-items: start;
    grid-template-columns: 1fr;
  }

  .illu-pe-purchase-inner.has-composer {
    grid-template-columns: 1fr;
  }

  .illu-pe-purchase-actions {
    align-items: flex-start;
    flex-direction: column;
  }

  .illu-highlight-slide {
    grid-template-columns: 1fr;
    height: auto;
    min-height: 0;
  }

  .illu-highlight-media {
    aspect-ratio: 4 / 5;
    grid-row: 1;
  }

  .illu-highlight-copy {
    align-self: auto;
    padding: 28px;
  }

  .illu-detail-viewer {
    grid-template-columns: 1fr;
  }

  .illu-detail-stage {
    grid-row: 1;
    min-height: min(72svh, 680px);
  }

  .illu-detail-controls {
    padding: 28px 0 0;
  }
}

@media (max-width: 620px) {
  .illu-table-purchase {
    padding-block: 34px 56px;
  }

  .illu-table-buy-layout {
    gap: 38px;
  }

  .illu-table-buy-stage {
    aspect-ratio: 4 / 5;
  }

  .illu-table-buy-visual-copy h2,
  .illu-table-buy-header h2 {
    font-size: clamp(3rem, 14vw, 4.3rem);
  }

  .illu-table-size-list {
    grid-template-columns: 1fr 1fr;
  }

  .woocommerce .illu-table-option,
  .woocommerce div.product form.cart .illu-table-option {
    gap: 10px;
    min-height: 78px;
    padding: 14px;
  }

  .illu-table-size-list .illu-table-option {
    align-items: start;
    grid-template-columns: 1fr;
  }

  .illu-table-size-list .illu-table-option-price {
    text-align: left;
  }

  .illu-table-size-list .illu-table-option-copy small {
    display: none;
  }

  .woocommerce .illu-table-option.is-selected,
  .woocommerce div.product form.cart .illu-table-option.is-selected,
  .woocommerce .illu-table-option:has(input:checked),
  .woocommerce div.product form.cart .illu-table-option:has(input:checked) {
    padding-right: 48px;
  }

  .illu-table-config-summary {
    gap: 12px;
    position: static;
  }

  .illu-pe-hero {
    min-height: calc(100svh - 105px);
  }

  .admin-bar .illu-pe-hero {
    min-height: calc(100svh - 151px);
  }

  .illu-pe-hero-image {
    object-position: center;
  }

  .illu-pe-hero-tint {
    background: rgba(39, 39, 38, 0.24);
  }

  .illu-pe-hero-copy {
    bottom: 108px;
    max-width: calc(100vw - 40px);
  }

  .illu-pe-hero h1 {
    font-size: clamp(3.5rem, 15vw, 4.8rem);
  }

  .illu-pe-hero-cta {
    bottom: 26px;
    left: 20px;
    right: auto;
  }

  .illu-pe-hero-from {
    font-size: 0.9rem;
    padding-inline: 8px;
  }

  .illu-pe-hero-buy {
    font-size: 0.94rem;
    min-height: 44px;
    padding-inline: 1rem;
  }

  .illu-pe-scroll-cue {
    display: none;
  }

  .illu-pe-purchase-actions form.cart {
    align-items: stretch;
    width: 100%;
  }

  .illu-pe-purchase-actions form.illu-composer {
    display: grid;
  }

  .illu-composer-heading {
    padding: 21px 18px 19px;
  }

  .illu-composer-row {
    gap: 12px;
    grid-template-columns: minmax(0, 1fr) 134px;
    min-height: 116px;
    padding: 16px 18px;
  }

  .illu-composer-product {
    grid-column: 1;
    grid-row: 1;
  }

  .illu-composer-price {
    align-items: flex-end;
    grid-column: 2;
    grid-row: 1;
    text-align: right;
  }

  .illu-composer-stock {
    grid-column: 1;
    grid-row: 2;
  }

  .illu-composer-stepper {
    grid-column: 2;
    grid-row: 2;
  }

  .illu-composer-summary {
    align-items: start;
    padding: 18px;
  }

  .illu-pe-purchase-actions .single_add_to_cart_button {
    flex: 1;
  }

  .illu-pe-section-header h2,
  .illu-pe-specifications h2 {
    font-size: clamp(3.4rem, 15vw, 4.5rem);
  }

  .illu-highlights-swiper {
    margin-top: 36px;
  }

  .illu-highlight-copy h3 {
    font-size: clamp(2.8rem, 13vw, 4rem);
  }

  .illu-highlights-arrows button {
    height: 44px;
    min-height: 44px;
    width: 44px;
  }

  .illu-detail-viewer {
    padding-inline: 20px;
  }

  .illu-detail-stage {
    min-height: 62svh;
  }

  .illu-detail-toggle {
    width: 100%;
  }

  .illu-detail-panel {
    max-width: none;
  }

  .illu-pe-spec-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Shelf composer — make the configuration the opening product experience. */
body:is(.postid-24, .postid-206) .illu-product-experience > .illu-pe-purchase {
  order: 1;
}

body.postid-24 .illu-pe-purchase-inner.has-composer {
  align-items: start;
  gap: clamp(34px, 4vw, 64px);
  grid-template-columns: minmax(300px, 0.82fr) minmax(580px, 1.18fr);
  min-height: calc(100svh - 99px);
  padding-block: clamp(32px, 4vw, 54px);
}

body.postid-24 .illu-pe-purchase-copy {
  position: sticky;
  top: 132px;
}

body.admin-bar.postid-24 .illu-pe-purchase-copy {
  top: 164px;
}

body.postid-24 .illu-shelf-opening-media {
  aspect-ratio: 4 / 5;
  background: var(--illu-white);
  margin: clamp(24px, 3vw, 38px) 0 0;
  max-height: 500px;
  overflow: hidden;
}

body.postid-24 .illu-shelf-opening-image {
  display: block;
  height: 100%;
  object-fit: cover;
  object-position: center;
  width: 100%;
}

@media (max-width: 900px) {
  body.postid-24 .illu-pe-purchase-inner.has-composer {
    gap: 32px;
    grid-template-columns: minmax(0, 1fr);
    min-height: 0;
  }

  body.postid-24 .illu-pe-purchase-actions {
    min-width: 0;
    order: 1;
    width: 100%;
  }

  body.postid-24 .illu-pe-purchase-copy {
    min-width: 0;
    order: 2;
    position: static;
    width: 100%;
  }

  body.postid-24 .illu-shelf-opening-media {
    max-height: 420px;
  }
}

@media (max-width: 780px) {
  .woocommerce-account .site-main {
    padding-top: 34px;
  }

  .woocommerce-account .entry-title {
    font-size: clamp(3.2rem, 15vw, 4.6rem);
    margin-bottom: 28px;
  }

  .woocommerce-account .woocommerce {
    display: block;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation {
    margin-bottom: 24px;
    position: static;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .woocommerce-account .woocommerce-MyAccount-navigation li {
    border-top: 1px solid rgba(86, 74, 31, 0.15);
  }

  .woocommerce-account .woocommerce-MyAccount-navigation li:nth-child(2) {
    border-top: 0;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation li:nth-child(even) {
    border-left: 1px solid rgba(86, 74, 31, 0.15);
  }

  .woocommerce-account .woocommerce-MyAccount-navigation a {
    font-size: 0.93rem;
    line-height: 1.18;
    min-height: 58px;
    padding: 9px 10px;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link--customer-logout {
    margin-top: 0;
  }

  .illu-account-welcome {
    padding: 26px 20px;
  }

  .illu-account-intro {
    font-size: 1.04rem;
    margin: 18px 0 28px;
  }

  .illu-account-shortcuts {
    display: block;
  }

  .illu-account-shortcuts a,
  .illu-account-shortcuts a:first-child {
    border-bottom: 1px solid rgba(86, 74, 31, 0.2);
    border-left: 0;
    padding: 17px 0;
  }

  .illu-account-shortcuts a:last-child {
    border-bottom: 0;
    padding-bottom: 0;
  }

  .woocommerce-account .woocommerce-Addresses,
  .woocommerce-account #customer_login {
    grid-template-columns: 1fr;
  }

  .woocommerce-account .woocommerce-Address,
  .woocommerce-account .woocommerce-address-fields,
  .woocommerce-account .woocommerce-EditAccountForm,
  .woocommerce-account form.woocommerce-form-login,
  .woocommerce-account form.woocommerce-form-register,
  .woocommerce-account .woocommerce-Addresses .woocommerce-Address {
    padding: 22px 18px;
  }

  .woocommerce-account .woocommerce-orders-table,
  .woocommerce-account .woocommerce-table--order-details {
    display: block;
    overflow-x: auto;
    white-space: nowrap;
  }
}

@media (prefers-reduced-motion: reduce) {
  .illu-js [data-illu-reveal],
  .illu-detail-image,
  .illu-detail-plus,
  .illu-highlights-pagination .swiper-pagination-bullet {
    transition: none;
  }
}


/* Desktop scale: keep the product statement readable, not oversized. */
@media (min-width: 768px) {
  .illu-pe-made-in-france p {
    font-size: 7rem;
  }
}

/* ILLU jewellery packshots: full object, separate text. */
body:is(.postid-202,.postid-206) .illu-pe-hero{display:flex;flex-direction:column;height:auto!important;min-height:0!important;padding:24px 24px 32px;background:#fff}
body:is(.postid-202,.postid-206) .illu-pe-hero-media{position:relative;inset:auto;width:100%;height:400px}
body:is(.postid-202,.postid-206) .illu-product-experience .illu-pe-hero-image{object-fit:contain;object-position:center;filter:none}
body:is(.postid-202,.postid-206) .illu-pe-hero-tint{display:none}
body:is(.postid-202,.postid-206) .illu-pe-hero-copy{position:relative!important;inset:auto!important;transform:none!important;opacity:1;width:100%;max-width:100%;margin:24px auto 0;padding:0;text-align:center;color:var(--illu-kaki);text-shadow:none}
body:is(.postid-202,.postid-206) .illu-pe-hero-copy h1{max-width:850px!important;margin:8px auto 20px;color:var(--illu-kaki)!important;font-size:40px!important;line-height:1.08;text-shadow:none!important}
body:is(.postid-202,.postid-206) .illu-pe-hero .illu-pe-eyebrow{color:var(--illu-terracotta)!important;text-shadow:none}
body:is(.postid-202,.postid-206) .illu-pe-hero-cta{position:relative;inset:auto;align-self:center;margin:0 auto;transform:none}
@media(max-width:767px){body:is(.postid-202,.postid-206) .illu-pe-hero{padding:20px 16px 28px}body:is(.postid-202,.postid-206) .illu-pe-hero-media{height:280px}body:is(.postid-202,.postid-206) .illu-pe-hero-copy h1{font-size:30px!important}}

/* Navigation and decoration dispatch, 2026-09-09. */
body.page-id-130 #fluentform_1 { scroll-margin-top: 160px; }
.illu-composer-stock { font-size: 14px; line-height: 1.4; max-width: 175px; }
@media (max-width: 767px) { body.page-id-130 #fluentform_1 { scroll-margin-top: 140px; } }

/* Photobooth: keep the complete tripod and software captures in view. */
body.postid-222 .illu-pe-hero{display:flex;flex-direction:column;height:auto!important;min-height:0!important;padding:24px 24px 32px;background:#fff}
body.postid-222 .illu-pe-hero-media{position:relative;inset:auto;width:100%;height:360px}
body.postid-222 .illu-product-experience .illu-pe-hero-image,body.postid-222 .illu-highlight-image,body.postid-222 .illu-detail-image{object-fit:contain;object-position:center;filter:none}
body.postid-222 .illu-pe-hero-tint{display:none}
body.postid-222 .illu-pe-hero-copy{position:relative!important;inset:auto!important;transform:none!important;opacity:1;width:100%;max-width:100%;margin:20px auto 0;padding:0;text-align:center;color:var(--illu-kaki);text-shadow:none}
body.postid-222 .illu-pe-hero-copy h1{max-width:850px!important;margin:8px auto 20px;color:var(--illu-kaki)!important;font-size:40px!important;line-height:1.1;text-shadow:none!important}
body.postid-222 .illu-pe-hero .illu-pe-eyebrow{color:var(--illu-terracotta)!important;text-shadow:none}
body.postid-222 .illu-pe-hero-cta{position:relative;inset:auto;align-self:center;margin:0 auto;transform:none}
body.postid-222 .illu-highlight-media,body.postid-222 .illu-detail-stage{background:#fff}
body.postid-222 .illu-pe-made-in-france p{max-width:850px;font-size:44px;line-height:1.15}
@media(max-width:767px){body.postid-222 .illu-pe-hero{padding:20px 16px 28px}body.postid-222 .illu-pe-hero-media{height:270px}body.postid-222 .illu-pe-hero-copy h1{font-size:30px!important}body.postid-222 .illu-pe-made-in-france p{font-size:30px}}


/* Keep each product highlight and its controls within a comfortable screenful. */
.illu-pe-highlights {
  padding-block: clamp(28px, 4svh, 48px);
}
.illu-pe-highlights .illu-pe-section-header h2 {
  font-size: clamp(2.2rem, 3.2vw, 3rem);
  line-height: 1;
}
.illu-highlights-swiper {
  margin-top: 24px;
}
.illu-highlight-slide {
  height: min(52svh, 520px);
  min-height: 0;
  grid-template-columns: minmax(280px, .8fr) minmax(0, 1.2fr);
}
.illu-highlight-copy {
  padding: clamp(24px, 3vw, 44px);
}
.illu-highlight-copy h3 {
  font-size: clamp(1.8rem, 2.7vw, 2.8rem);
  line-height: 1;
  margin-bottom: 16px;
}
.illu-highlight-copy p {
  font-size: clamp(1rem, 1.25vw, 1.125rem);
  line-height: 1.4;
}
.illu-highlights-controls {
  margin-top: 16px;
}
.illu-highlights-arrows button {
  width: 44px;
  height: 44px;
  min-height: 44px;
}
@media (max-width: 900px) {
  .illu-highlight-slide {
    height: auto;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: min(32svh, 280px) auto;
  }
  .illu-highlight-media {
    aspect-ratio: auto;
    height: 100%;
  }
  .illu-highlight-copy {
    padding: 20px 24px;
  }
  .illu-highlight-copy h3 {
    font-size: clamp(1.7rem, 6vw, 2.1rem);
    margin-bottom: 12px;
  }
  .illu-highlight-copy p {
    font-size: 1rem;
  }
}

/* Visible, keyboard-accessible cart navigation before the checkout fields. */
.illu-checkout-back {
  margin: 0 0 28px;
}
.illu-checkout-back a {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  padding: 6px 0;
  color: var(--illu-kaki, #554b21);
  font: 600 17px/1.4 "Source Sans 3", sans-serif;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.illu-checkout-back a:hover { text-decoration-thickness: 2px; }
.illu-checkout-back a:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 5px;
  border-radius: 2px;
}

/* Manufacture — short, image-led account of the workshop. */
body.page-id-114 .site-main {
  margin: 0;
  max-width: none;
  padding: 0;
}

body.page-id-114 .page-header { display: none; }

.illu-manufacture-hero-workshop {
  min-height: calc(100svh - 118px);
  overflow: hidden;
  position: relative;
}

.illu-manufacture-hero-workshop > img {
  display: block;
  height: calc(100svh - 118px);
  object-fit: cover;
  width: 100%;
}

.illu-manufacture-hero-workshop::after {
  background: linear-gradient(180deg, transparent 48%, rgba(20, 23, 18, 0.65));
  content: "";
  inset: 0;
  position: absolute;
}

.illu-manufacture-hero-workshop > div {
  bottom: clamp(34px, 6vw, 88px);
  color: var(--illu-white);
  left: clamp(20px, 6vw, 96px);
  position: absolute;
  z-index: 1;
}

.illu-manufacture-hero-workshop h1 {
  color: inherit;
  font-size: clamp(4rem, 8vw, 8rem);
  line-height: 0.88;
  margin: 0;
}

.illu-manufacture-intro {
  background: #fbfaf6;
  padding: clamp(72px, 11vw, 170px) clamp(20px, 8vw, 128px);
}

.illu-manufacture-intro h2,
.illu-manufacture-proof h2 {
  color: var(--illu-kaki);
  font-size: clamp(3rem, 6vw, 6.5rem);
  line-height: 0.9;
  margin: 0;
  max-width: 12ch;
}

.illu-manufacture-intro > p:last-child,
.illu-manufacture-proof > div > p:not(.illu-pe-eyebrow) {
  font-size: 1.1rem;
  margin: 1.5rem 0 0;
  max-width: 38ch;
}

.illu-manufacture-proof {
  align-items: center;
  background: var(--illu-cream);
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr);
}

.illu-manufacture-proof > img {
  display: block;
  height: min(82vh, 820px);
  object-fit: cover;
  width: 100%;
}

.illu-manufacture-proof > div { padding: clamp(42px, 7vw, 100px); }

.illu-manufacture-proof .illu-home-link {
  color: var(--illu-kaki);
  margin-top: 1.8rem;
}

.illu-manufacture-contact {
  background: var(--illu-terracotta);
  padding: clamp(64px, 10vw, 130px) clamp(20px, 8vw, 128px);
}

.illu-manufacture-contact h2,
.illu-manufacture-contact p {
  color: var(--illu-white);
  margin: 0;
}

.illu-manufacture-contact h2 { font-size: clamp(3rem, 6vw, 6rem); }

.illu-manufacture-contact a {
  color: inherit;
  font-size: 1.2rem;
  font-weight: 800;
}

@media (max-width: 767px) {
  .illu-home-visual-hero,
  .illu-manufacture-hero-workshop { min-height: calc(100svh - 76px); }

  .illu-home-visual-hero img,
  .illu-manufacture-hero-workshop > img { height: calc(100svh - 76px); }

  .illu-home-visual-hero img { object-position: 44% center; }

  .illu-scene-grid,
  .illu-home-craft,
  .illu-manufacture-proof { grid-template-columns: minmax(0, 1fr); }

  .illu-scene-card:first-child { grid-row: auto; }

  .illu-scene-card:first-child figure,
  .illu-scene-card figure {
    aspect-ratio: 4 / 3;
    height: auto;
  }

  .illu-home-craft img,
  .illu-manufacture-proof > img { height: 58svh; }
}

@media (min-width: 768px) and (max-width: 900px) {
  .illu-scene-grid { grid-template-columns: minmax(0, 1fr); }
  .illu-scene-card:first-child { grid-row: auto; }
  .illu-scene-card:first-child figure,
  .illu-scene-card figure {
    aspect-ratio: 16 / 10;
    height: auto;
  }
}

/* H1 scale correction — 2026-09-15. */
.illu-home-hero h1 {
  font-size: clamp(2.5rem, 8vw, 6.5rem);
}

.illu-home-visual-copy h1,
.illu-manufacture-hero-workshop h1 {
  font-size: clamp(2rem, 4vw, 4rem);
  line-height: 0.95;
}

body.page:not(.home):not(.woocommerce-page) .entry-title {
  font-size: clamp(1.6rem, 4.5vw, 3.4rem);
}

.woocommerce-products-header__title,
.woocommerce div.product .product_title,
.woocommerce-cart .entry-title,
.woocommerce-checkout .entry-title,
.woocommerce-account .entry-title {
  font-size: clamp(1.6rem, 4.5vw, 3.7rem);
}

.woocommerce-account .entry-title {
  font-size: clamp(1.75rem, 3vw, 2.7rem);
}

body.woocommerce.single-product.illu-editorial-product .product_title {
  font-size: clamp(1.5rem, 2.5vw, 2.6rem);
}

.illu-pe-hero h1 {
  font-size: clamp(2rem, 3vw, 3.25rem);
  line-height: 1;
}

body:is(.postid-202, .postid-206) .illu-pe-hero-copy h1,
body.postid-222 .illu-pe-hero-copy h1 {
  font-size: 20px !important;
}

@media (min-width: 901px) {
  .illu-pe-hero h1 {
    font-size: clamp(2rem, 2.2vw, 2.8rem);
  }
}

@media (max-width: 767px) {
  .illu-home-hero h1 {
    font-size: clamp(2rem, 11.5vw, 3.1rem);
  }

  body.woocommerce.single-product.illu-editorial-product .product_title {
    font-size: clamp(1.4rem, 8vw, 2.3rem);
  }

  .illu-pe-hero h1 {
    font-size: clamp(1.75rem, 7.5vw, 2.4rem);
  }

  .woocommerce-account .entry-title {
    font-size: clamp(1.6rem, 7.5vw, 2.3rem);
  }

  body:is(.postid-202, .postid-206) .illu-pe-hero-copy h1,
  body.postid-222 .illu-pe-hero-copy h1 {
    font-size: clamp(1.8rem, 8vw, 2.1rem) !important;
  }
}

/* Accueil — trois appels visibles et trois panneaux pleine largeur. */
.illu-home-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.illu-home-actions a {
  background: var(--illu-cream);
  border: 1px solid var(--illu-cream);
  border-radius: 4px;
  color: var(--illu-kaki);
  font-size: 0.95rem;
  font-weight: 800;
  padding: 0.72rem 1rem;
  text-decoration: none;
}

.illu-home-actions a:last-child {
  backdrop-filter: blur(8px);
  background: rgba(20, 23, 18, 0.2);
  color: var(--illu-cream);
}

.illu-home-actions a:hover,
.illu-home-actions a:focus-visible {
  background: var(--illu-terracotta);
  border-color: var(--illu-terracotta);
  color: var(--illu-white);
}

.illu-home-scenes {
  padding: clamp(72px, 10vw, 150px) 0 0;
}

.illu-home-scenes > header {
  max-width: none;
  padding-inline: clamp(20px, 6vw, 96px);
}

.illu-scene-grid {
  display: block;
  max-width: none;
}

.illu-scene-card,
.illu-scene-card:first-child {
  align-items: stretch;
  border-radius: 0;
  display: grid;
  grid-row: auto;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
  grid-template-rows: minmax(0, 1fr);
  min-height: min(72svh, 760px);
  padding: 0;
  width: 100%;
}

.illu-scene-card figure,
.illu-scene-card:first-child figure {
  aspect-ratio: auto;
  height: 100%;
  margin: 0;
  min-height: 100%;
}

.illu-scene-card:nth-child(even) figure { order: 2; }
.illu-scene-card:nth-child(even) .illu-scene-copy { order: 1; }

.illu-scene-copy {
  align-content: center;
  display: grid;
  min-height: 100%;
  padding: clamp(40px, 7vw, 110px);
}

.illu-scene-copy :is(h2, h3),
.illu-scene-copy p {
  padding-inline: 0;
}

.illu-scene-copy :is(h2, h3) {
  font-size: clamp(3rem, 6vw, 6rem);
  line-height: 0.9;
  margin: 0;
}

.illu-scene-copy p {
  font-size: clamp(1.1rem, 1.7vw, 1.35rem);
  margin-top: 1rem;
}

.illu-scene-copy span {
  border-bottom: 1px solid currentColor;
  font-size: 0.95rem;
  font-weight: 800;
  justify-self: start;
  margin-top: 2rem;
  padding-bottom: 0.2rem;
}

@media (max-width: 900px) {
  .illu-scene-card,
  .illu-scene-card:first-child {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: min(56svh, 520px) auto;
    min-height: 0;
  }

  .illu-scene-card figure,
  .illu-scene-card:first-child figure {
    height: 100%;
    min-height: 0;
    order: 1 !important;
  }

  .illu-scene-copy {
    min-height: 260px;
    order: 2 !important;
    padding: 40px clamp(20px, 7vw, 54px);
  }
}

@media (max-width: 560px) {
  .illu-home-actions {
    align-items: stretch;
    display: grid;
  }

  .illu-home-actions a { text-align: center; }

  .illu-home-visual-copy .illu-pe-eyebrow {
    white-space: normal;
  }

  .illu-home-visual-copy > p:not(.illu-pe-eyebrow) {
    white-space: normal;
  }
}

/* Home section titles — quieter than the product photography. */
.illu-home-scenes h2,
.illu-home-craft h2 {
  font-size: clamp(1.8rem, 3vw, 3.25rem);
  line-height: 0.98;
}

.illu-scene-copy :is(h2, h3) {
  font-size: clamp(2.2rem, 4vw, 4rem);
}

/* Contact — leave real room for project details. */
body.page-id-130 #fluentform_1 textarea#ff_1_message {
  height: 260px;
  min-height: 260px;
  resize: vertical;
}

/* Home collection introduction — full terracotta band. */
.illu-home-scenes {
  background: var(--illu-terracotta);
}

.illu-home-scenes > header .illu-pe-eyebrow {
  color: var(--illu-sand);
}

.illu-home-scenes > header h2 {
  color: var(--illu-white);
}

@media (max-width: 767px) {
  body.page-id-130 #fluentform_1 textarea#ff_1_message {
    height: 210px;
    min-height: 210px;
  }
}

/* Manufacture — restrained team-led refit. */
.illu-manufacture-refonte {
  background: var(--illu-cream);
  color: var(--illu-ink);
}

.illu-manufacture-refonte .illu-manufacture-hero-workshop {
  background: var(--illu-kaki);
  height: clamp(480px, 68svh, 760px);
  min-height: 0;
}

.illu-manufacture-refonte .illu-manufacture-hero-workshop > img {
  height: 100%;
  inset: 0;
  object-position: center 54%;
  position: absolute;
}

.illu-manufacture-refonte .illu-manufacture-hero-workshop::after {
  background: linear-gradient(180deg, rgba(39, 39, 38, 0.04) 35%, rgba(39, 39, 38, 0.7) 100%);
}

.illu-manufacture-refonte .illu-manufacture-hero-copy {
  bottom: clamp(30px, 5vw, 68px);
  left: clamp(20px, 6vw, 96px);
  max-width: min(720px, calc(100vw - 40px));
}

.illu-manufacture-refonte .illu-manufacture-hero-copy .illu-pe-eyebrow {
  color: var(--illu-sand);
}

.illu-manufacture-refonte .illu-manufacture-hero-copy h1 {
  color: var(--illu-white);
  font-size: clamp(2.25rem, 4vw, 4rem);
  line-height: 0.95;
}

.illu-manufacture-duo {
  padding: clamp(72px, 10vw, 144px) clamp(20px, 7vw, 112px);
}

.illu-manufacture-duo-intro,
.illu-manufacture-profiles,
.illu-manufacture-signature > div {
  margin-inline: auto;
  max-width: 1240px;
}

.illu-manufacture-duo-intro {
  display: grid;
  gap: clamp(24px, 4vw, 64px);
  grid-template-columns: minmax(0, 1.05fr) minmax(280px, 0.7fr);
}

.illu-manufacture-duo-intro .illu-pe-eyebrow {
  grid-column: 1 / -1;
  margin-bottom: -0.75rem;
}

.illu-manufacture-duo-intro h2 {
  color: var(--illu-kaki);
  font-size: clamp(2.25rem, 3.6vw, 3.8rem);
  line-height: 0.94;
  margin: 0;
  max-width: 12ch;
}

.illu-manufacture-duo-intro > p:last-child {
  align-self: end;
  color: var(--illu-ink);
  font-size: clamp(1.15rem, 1.7vw, 1.4rem);
  line-height: 1.45;
  margin: 0 0 0.15rem;
  max-width: 40ch;
}

.illu-manufacture-profiles {
  display: grid;
  gap: clamp(16px, 2vw, 28px);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: clamp(56px, 8vw, 110px);
}

.illu-manufacture-profile {
  align-items: center;
  display: grid;
  gap: clamp(22px, 3vw, 40px);
  grid-template-columns: minmax(130px, 160px) minmax(0, 1fr);
  min-height: 330px;
  padding: clamp(24px, 3.5vw, 48px);
}

.illu-manufacture-profile--antoine {
  background: var(--illu-kaki);
  color: var(--illu-white);
}

.illu-manufacture-profile--ines {
  background: var(--illu-sand);
  color: var(--illu-ink);
}

.illu-manufacture-profile-portrait {
  align-self: center;
  aspect-ratio: 1;
  background: var(--illu-cream);
  border-radius: 50%;
  margin: 0;
  overflow: hidden;
}

.illu-manufacture-profile-portrait img {
  display: block;
  height: 100%;
  object-fit: contain;
  object-position: center bottom;
  width: 100%;
}

.illu-manufacture-profile-number {
  display: block;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  margin-bottom: 1.25rem;
}

.illu-manufacture-profile--antoine .illu-manufacture-profile-number {
  color: var(--illu-sand);
}

.illu-manufacture-profile--ines .illu-manufacture-profile-number {
  color: var(--illu-terracotta-dark);
}

.illu-manufacture-profile h3 {
  color: inherit;
  font-size: clamp(2.1rem, 2.8vw, 3rem);
  line-height: 0.92;
  margin: 0;
}

.illu-manufacture-profile-role {
  font-size: 0.88rem;
  font-weight: 850;
  letter-spacing: 0.055em;
  line-height: 1.25;
  margin: 0.8rem 0 1.15rem;
  text-transform: uppercase;
}

.illu-manufacture-profile--antoine .illu-manufacture-profile-role {
  color: var(--illu-sand);
}

.illu-manufacture-profile--ines .illu-manufacture-profile-role {
  color: var(--illu-kaki);
}

.illu-manufacture-profile-copy > p:last-child {
  color: inherit;
  font-size: 1.03rem;
  line-height: 1.5;
  margin: 0;
  max-width: 34ch;
}

.illu-manufacture-signature {
  background: var(--illu-terracotta);
  color: var(--illu-white);
  padding: clamp(64px, 9vw, 124px) clamp(20px, 7vw, 112px);
}

.illu-manufacture-signature > div {
  align-items: end;
  display: grid;
  gap: 32px;
  grid-template-columns: minmax(0, 1fr) auto;
}

.illu-manufacture-signature p {
  color: inherit;
  font-family: "Londrina Solid", "Source Sans 3", sans-serif;
  font-size: clamp(2.2rem, 3.6vw, 3.8rem);
  font-weight: 900;
  line-height: 0.94;
  margin: 0;
  max-width: 18ch;
  text-transform: uppercase;
}

.illu-manufacture-signature a {
  border-bottom: 1px solid currentColor;
  color: inherit;
  font-size: 1rem;
  font-weight: 850;
  padding-bottom: 0.25rem;
  text-decoration: none;
  white-space: nowrap;
}

.illu-manufacture-signature a:hover,
.illu-manufacture-signature a:focus-visible {
  color: var(--illu-cream);
}

@media (max-width: 1020px) {
  .illu-manufacture-profiles {
    grid-template-columns: minmax(0, 1fr);
  }

  .illu-manufacture-profile {
    grid-template-columns: minmax(130px, 170px) minmax(0, 1fr);
    min-height: 0;
  }
}

@media (max-width: 900px) {
  .illu-manufacture-refonte .illu-manufacture-hero-workshop {
    height: min(62svh, 560px);
    min-height: 420px;
  }

  .illu-manufacture-refonte .illu-manufacture-hero-workshop > img {
    object-position: 57% center;
  }

  .illu-manufacture-duo-intro,
  .illu-manufacture-signature > div {
    grid-template-columns: minmax(0, 1fr);
  }

  .illu-manufacture-duo-intro {
    gap: 24px;
  }

  .illu-manufacture-duo-intro .illu-pe-eyebrow {
    margin-bottom: 0;
  }

  .illu-manufacture-duo-intro > p:last-child {
    max-width: 32ch;
  }

  .illu-manufacture-signature > div {
    align-items: start;
  }
}

@media (max-width: 520px) {
  .illu-manufacture-profile {
    gap: 18px;
    grid-template-columns: 112px minmax(0, 1fr);
    padding: 20px;
  }

  .illu-manufacture-profile h3 {
    font-size: 2rem;
  }

  .illu-manufacture-profile-number {
    margin-bottom: 0.65rem;
  }

  .illu-manufacture-profile-role {
    font-size: 0.75rem;
    margin: 0.55rem 0 0.75rem;
  }

  .illu-manufacture-profile-copy > p:last-child {
    font-size: 0.92rem;
    line-height: 1.42;
  }
}

/* Home scenarios — keep each desktop scene within the visible screen rhythm. */
@media (min-width: 901px) {
  .illu-home-scenes {
    padding-top: clamp(32px, 3vw, 48px);
  }

  .illu-home-scenes .illu-scene-card,
  .illu-home-scenes .illu-scene-card:first-child {
    box-sizing: border-box;
    height: clamp(420px, 58svh, 620px);
    max-height: 620px;
    min-height: 0;
  }

  .illu-home-scenes .illu-scene-grid > .illu-scene-card:nth-child(2),
  .illu-home-scenes .illu-scene-grid > .illu-scene-card:nth-child(3) {
    height: clamp(420px, 58svh, 620px);
    max-height: 620px;
    min-height: 0;
  }

  .illu-home-scenes .illu-scene-card > figure,
  .illu-home-scenes .illu-scene-card > .illu-scene-copy {
    min-height: 0;
  }
}

/* Homepage — five-product masonry directly below the hero. */
body.home #collections.elementor-element {
  background: var(--illu-cream) !important;
  gap: 0 !important;
  padding: 0 !important;
}

body.home #collections > .e-con-inner,
body.home #collections > .elementor-element,
body.home #collections .elementor-widget-shortcode,
body.home #collections .elementor-widget-container,
body.home #collections .elementor-shortcode {
  height: 100%;
  margin: 0;
  max-width: none;
  padding: 0;
  width: 100%;
}

.illu-product-masonry {
  box-sizing: border-box;
  display: grid;
  gap: clamp(8px, 0.8vw, 14px);
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-template-rows: repeat(2, minmax(0, 1fr));
  height: clamp(660px, 62vw, 900px);
  padding: clamp(8px, 0.8vw, 14px);
  width: 100%;
}

.illu-product-masonry-card {
  background: var(--illu-mosaic-card-background, var(--illu-kaki));
  color: var(--illu-cream);
  display: block;
  isolation: isolate;
  min-height: 0;
  overflow: hidden;
  position: relative;
  text-decoration: none !important;
}

.illu-product-masonry-card::before {
  background: linear-gradient(
    112deg,
    transparent 18%,
    rgba(240, 235, 214, 0.04) 34%,
    rgba(240, 235, 214, 0.32) 48%,
    rgba(255, 255, 255, 0.08) 55%,
    transparent 72%
  );
  content: "";
  inset: -12% -45%;
  mix-blend-mode: soft-light;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  transform: translate3d(-42%, 0, 0);
  transition: opacity 220ms ease, transform 900ms cubic-bezier(0.22, 1, 0.36, 1);
  z-index: 2;
}

.illu-product-masonry-card--luma {
  grid-column: 1 / span 6;
  grid-row: 1 / span 2;
}

.illu-product-masonry-card--sila {
  grid-column: 7 / span 3;
  grid-row: 1;
}

.illu-product-masonry-card--nuna {
  grid-column: 10 / span 3;
  grid-row: 1;
}

.illu-product-masonry-card--rosace {
  grid-column: 7 / span 4;
  grid-row: 2;
}

.illu-product-masonry-card--mira {
  grid-column: 11 / span 2;
  grid-row: 2;
}

.illu-product-masonry-image {
  display: block;
  height: 100% !important;
  inset: 0;
  max-width: none !important;
  object-fit: cover;
  position: absolute;
  transform: scale(1.002);
  transition: filter 500ms ease, transform 800ms cubic-bezier(0.22, 1, 0.36, 1);
  width: 100% !important;
  z-index: 0;
}

.illu-product-masonry-card--image-contain .illu-product-masonry-image {
  box-sizing: border-box;
  object-fit: contain;
  padding: clamp(20px, 4vw, 68px);
}

.illu-product-masonry-card--luma .illu-product-masonry-image {
  object-position: 50% 50%;
}

.illu-product-masonry-card--sila .illu-product-masonry-image {
  object-position: 50% 42%;
}

.illu-product-masonry-card--nuna .illu-product-masonry-image {
  object-position: 50% 58%;
}

.illu-product-masonry-card--rosace .illu-product-masonry-image {
  object-position: 52% 48%;
}

.illu-product-masonry-card--mira .illu-product-masonry-image {
  object-position: 50% 44%;
}

.illu-product-masonry-shade {
  background: linear-gradient(180deg, rgba(20, 23, 18, 0.05) 34%, rgba(20, 23, 18, 0.7) 100%);
  inset: 0;
  pointer-events: none;
  position: absolute;
  transition: opacity 450ms ease;
  z-index: 1;
}

.illu-product-masonry-copy {
  align-items: flex-start;
  bottom: 0;
  color: var(--illu-cream);
  display: flex;
  flex-direction: column;
  left: 0;
  padding: clamp(20px, 2.2vw, 36px);
  padding-right: clamp(105px, 9vw, 150px);
  position: absolute;
  right: 0;
  text-shadow: 0 1px 20px rgba(20, 23, 18, 0.38);
  z-index: 3;
}

.illu-product-masonry-name {
  color: inherit;
  font-family: var(--illu-mosaic-title-font, var(--illu-type-heading, "Londrina Solid", sans-serif));
  font-size: clamp(2rem, 3.3vw, 4rem);
  font-weight: 900;
  letter-spacing: 0.015em;
  line-height: 0.9;
}

.illu-product-masonry-description {
  color: inherit;
  font-family: var(--illu-mosaic-subtitle-font, var(--illu-type-body, "Source Sans 3", sans-serif));
  font-size: clamp(0.9rem, 1.2vw, 1.15rem);
  line-height: 1.25;
  margin-top: 0.55rem;
}

.illu-product-masonry-link {
  aspect-ratio: 85.09 / 45.09;
  background: var(--illu-mosaic-logo-color, var(--illu-cream));
  bottom: clamp(20px, 2.2vw, 36px);
  display: block;
  -webkit-mask: url("assets/images/bouton-site.svg") center / contain no-repeat;
  mask: url("assets/images/bouton-site.svg") center / contain no-repeat;
  position: absolute;
  right: clamp(20px, 2.2vw, 36px);
  transition: opacity 250ms ease, transform 350ms cubic-bezier(0.22, 1, 0.36, 1);
  width: clamp(64px, 5.6vw, 88px);
  z-index: 4;
}

.illu-product-masonry-card:hover .illu-product-masonry-image,
.illu-product-masonry-card:focus-visible .illu-product-masonry-image {
  filter: saturate(0.9) contrast(1.05) sepia(0.035);
  transform: scale(1.045);
}

.illu-product-masonry-card:hover::before,
.illu-product-masonry-card:focus-visible::before {
  opacity: 1;
  transform: translate3d(42%, 0, 0);
}

.illu-product-masonry-card:hover .illu-product-masonry-link,
.illu-product-masonry-card:focus-visible .illu-product-masonry-link {
  transform: scale(1.08);
}

.illu-product-masonry-card:focus-visible {
  outline: 3px solid var(--illu-cream);
  outline-offset: -6px;
}

@media (max-width: 1100px) {
  .illu-product-masonry {
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
    grid-template-rows: repeat(3, minmax(260px, 1fr));
    height: min(1180px, 128vw);
    min-height: 900px;
  }

  .illu-product-masonry-card--luma {
    grid-column: 1;
    grid-row: 1 / span 2;
  }

  .illu-product-masonry-card--sila {
    grid-column: 2;
    grid-row: 1;
  }

  .illu-product-masonry-card--nuna {
    grid-column: 2;
    grid-row: 2;
  }

  .illu-product-masonry-card--rosace {
    grid-column: 1;
    grid-row: 3;
  }

  .illu-product-masonry-card--mira {
    grid-column: 2;
    grid-row: 3;
  }
}

@media (max-width: 767px) {
  .illu-product-masonry {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: none;
    height: auto;
    min-height: 0;
  }

  .illu-product-masonry-card,
  .illu-product-masonry-card--luma,
  .illu-product-masonry-card--sila,
  .illu-product-masonry-card--nuna,
  .illu-product-masonry-card--rosace,
  .illu-product-masonry-card--mira {
    aspect-ratio: 4 / 3;
    grid-column: 1;
    grid-row: auto;
  }

  .illu-product-masonry-card--luma,
  .illu-product-masonry-card--mira {
    aspect-ratio: 4 / 5;
  }

  .illu-product-masonry-copy {
    padding: 22px;
    padding-right: 112px;
  }

  .illu-product-masonry-link {
    bottom: 22px;
    right: 22px;
    width: 76px;
  }

  .illu-product-masonry-name {
    font-size: clamp(2.5rem, 13vw, 4.2rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  .illu-product-masonry-image,
  .illu-product-masonry-link svg,
  .illu-product-masonry-card::before {
    transition: none;
  }

  .illu-product-masonry-card:hover::before,
  .illu-product-masonry-card:focus-visible::before {
    opacity: 0.16;
    transform: none;
  }
}

/* Product specifications — compact, dark technical sheet on every product. */
.illu-product-experience .illu-pe-specifications {
  background: #1d1e1b;
  color: var(--illu-cream);
  padding: clamp(46px, 6vw, 78px) 0;
}

.illu-product-experience .illu-pe-specifications-inner {
  max-width: 1320px;
  padding-inline: clamp(20px, 5vw, 64px);
}

.illu-product-experience .illu-pe-specifications .illu-pe-eyebrow {
  color: var(--illu-sand);
  font-size: 0.68rem;
  font-weight: 750;
  letter-spacing: 0.15em;
  margin: 0 0 0.65rem;
}

.illu-product-experience .illu-pe-specifications h2 {
  color: var(--illu-cream);
  font-family: "Source Sans 3", system-ui, sans-serif;
  font-size: clamp(1.3rem, 1.65vw, 1.7rem);
  font-weight: 750;
  letter-spacing: 0.025em;
  line-height: 1.12;
  margin: 0;
  max-width: none;
  text-transform: uppercase;
}

.illu-product-experience .illu-pe-spec-grid {
  gap: 0;
  margin-top: clamp(26px, 3.5vw, 42px);
}

.illu-product-experience .illu-pe-spec-grid div {
  border-color: rgba(240, 235, 214, 0.22);
  padding: 16px clamp(14px, 2vw, 24px) 17px 0;
}

.illu-product-experience .illu-pe-spec-grid dt {
  color: rgba(201, 185, 154, 0.88);
  font-size: 0.66rem;
  font-weight: 750;
  letter-spacing: 0.1em;
  line-height: 1.25;
  margin-bottom: 0.45rem;
}

.illu-product-experience .illu-pe-spec-grid dd {
  color: var(--illu-cream);
  font-family: "Source Sans 3", system-ui, sans-serif;
  font-size: clamp(0.92rem, 1.15vw, 1.08rem);
  font-weight: 560;
  letter-spacing: 0.005em;
  line-height: 1.3;
}

@media (max-width: 560px) {
  .illu-product-experience .illu-pe-spec-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .illu-product-experience .illu-pe-spec-grid div {
    padding-right: 0;
  }
}

/* Manufacture overview — copy left, workshop visual right on desktop. */
.illu-manufacture-overview {
  background: var(--illu-cream);
  display: grid;
  grid-template-columns: minmax(290px, 0.78fr) minmax(0, 1.22fr);
}

.illu-manufacture-overview .illu-manufacture-hero-workshop {
  grid-column: 2;
  grid-row: 1;
  height: clamp(440px, 62svh, 640px);
}

.illu-manufacture-overview .illu-manufacture-hero-workshop > img {
  object-position: 62% center;
}

.illu-manufacture-overview .illu-manufacture-duo-intro {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  gap: 0;
  grid-column: 1;
  grid-row: 1;
  justify-content: center;
  margin: 0;
  max-width: none;
  padding: clamp(34px, 5vw, 72px);
}

.illu-manufacture-overview .illu-manufacture-duo-intro .illu-pe-eyebrow {
  grid-column: auto;
  margin: 0 0 1rem;
}

.illu-manufacture-overview .illu-manufacture-duo-intro h2 {
  font-size: clamp(2.15rem, 3.3vw, 3.45rem);
  max-width: 11ch;
}

.illu-manufacture-overview .illu-manufacture-duo-intro > p:last-child {
  align-self: auto;
  font-size: clamp(1rem, 1.35vw, 1.2rem);
  margin-top: clamp(20px, 2.5vw, 32px);
  max-width: 36ch;
}

.illu-manufacture-duo--profiles {
  padding-block: clamp(36px, 5vw, 72px);
}

.illu-manufacture-duo--profiles .illu-manufacture-profiles {
  margin-top: 0;
}

@media (max-width: 719px) {
  .illu-manufacture-overview {
    grid-template-columns: minmax(0, 1fr);
  }

  .illu-manufacture-overview .illu-manufacture-hero-workshop {
    grid-column: 1;
    grid-row: 1;
    height: min(58svh, 520px);
    min-height: 390px;
  }

  .illu-manufacture-overview .illu-manufacture-duo-intro {
    grid-column: 1;
    grid-row: 2;
    padding: clamp(48px, 11vw, 72px) 20px;
  }

  .illu-manufacture-overview .illu-manufacture-duo-intro h2 {
    max-width: 12ch;
  }
}

/* Manufacture profiles — paired layout without sequence numbers. */
.illu-manufacture-refonte .illu-manufacture-profile-number {
  display: none;
}

@media (min-width: 720px) and (max-width: 1020px) {
  .illu-manufacture-refonte .illu-manufacture-profiles {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .illu-manufacture-refonte .illu-manufacture-profile {
    align-content: start;
    align-items: start;
    grid-template-columns: minmax(0, 1fr);
  }

  .illu-manufacture-refonte .illu-manufacture-profile-portrait {
    justify-self: start;
    width: clamp(130px, 18vw, 170px);
  }
}

/* Product highlights — narrower cards with a near-square rhythm. */
.illu-product-experience .illu-highlight-slide {
  width: calc(100vw - 38px);
}

@media (min-width: 720px) and (max-width: 900px) {
  .illu-product-experience .illu-highlight-slide {
    grid-template-rows: min(44svh, 360px) auto;
    width: min(68vw, 560px);
  }
}

@media (min-width: 901px) {
  .illu-product-experience .illu-highlight-slide {
    grid-template-columns: minmax(240px, 0.9fr) minmax(0, 1.1fr);
    height: clamp(460px, 56svh, 560px);
    min-height: 0;
    width: clamp(560px, 55vw, 700px);
  }

  .illu-product-experience .illu-highlight-copy h3 {
    font-size: clamp(1.65rem, 2.1vw, 2.3rem);
  }
}

/* Manufacture — three-part team opening, with no workshop hero. */
.illu-manufacture-triptych {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  min-height: clamp(500px, calc(100svh - 118px), 720px);
}

.illu-manufacture-triptych .illu-manufacture-duo-intro {
  align-items: flex-start;
  background: var(--illu-terracotta);
  color: var(--illu-white);
  display: flex;
  flex-direction: column;
  gap: 0;
  grid-column: 2;
  grid-row: 1;
  justify-content: center;
  margin: 0;
  max-width: none;
  padding: clamp(28px, 4vw, 58px);
  padding-bottom: clamp(112px, 10vw, 146px);
  position: relative;
}

.illu-manufacture-triptych .illu-manufacture-duo-intro .illu-pe-eyebrow {
  color: var(--illu-sand);
  grid-column: auto;
  margin: 0 0 1rem;
}

.illu-manufacture-triptych .illu-manufacture-duo-intro h1 {
  color: var(--illu-white);
  font-size: clamp(2.15rem, 3.4vw, 3.7rem);
  line-height: 0.95;
  margin: 0;
  max-width: 10ch;
}

.illu-manufacture-triptych .illu-manufacture-duo-intro > .illu-manufacture-duo-copy {
  align-self: auto;
  color: var(--illu-white);
  font-size: clamp(1rem, 1.3vw, 1.18rem);
  line-height: 1.48;
  margin: clamp(22px, 3vw, 36px) 0 0;
  max-width: 32ch;
}

.illu-manufacture-triptych .illu-manufacture-profile {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  gap: clamp(22px, 3vw, 36px);
  justify-content: center;
  min-height: 0;
  padding: clamp(28px, 4vw, 58px);
}

.illu-manufacture-triptych .illu-manufacture-profile--ines {
  grid-column: 1;
  grid-row: 1;
}

.illu-manufacture-triptych .illu-manufacture-profile--antoine {
  grid-column: 3;
  grid-row: 1;
}

.illu-manufacture-triptych .illu-manufacture-profile-portrait {
  align-self: center;
  width: clamp(140px, 16vw, 200px);
}

.illu-manufacture-triptych .illu-manufacture-profile-copy {
  width: 100%;
}

.illu-manufacture-triptych .illu-manufacture-profile h2 {
  color: inherit;
  font-size: clamp(2rem, 2.8vw, 3rem);
  line-height: 0.95;
  margin: 0;
}

@media (max-width: 900px) {
  .illu-manufacture-triptych {
    grid-template-columns: minmax(0, 1fr);
    min-height: 0;
  }

  .illu-manufacture-triptych .illu-manufacture-duo-intro,
  .illu-manufacture-triptych .illu-manufacture-profile--ines,
  .illu-manufacture-triptych .illu-manufacture-profile--antoine {
    grid-column: 1;
  }

  .illu-manufacture-triptych .illu-manufacture-duo-intro {
    grid-row: 1;
    min-height: 440px;
  }

  .illu-manufacture-triptych .illu-manufacture-profile--ines {
    grid-row: 2;
  }

  .illu-manufacture-triptych .illu-manufacture-profile--antoine {
    grid-row: 3;
  }

  .illu-manufacture-triptych .illu-manufacture-profile {
    min-height: 480px;
  }
}

/* Manufacture contact — anchor the call to action in the terracotta panel. */
.illu-manufacture-triptych .illu-manufacture-duo-cta {
  bottom: clamp(28px, 4vw, 58px);
  border-bottom-width: 2px;
  border-bottom-style: solid;
  color: var(--illu-white);
  font-family: "Londrina Solid", "Source Sans 3", sans-serif;
  font-size: clamp(1.8rem, 2.6vw, 2.8rem);
  font-weight: 900;
  line-height: 0.98;
  max-width: 10ch;
  padding-bottom: 0.18em;
  position: absolute;
  right: clamp(28px, 4vw, 58px);
  text-align: right;
  text-decoration: none;
  text-transform: uppercase;
  white-space: normal;
}

.illu-manufacture-triptych .illu-manufacture-duo-cta:hover,
.illu-manufacture-triptych .illu-manufacture-duo-cta:focus-visible {
  color: var(--illu-cream);
}

@media (max-width: 900px) {
  .illu-manufacture-triptych .illu-manufacture-duo-intro {
    padding-bottom: 128px;
  }

  .illu-manufacture-triptych .illu-manufacture-duo-cta {
    bottom: 28px;
    font-size: clamp(2rem, 9vw, 2.7rem);
    right: 20px;
  }
}

/* Contact — keep the semantic H1 for accessibility, without displaying it. */
body.page-id-130 .site-main > .page-header {
  border: 0 !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  white-space: nowrap !important;
  width: 1px !important;
}

/* Rosace — reduce every detail-viewer image by 15%, without affecting other product visuals. */
body.postid-65 .illu-product-experience .illu-detail-stage > .illu-detail-image {
  height: 85%;
  inset: 7.5%;
  object-position: center;
  width: 85%;
}

/* Product technical drawings — compact, native SVG and reference-like line work. */
.illu-product-experience .illu-pe-technical {
  background: #f8f6ee;
  border-top: 1px solid rgba(86, 74, 31, 0.12);
  color: var(--illu-kaki);
  padding: clamp(46px, 6vw, 82px) 0;
}

.illu-product-experience .illu-pe-technical-inner {
  margin-inline: auto;
  max-width: 1180px;
  padding-inline: clamp(20px, 5vw, 72px);
}

.illu-product-experience .illu-pe-technical-header h2 {
  color: var(--illu-ink);
  font-family: "Source Sans 3", sans-serif;
  font-size: clamp(2.2rem, 4vw, 4rem);
  font-weight: 300;
  letter-spacing: -0.025em;
  line-height: 1.05;
  margin: 0;
  text-transform: none;
}

.illu-product-experience .illu-pe-technical-figure {
  margin: clamp(28px, 4vw, 52px) auto 0;
  max-width: 600px;
}

.illu-product-experience .illu-technical-svg {
  color: rgba(39, 39, 38, 0.72);
  display: block;
  height: auto;
  overflow: visible;
  width: 100%;
}

.illu-product-experience .illu-technical-svg :is(.illu-tech-shape, .illu-tech-measure) {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}

.illu-product-experience .illu-technical-svg .illu-tech-shape {
  stroke-width: 1.65;
}

.illu-product-experience .illu-technical-svg .illu-tech-measure {
  opacity: 0.72;
  stroke-width: 1.1;
}

.illu-product-experience .illu-technical-svg .illu-tech-muted {
  opacity: 0.38;
}

.illu-product-experience .illu-technical-svg .illu-tech-brass {
  stroke: var(--illu-terracotta);
}

.illu-product-experience .illu-technical-svg .illu-tech-labels text {
  fill: currentColor;
  font-family: "Source Sans 3", sans-serif;
  font-size: 18px;
  font-weight: 350;
  letter-spacing: 0;
}

.illu-product-experience .illu-technical-svg .illu-tech-labels .illu-tech-small {
  font-size: 15px;
}

.illu-product-experience .illu-technical-svg .illu-tech-labels .illu-tech-view {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.illu-product-experience .illu-pe-technical-figure figcaption {
  color: rgba(39, 39, 38, 0.56);
  font-size: 0.74rem;
  line-height: 1.4;
  margin-top: 0.65rem;
  text-align: center;
}

@media (max-width: 620px) {
  .illu-product-experience .illu-pe-technical {
    padding-block: 40px 48px;
  }

  .illu-product-experience .illu-pe-technical-header h2 {
    font-size: clamp(2rem, 10vw, 2.8rem);
  }

  .illu-product-experience .illu-pe-technical-figure {
    margin-top: 24px;
  }
}

/* Site-wide visual audit — shared archive and editorial-product geometry. */
body.tax-product_cat .woocommerce-products-header__title {
  max-width: 18ch;
  text-wrap: balance;
}

body.tax-product_cat ul.products {
  margin-left: 0;
  margin-right: 0;
}

@media (max-width: 760px) {
  body.tax-product_cat .site-main {
    overflow: hidden;
    padding: 30px 20px 44px;
  }

  body.tax-product_cat .woocommerce-products-header__title {
    font-size: clamp(1.8rem, 9vw, 2.45rem);
    line-height: 0.95;
    margin-bottom: 1.25rem;
  }

  .woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size: clamp(1.8rem, 9vw, 2.45rem);
    line-height: 1;
  }
}

/* Jewellery openings: one compact, balanced screen instead of a small packshot in a wide void. */
@media (min-width: 768px) {
  body:is(.postid-202, .postid-206) .illu-pe-hero {
    align-items: center;
    background: linear-gradient(90deg, #fff 0 52%, var(--illu-cream) 52% 100%);
    display: grid;
    gap: clamp(34px, 5vw, 78px);
    grid-template-columns: minmax(0, 1.08fr) minmax(340px, 0.92fr);
    max-height: 640px;
    min-height: clamp(500px, 62svh, 580px) !important;
    padding: clamp(30px, 4vw, 56px) clamp(34px, 6vw, 88px);
  }

  body:is(.postid-202, .postid-206) .illu-pe-hero-media {
    align-items: center;
    display: flex;
    height: clamp(410px, 52svh, 500px);
    justify-content: center;
    overflow: hidden;
  }

  body.postid-202 .illu-product-experience .illu-pe-hero-image {
    transform: scale(1.14);
  }

  body:is(.postid-202, .postid-206) .illu-pe-hero-copy {
    align-self: center;
    margin: 0;
    max-width: 460px;
    padding: 0;
    text-align: left;
  }

  body:is(.postid-202, .postid-206) .illu-pe-hero-copy h1 {
    font-size: clamp(2.15rem, 3vw, 3rem) !important;
    line-height: 0.96;
    margin: 0;
    max-width: 15ch !important;
  }

  body:is(.postid-202, .postid-206) .illu-pe-hero .illu-pe-eyebrow {
    margin-bottom: 1rem;
  }
}

/* Product archives share one predictable card system at every width. */
@media (min-width: 761px) {
  body.tax-product_cat ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.tax-product_cat ul.products:has(> li:only-child) {
    grid-template-columns: minmax(0, 1fr);
  }

  body.tax-product_cat ul.products > li.product:only-child {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(340px, 0.92fr);
    min-height: 460px;
    width: 100% !important;
  }

  body.tax-product_cat ul.products > li.product:only-child .illu-shop-card-media {
    min-height: 460px;
  }

  body.tax-product_cat ul.products > li.product:only-child .illu-shop-card-image {
    aspect-ratio: auto;
  }
}

body.term-photobooth .illu-shop-card-media {
  background: #fff;
}

body.term-photobooth .woocommerce ul.products li.product .illu-shop-card-image {
  object-fit: contain;
}

@media (max-width: 760px) {
  body.tax-product_cat ul.products {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.tax-product_cat.woocommerce ul.products li.product,
  body.tax-product_cat.woocommerce-page ul.products li.product {
    margin: 0 !important;
    width: 100% !important;
  }
}

/* Small-screen product type scale: section titles stay subordinate to the product. */
@media (max-width: 620px) {
  .illu-table-buy-visual-copy h2,
  .illu-table-buy-header h2,
  .illu-pe-section-header h2,
  .illu-pe-specifications h2,
  .illu-product-experience .illu-pe-technical-header h2 {
    font-size: clamp(1.9rem, 8.2vw, 2.1rem);
    line-height: 1;
  }

  .illu-highlight-copy h3 {
    font-size: clamp(1.8rem, 8.5vw, 2.2rem);
    line-height: 1;
  }
}

/* Complete the system pages rather than leaving a short default-theme fragment. */
body:is(.error404, .search, .author, .category) .site-main {
  box-sizing: border-box;
  margin-inline: auto;
  max-width: 1240px;
  min-height: calc(100svh - 170px);
  padding: clamp(42px, 7vw, 86px) clamp(20px, 5vw, 64px);
  width: 100%;
}

body.search .page-content {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.search .page-content > article {
  background: rgba(255, 250, 240, 0.7);
  border: 1px solid rgba(86, 74, 31, 0.18);
  border-radius: var(--illu-radius);
  margin: 0;
  overflow: hidden;
  padding: 24px;
}

body.search .page-content > article .wp-post-image {
  aspect-ratio: 4 / 3;
  display: block;
  margin: -24px -24px 22px;
  max-width: none;
  object-fit: cover;
  width: calc(100% + 48px);
}

body.search .page-content > article .entry-title {
  font-size: clamp(1.55rem, 2.4vw, 2.2rem);
  line-height: 1;
  margin: 0 0 1rem;
}

body.search .page-content > article .entry-summary {
  color: var(--illu-ink);
  display: -webkit-box;
  line-clamp: 5;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
}

.illu-not-found {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  justify-content: center;
  max-width: 720px;
  min-height: min(560px, calc(100svh - 250px));
}

.illu-not-found h1 {
  font-size: clamp(2.5rem, 6vw, 5rem);
  margin: 0 0 1rem;
}

.illu-not-found p {
  color: var(--illu-ink);
  font-size: clamp(1.05rem, 1.8vw, 1.25rem);
  max-width: 48ch;
}

.illu-not-found-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 1.6rem;
}

@media (max-width: 900px) {
  body.search .page-content {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* The wall composition is a primary action, directly after its opening. */
body.postid-206 .illu-product-experience > .illu-pe-purchase {
  order: 2;
}

/* Shared opening template for every Decoration product. */
body.illu-decoration-product-page .illu-product-experience > .illu-pe-purchase {
  order: 1;
}

body.illu-decoration-product-page .illu-pe-purchase-inner.illu-decoration-opening {
  align-items: start;
  gap: clamp(34px, 4vw, 64px);
  grid-template-columns: minmax(300px, 1fr) minmax(464px, 582px);
  min-height: calc(100svh - 99px);
  padding-block: clamp(32px, 4vw, 54px);
}

body.illu-decoration-product-page .illu-decoration-opening .illu-pe-purchase-copy {
  min-width: 0;
  position: sticky;
  top: 132px;
}

body.admin-bar.illu-decoration-product-page .illu-decoration-opening .illu-pe-purchase-copy {
  top: 164px;
}

body.illu-decoration-product-page .illu-decoration-opening .illu-shelf-opening-media {
  aspect-ratio: 4 / 5;
  background: var(--illu-white);
  margin: clamp(24px, 3vw, 38px) 0 0;
  max-height: 500px;
  overflow: hidden;
}

body.illu-decoration-product-page .illu-decoration-opening .illu-shelf-opening-image {
  display: block;
  height: 100%;
  object-fit: cover;
  object-position: center;
  width: 100%;
}

/* Shelf product opening: vertical Expo-inspired image slider. */
body.postid-24 .illu-decoration-opening .illu-shelf-expo-slider {
  --illu-expo-gap: clamp(8px, 1vw, 14px);
  aspect-ratio: 4 / 5;
  background: transparent;
  margin: clamp(24px, 3vw, 38px) 0 0;
  max-height: 820px;
  overflow: hidden;
  position: relative;
  width: 100%;
}

body.postid-24 .illu-decoration-opening .illu-shelf-expo-slide {
  box-sizing: border-box;
  margin: 0;
  transform-style: preserve-3d;
}

body.postid-24 .illu-decoration-opening .illu-shelf-expo-frame {
  background: var(--illu-white);
  height: 100%;
  overflow: hidden;
  position: relative;
  transform-origin: center bottom;
  transform-style: preserve-3d;
  width: 100%;
}

body.postid-24 .illu-decoration-opening .illu-shelf-expo-image {
  display: block;
  height: 126%;
  left: 0;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: -13%;
  transform-origin: center;
  width: 100%;
  will-change: filter, transform;
}

body.postid-24 .illu-shelf-expo-pagination {
  display: flex;
  flex-direction: column;
  gap: 8px;
  left: 14px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: auto;
  z-index: 5;
}

body.postid-24 .illu-shelf-expo-pagination .swiper-pagination-bullet {
  background: var(--illu-white);
  border: 1px solid rgba(86, 74, 31, 0.45);
  height: 8px;
  margin: 0;
  opacity: 0.72;
  transition: height 240ms ease, opacity 240ms ease;
  width: 8px;
}

body.postid-24 .illu-shelf-expo-pagination .swiper-pagination-bullet-active {
  background: var(--illu-terracotta);
  border-color: var(--illu-terracotta);
  height: 28px;
  opacity: 1;
}

body.postid-24 .illu-shelf-expo-navigation {
  bottom: 14px;
  display: flex;
  gap: 8px;
  position: absolute;
  right: 14px;
  z-index: 5;
}

body.postid-24 :is(.illu-shelf-expo-prev, .illu-shelf-expo-next) {
  align-items: center;
  backdrop-filter: blur(8px);
  background: rgba(240, 235, 214, 0.84);
  border: 1px solid rgba(86, 74, 31, 0.25);
  border-radius: 50%;
  color: var(--illu-kaki);
  cursor: pointer;
  display: inline-flex;
  font-size: 20px;
  height: 44px;
  justify-content: center;
  padding: 0;
  transition: background-color 180ms ease, color 180ms ease, opacity 180ms ease;
  width: 44px;
}

body.postid-24 :is(.illu-shelf-expo-prev, .illu-shelf-expo-next):is(:hover, :focus-visible) {
  background: var(--illu-terracotta);
  color: var(--illu-white);
}

body.postid-24 :is(.illu-shelf-expo-prev, .illu-shelf-expo-next).swiper-button-disabled {
  cursor: default;
  opacity: 0.38;
}

/* Shelf page section rhythm: terracotta, kaki, then beige. */
body:is(.postid-24, .postid-206) .illu-product-experience > .illu-pe-purchase {
  background: var(--illu-terracotta);
}

body:is(.postid-24, .postid-206) .illu-decoration-opening .illu-pe-purchase-copy,
body:is(.postid-24, .postid-206) .illu-decoration-opening .illu-pe-purchase-name,
body:is(.postid-24, .postid-206) .illu-decoration-opening .illu-pe-purchase-description,
body:is(.postid-24, .postid-206) .illu-decoration-opening .illu-pe-purchase-description p {
  color: var(--illu-white);
}

body.postid-24 .illu-product-experience > .illu-pe-highlights {
  background: var(--illu-kaki);
  color: var(--illu-white);
}

body.postid-24 .illu-product-experience > .illu-pe-highlights .illu-pe-section-header :is(.illu-pe-eyebrow, h2) {
  color: var(--illu-white);
}

body.postid-24 .illu-product-experience > .illu-pe-details {
  background: var(--illu-sand);
  color: var(--illu-ink);
}

body.postid-24 .illu-product-experience > .illu-pe-details .illu-pe-section-header :is(.illu-pe-eyebrow, h2) {
  color: var(--illu-kaki);
}

/* Compact purchase page: editorial essentials on the left, configurator on the right. */
@media (min-width: 1181px) {
  body:is(.postid-24, .postid-206) .illu-pe-purchase-inner.has-composer.illu-decoration-opening {
    gap: clamp(28px, 3vw, 48px);
    grid-template-columns: minmax(0, 3fr) minmax(0, 1fr);
    max-width: 1600px;
  }

  body:is(.postid-24, .postid-206) .illu-decoration-opening .illu-pe-purchase-copy {
    position: static;
  }

  body:is(.postid-24, .postid-206) .illu-decoration-opening .illu-pe-purchase-actions {
    align-self: start;
    position: sticky;
    top: 94px;
  }

  body.admin-bar:is(.postid-24, .postid-206) .illu-decoration-opening .illu-pe-purchase-actions {
    top: 126px;
  }
}

body:is(.postid-24, .postid-206) .illu-purchase-highlights {
  margin-top: clamp(32px, 4vw, 56px);
}

body:is(.postid-24, .postid-206) .illu-purchase-highlights-header {
  margin-bottom: clamp(20px, 2vw, 30px);
}

body:is(.postid-24, .postid-206) .illu-purchase-highlights-header .illu-pe-eyebrow {
  color: var(--illu-sand);
}

body:is(.postid-24, .postid-206) .illu-purchase-highlights-header h2 {
  color: var(--illu-white);
  line-height: 0.95;
  margin: 0;
}

body:is(.postid-24, .postid-206) .illu-purchase-highlight-grid {
  display: grid;
  gap: clamp(12px, 1.4vw, 20px);
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

body:is(.postid-24, .postid-206) .illu-purchase-highlight-card {
  background: var(--illu-cream);
  color: var(--illu-ink);
  min-width: 0;
  overflow: hidden;
}

body:is(.postid-24, .postid-206) .illu-purchase-highlight-media {
  aspect-ratio: 4 / 3;
  overflow: hidden;
}

body:is(.postid-24, .postid-206) .illu-purchase-highlight-image {
  display: block;
  height: 100%;
  object-fit: cover;
  transition: transform 300ms ease;
  width: 100%;
}

body.postid-206 .illu-purchase-highlight-card:first-child .illu-purchase-highlight-image {
  background: var(--illu-white);
  object-fit: contain;
  padding: 10px;
}

body.postid-206 .illu-purchase-highlight-card:nth-child(2) .illu-purchase-highlight-image {
  object-position: center top;
  transform: scale(1.38);
  transform-origin: center top;
}

body.postid-206 .illu-purchase-highlight-card:nth-child(3) .illu-purchase-highlight-image {
  object-position: center bottom;
  transform: scale(1.38);
  transform-origin: center bottom;
}

body:is(.postid-24, .postid-206) .illu-purchase-highlight-copy {
  padding: clamp(16px, 2vw, 24px);
}

html body:is(.postid-24, .postid-206) main:is(#main, #content) .illu-purchase-highlight-copy h3 {
  color: var(--illu-kaki);
  font-size: clamp(20px, 1.65vw, 25px) !important;
  line-height: 1;
  margin: 0 0 10px;
  text-transform: uppercase;
}

html body:is(.postid-24, .postid-206) .illu-purchase-highlight-copy p {
  color: var(--illu-ink);
  font-size: 15px !important;
  line-height: 1.42;
  margin: 0;
}

@media (hover: hover) and (pointer: fine) {
  body:is(.postid-24, .postid-206) .illu-purchase-highlight-card:hover .illu-purchase-highlight-image {
    transform: scale(1.025);
  }

  body.postid-206 .illu-purchase-highlight-card:nth-child(2):hover .illu-purchase-highlight-image,
  body.postid-206 .illu-purchase-highlight-card:nth-child(3):hover .illu-purchase-highlight-image {
    transform: scale(1.42);
  }
}

body:is(.postid-24, .postid-206) .illu-composer-heading {
  padding: 18px 18px 16px;
}

body:is(.postid-24, .postid-206) .illu-composer-heading h2 {
  margin-bottom: 8px;
}

body:is(.postid-24, .postid-206) .illu-composer-row {
  gap: 7px 10px;
  grid-template-columns: minmax(0, 1fr) 112px;
  min-height: 0;
  padding: 13px 14px 13px 18px;
}

body:is(.postid-24, .postid-206) .illu-composer-product {
  grid-column: 1;
  grid-row: 1;
}

body:is(.postid-24, .postid-206) .illu-composer-price {
  align-items: baseline;
  flex-direction: row;
  gap: 6px;
  grid-column: 1;
  grid-row: 2;
}

body:is(.postid-24, .postid-206) .illu-composer-stock {
  grid-column: 1 / -1;
  grid-row: 3;
}

body:is(.postid-24, .postid-206) .illu-composer-stepper {
  grid-column: 2;
  grid-row: 1 / 3;
  grid-template-columns: 36px 40px 36px;
  width: 112px;
}

body:is(.postid-24, .postid-206) .woocommerce .illu-composer-stepper button,
body:is(.postid-24, .postid-206) .woocommerce div.product form.cart .illu-composer-stepper button {
  width: 36px;
}

body:is(.postid-24, .postid-206) .illu-composer-stepper .quantity,
body:is(.postid-24, .postid-206) .illu-pe-purchase-actions .illu-composer-stepper .quantity .qty {
  width: 40px;
}

body:is(.postid-24, .postid-206) .illu-composer-summary {
  gap: 12px;
  padding: 16px 18px;
}

body:is(.postid-24, .postid-206) .woocommerce div.product form.cart.illu-composer .single_add_to_cart_button {
  min-height: 52px;
}

.illu-purchase-presentation-link {
  align-items: center;
  border-bottom: 2px solid currentColor;
  color: var(--illu-cream);
  display: inline-flex;
  font-size: 15px;
  font-weight: 750;
  gap: 14px;
  justify-self: start;
  margin-top: 4px;
  padding-bottom: 5px;
  text-decoration: none;
}

.illu-purchase-presentation-link:hover,
.illu-purchase-presentation-link:focus-visible {
  color: var(--illu-kaki);
}

@media (max-width: 1180px) {
  body:is(.postid-24, .postid-206) .illu-pe-purchase-inner.has-composer.illu-decoration-opening {
    gap: 36px;
    grid-template-columns: minmax(0, 1fr);
  }

  body:is(.postid-24, .postid-206) .illu-decoration-opening .illu-pe-purchase-actions {
    justify-self: center;
    max-width: 720px;
    order: 1;
  }

  body:is(.postid-24, .postid-206) .illu-decoration-opening .illu-pe-purchase-copy {
    order: 2;
    position: static;
  }
}

@media (max-width: 700px) {
  body:is(.postid-24, .postid-206) .illu-purchase-highlight-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  body:is(.postid-24, .postid-206) .illu-purchase-highlight-card {
    display: grid;
    grid-template-columns: minmax(112px, 0.42fr) minmax(0, 0.58fr);
  }

  body:is(.postid-24, .postid-206) .illu-purchase-highlight-media {
    aspect-ratio: auto;
    min-height: 160px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.postid-24 .illu-decoration-opening .illu-shelf-expo-image,
  body.postid-24 .illu-decoration-opening .illu-shelf-expo-frame {
    transition-duration: 0ms !important;
  }
}

body.illu-decoration-product-page:is(.postid-202, .postid-206) .illu-decoration-opening .illu-shelf-opening-image {
  object-fit: contain;
}

body.illu-decoration-product-page .illu-decoration-opening .illu-pe-purchase-actions {
  min-width: 0;
  width: 100%;
}

body.illu-decoration-product-page .illu-decoration-opening:not(.has-composer) .illu-pe-purchase-actions {
  align-items: stretch;
  align-self: start;
  background: #fbfaf6;
  border: 1px solid rgba(86, 74, 31, 0.24);
  border-radius: 8px;
  display: grid;
  gap: 22px;
  padding: clamp(24px, 3vw, 34px);
}

.illu-decoration-buy-heading {
  border-bottom: 1px solid rgba(86, 74, 31, 0.18);
  padding-bottom: 22px;
}

.illu-decoration-buy-heading h2 {
  color: var(--illu-kaki);
  line-height: 0.95;
  margin: 0 0 0.65rem;
  text-transform: uppercase;
}

.illu-decoration-buy-heading > p:last-child {
  color: var(--illu-ink);
  line-height: 1.45;
  margin: 0;
}

body.illu-decoration-product-page .illu-decoration-opening:not(.has-composer) .illu-pe-purchase-actions p.price {
  font-size: 1.3rem;
  margin: 0;
}

body.illu-decoration-product-page .illu-decoration-opening:not(.has-composer) form.cart {
  display: grid;
  gap: 12px;
  grid-template-columns: 86px minmax(0, 1fr);
  width: 100%;
}

body.illu-decoration-product-page .illu-decoration-opening:not(.has-composer) form.cart .stock {
  grid-column: 1 / -1;
  margin: 0;
}

body.illu-decoration-product-page .illu-decoration-opening:not(.has-composer) form.cart .quantity,
body.illu-decoration-product-page .illu-decoration-opening:not(.has-composer) form.cart .qty,
body.illu-decoration-product-page .illu-decoration-opening:not(.has-composer) form.cart .single_add_to_cart_button {
  width: 100%;
}

body.illu-decoration-product-page .illu-decoration-opening:not(.has-composer) form.cart .quantity {
  grid-column: 1;
}

body.illu-decoration-product-page .illu-decoration-opening:not(.has-composer) form.cart .single_add_to_cart_button {
  grid-column: 2;
}

@media (max-width: 900px) {
  body.illu-decoration-product-page .illu-pe-purchase-inner.illu-decoration-opening {
    gap: 32px;
    grid-template-columns: minmax(0, 1fr);
    min-height: 0;
  }

  body.illu-decoration-product-page .illu-decoration-opening .illu-pe-purchase-actions {
    order: 1;
  }

  body.illu-decoration-product-page .illu-decoration-opening .illu-pe-purchase-copy {
    order: 2;
    position: static;
  }

  body.illu-decoration-product-page .illu-decoration-opening .illu-shelf-opening-media {
    max-height: 420px;
  }

  body.postid-24 .illu-decoration-opening .illu-shelf-expo-slider {
    margin-inline: auto;
    max-width: 680px;
  }
}

@media (max-width: 520px) {
  body.postid-24 .illu-decoration-opening .illu-shelf-expo-slider {
    aspect-ratio: 4 / 5;
  }

  body.postid-24 .illu-shelf-expo-pagination {
    left: 10px;
  }

  body.postid-24 .illu-shelf-expo-navigation {
    bottom: 10px;
    right: 10px;
  }

  body.postid-24 :is(.illu-shelf-expo-prev, .illu-shelf-expo-next) {
    height: 40px;
    width: 40px;
  }
}

@media (max-width: 520px) {
  body.illu-decoration-product-page .illu-decoration-opening:not(.has-composer) form.cart {
    grid-template-columns: minmax(0, 1fr);
  }

  body.illu-decoration-product-page .illu-decoration-opening:not(.has-composer) form.cart .quantity,
  body.illu-decoration-product-page .illu-decoration-opening:not(.has-composer) form.cart .single_add_to_cart_button {
    grid-column: 1;
  }
}

/* Branded empty-cart and a single mobile order recap. */
.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title.with-empty-cart-icon::before {
  content: none !important;
  display: none !important;
}

.wc-block-cart__empty-cart__title.with-empty-cart-icon {
  margin-top: 0;
}

.wp-block-woocommerce-empty-cart-block .wp-block-separator.is-style-dots {
  display: none;
}

@media (max-width: 780px) {
  .woocommerce-cart .entry-title,
  .woocommerce-checkout .entry-title {
    font-size: 34px;
    line-height: 1.03;
  }

  body.woocommerce-checkout .wc-block-checkout.is-mobile > .wc-block-checkout__sidebar {
    display: none;
  }
}
/* Contextual product navigation: useful to visitors and search engines alike. */
.illu-pe-guides {
  order: 7;
  box-sizing: border-box;
  width: min(1120px, calc(100% - 48px));
  margin: 64px auto;
  padding: 38px 42px;
  background: var(--illu-sable, #eee9d8);
}

.illu-product-experience > .illu-pe-made-in-france {
  order: 8;
}

.illu-pe-guides h2 {
  margin: 8px 0 24px;
  color: var(--illu-kaki, #554b21);
  font-size: clamp(28px, 4vw, 44px);
  line-height: 1.05;
}

.illu-pe-guides ul {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.illu-pe-guides a {
  display: flex;
  min-height: 64px;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 18px;
  border: 1px solid rgba(85, 75, 33, .28);
  color: var(--illu-kaki, #554b21);
  font-family: "Source Sans 3", sans-serif;
  font-size: 16px;
  font-weight: 650;
  line-height: 1.3;
  text-decoration: none;
}

.illu-pe-guides a:hover,
.illu-pe-guides a:focus-visible {
  border-color: var(--illu-terracotta, #a9472e);
  color: var(--illu-terracotta, #a9472e);
}

@media (max-width: 760px) {
  .illu-pe-guides {
    width: calc(100% - 32px);
    margin: 42px auto;
    padding: 28px 22px;
  }

  .illu-pe-guides ul {
    grid-template-columns: 1fr;
  }
}

/* Keep linked native Elementor images as wide as their editable image widget. */
:is(.elementor-15, .elementor-284, .elementor-286, .elementor-202) .elementor-widget-image a {
  display: block;
}
:is(.elementor-15, .elementor-284, .elementor-286, .elementor-202, .elementor-808) .elementor-widget-text-editor p:last-child {
  margin-bottom: 0;
}
.elementor-808 .elementor-widget-text-editor p:first-child {
  margin-top: 0;
}

:is(.elementor-284, .elementor-286) .elementor-widget-illu-presentation-navigation {
  height: 0;
  margin: 0;
}
.elementor-editor-active .elementor-widget-illu-presentation-navigation .illu-product-subnav {
  position: static;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: none;
}
.elementor-editor-active :is(.elementor-284, .elementor-286) .elementor-widget-illu-presentation-navigation {
  height: auto;
}
.elementor-284 .elementor-widget-illu-shelf-diagram .illu-presentation-technical {
  margin-inline: auto;
}
:is(.elementor-286, .elementor-202) .elementor-widget-illu-jewellery-diagram {
  width: 100%;
}
:is(.elementor-286, .elementor-202) .illu-presentation-technical {
  margin-inline: auto;
}
.illu-elementor-product > .elementor {
  width: 100%;
}
.illu-elementor-purchase {
  padding: 0;
  border: 0;
  background: transparent;
}
.illu-elementor-purchase :is(.stock, input, button) {
  font-family: var(--illu-type-body);
  letter-spacing: 0;
}
.illu-elementor-purchase .stock {
  font-size: 16px;
}
:is(.elementor-130, .elementor-114, .elementor-94) .elementor-widget-text-editor p:last-child {
  margin-bottom: 0;
}
:is(.elementor-130, .elementor-114) .elementor-widget-image a {
  display: block;
}
.elementor-94 .elementor-widget-text-editor :is(ul, ol) {
  padding-left: 1.35em;
}
.elementor-94 .elementor-widget-text-editor li + li {
  margin-top: 0.35em;
}
.elementor-130 .fluentform :is(label, input, textarea, select, button) {
  font-family: var(--illu-type-body);
  font-size: 16px;
  letter-spacing: 0;
}

/* MIRA's editorial widgets own their layout; commerce remains WooCommerce. */
.elementor-222 .elementor-widget-text-editor p:last-child { margin-bottom: 0; }
.elementor-222 .elementor-widget-illu-gallery { width: 100%; min-width: 0; }
.elementor-222 .illu-table-buy-visual .illu-gallery { --gallery-height: min(580px, 68svh); }
.elementor-222 .illu-elementor-mira-purchase { font-family: 'Source Sans 3', sans-serif; }
.elementor-222 .illu-elementor-mira-purchase :is(input, button, .stock) { font-family: inherit; letter-spacing: 0; }
.elementor-222 .illu-elementor-mira-purchase .stock { font-size: 16px; margin: 0 0 24px; }
.elementor-222 .illu-elementor-mira-purchase button { font-size: 18px; }
.elementor-222 .illu-mira-layout { max-width: 1500px; margin-inline: auto; }
@media (max-width: 1024px) {
  .elementor-222 .illu-table-buy-visual { position: static; order: 2; }
  .elementor-222 .illu-table-buy-panel { order: 1; }
}
.elementor-editor-active .elementor-222 .illu-table-buy-visual { position: static; }

/* ROSACE native Elementor presentation: paragraph rhythm and responsive cover. */
.elementor-884 .elementor-widget-text-editor p:first-child { margin-top: 0; }
.elementor-884 .elementor-widget-text-editor p:last-child { margin-bottom: 0; }
.elementor-884.elementor .elementor-element.rosace-cover { min-height: min(620px, calc(100svh - 170px)); }
@media (min-width: 1600px) { .elementor-884.elementor .elementor-element.rosace-cover { min-height: min(740px, calc(100svh - 170px)); } }
@media (max-width: 767px) { .elementor-884.elementor .elementor-element.rosace-cover { min-height: min(610px, calc(100svh - 140px)); } }

@media (max-width: 360px) { .elementor-884.elementor .elementor-element.rosace-cover { min-height: min(520px, calc(100svh - 140px)); } }

/* ROSACE: compact choices, with shared information at step level. */
#product-65 .illu-table-buy-header { margin-bottom: 22px; }
#product-65 .illu-table-buy-header h2 { font-size: clamp(32px, 3.1vw, 44px); line-height: 1.05; }
#product-65 .illu-table-buy-header > p:last-child { font-size: 17px; margin-top: 12px; max-width: none; }
#product-65 .illu-table-step { padding: 18px 0 22px; }
#product-65 .illu-table-step legend { gap: 4px 10px; margin-bottom: 14px; padding-top: 10px; }
#product-65 .illu-table-step legend strong { font-size: 21px; }
#product-65 .illu-table-step legend small { font-size: 14px; line-height: 1.4; }
#product-65 .illu-table-choice-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
#product-65 .illu-table-size-list,
#product-65 .illu-table-finish-list { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
#product-65 .illu-table-size-list:has(> .illu-table-option:nth-child(3):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
#product-65 [data-illu-extension-options] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
#product-65 [data-illu-extension-options]:has(> .illu-table-option:nth-child(2):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
#product-65 .illu-table-configurator .illu-table-option {
  align-items: start;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: 1fr auto;
  gap: 14px;
  min-width: 0;
  min-height: 128px;
  height: 100%;
  padding: 32px 14px 16px;
  text-align: left;
}
#product-65 .illu-table-option-copy strong { font-size: 18px; line-height: 1.25; }
#product-65 .illu-table-option-copy small { font-size: 14px; line-height: 1.4; margin-top: 5px; }
#product-65 .illu-table-option-price { font-size: 15px; text-align: left; white-space: normal; }
#product-65 .illu-table-option.is-selected::after,
#product-65 .illu-table-option:has(input:checked)::after { width: 18px; height: 18px; right: 10px; top: 10px; font-size: 12px; }
#product-65 .illu-table-option:has(input:focus-visible) { outline: 3px solid var(--illu-kaki); outline-offset: 3px; }
#product-65 .illu-table-size-list .illu-table-option { min-height: 104px; gap: 10px; }
#product-65 .illu-table-size-list .illu-table-option-copy strong { font-size: 23px; }
#product-65 .illu-table-step-note { grid-column: 1 / -1; }
#product-65 .illu-table-single-choice { padding: 12px 0 16px; }
#product-65 .illu-table-single-choice legend { display: block; margin-bottom: 6px; }
#product-65 .illu-table-single-choice legend strong { font-size: 15px; }
#product-65 .illu-table-single-choice .illu-table-choice-list { display: block; }
#product-65 .illu-table-single-choice .illu-table-option {
  display: block;
  min-height: 0;
  height: auto;
  padding: 0;
  background: none;
  border: 0;
  box-shadow: none;
  cursor: default;
}
#product-65 .illu-table-single-choice .illu-table-option::after { display: none; }
#product-65 .illu-table-single-choice .illu-table-option-copy { flex-direction: row; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; }
#product-65 .illu-table-single-choice .illu-table-option-copy strong { font-size: 16px; }
#product-65 .illu-table-single-choice .illu-table-option-copy small { margin: 0; }
@media (max-width: 620px) {
  #product-65 .illu-table-finish-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #product-65 .illu-table-configurator .illu-table-option { min-height: 120px; padding: 30px 12px 14px; }
  #product-65 .illu-table-size-list { gap: 6px; }
  #product-65 .illu-table-size-list .illu-table-option { min-height: 96px; padding: 28px 7px 12px; }
  #product-65 .illu-table-size-list .illu-table-option-copy strong { font-size: 21px; }
  #product-65 .illu-table-size-list .illu-table-option-price { font-size: 14px; white-space: nowrap; }
  #product-65 [data-illu-extension-options] .illu-table-option { padding-inline: 9px; }
  #product-65 [data-illu-extension-options] .illu-table-option-copy strong { font-size: 16px; }
  #product-65 [data-illu-extension-options] .illu-table-option-copy small { font-size: 13px; }
  #product-65 .illu-table-single-choice .illu-table-option { min-height: 0; padding: 0; }
}

/* ROSACE purchase page: keep the configurator centred on its own. */
#product-65 .illu-table-configurator-only { padding-block: 36px 56px; }
#product-65 .illu-table-configurator-only .illu-table-buy-layout {
  grid-template-columns: minmax(0, 1fr);
  max-width: 840px;
  padding-inline: 20px;
}
#product-65 .illu-table-configurator-only .illu-table-buy-panel { width: 100%; max-width: none; }
#product-65 .illu-table-buy-header h1 {
  color: var(--illu-kaki);
  font-size: clamp(32px, 3.1vw, 44px);
  line-height: 1.05;
  margin: 0;
  text-transform: uppercase;
  text-wrap: balance;
}
@media (max-width: 620px) {
  #product-65 .illu-table-configurator-only { padding-top: 24px; }
  #product-65 .illu-table-configurator-only .illu-table-buy-layout { padding-inline: 16px; }
}
