/* MIRA : styles du catalogue (devoir 096). Chaque bloc garde son nom d'origine, dans le meme ordre. */

/* ===== styles ===== */
:root {
  --ink: #24180e;
  --ink-soft: #4d3927;
  --cream: #f9f3e7;
  --cream-deep: #efe3cf;
  --paper: #fffdf8;
  --honey: #d69522;
  --honey-light: #f2c35d;
  --gold: #e6a92f;
  --gold-dark: #a9670e;
  --leaf: #566346;
  --clay: #a9502f;
  --line: rgba(36, 24, 14, 0.14);
  --muted: #776957;
  --shadow-sm: 0 10px 30px rgba(56, 35, 16, 0.08);
  --shadow-md: 0 26px 80px rgba(48, 28, 10, 0.17);
  --radius-sm: 12px;
  --radius-md: 22px;
  --radius-lg: 34px;
  --shell: 1180px;
  --header-height: 82px;
  color-scheme: light;
}

* {
  box-sizing: border-box;
}

[hidden] {
  display: none !important;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--header-height) + 24px);
}

body {
  margin: 0;
  min-width: 320px;
  background: var(--paper);
  color: var(--ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.6;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

body.no-scroll {
  overflow: hidden;
}

img,
svg {
  display: block;
  max-width: 100%;
}

button,
input,
select,
textarea {
  font: inherit;
}

button,
a {
  -webkit-tap-highlight-color: transparent;
}

button {
  color: inherit;
}

a {
  color: inherit;
  text-decoration: none;
}

h1,
h2,
h3,
p {
  margin-top: 0;
}

h1,
h2,
h3 {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 500;
  line-height: 1.05;
  letter-spacing: -0.035em;
}

h1 {
  font-size: clamp(3rem, 6vw, 6.4rem);
}

h2 {
  margin-bottom: 20px;
  font-size: clamp(2.15rem, 4.6vw, 4.35rem);
}

h3 {
  font-size: clamp(1.35rem, 2vw, 1.85rem);
}

p {
  color: var(--ink-soft);
}

::selection {
  background: rgba(230, 169, 47, 0.34);
}

:focus-visible {
  outline: 3px solid rgba(214, 149, 34, 0.58);
  outline-offset: 3px;
}

.shell {
  width: min(calc(100% - 40px), var(--shell));
  margin-inline: auto;
}

.section {
  padding: 108px 0;
}

.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.skip-link {
  position: fixed;
  z-index: 9999;
  top: 10px;
  left: 10px;
  transform: translateY(-160%);
  padding: 10px 16px;
  border-radius: 10px;
  background: var(--ink);
  color: white;
  font-weight: 700;
}

.skip-link:focus {
  transform: translateY(0);
}

.eyebrow {
  margin-bottom: 14px;
  color: var(--gold-dark);
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.eyebrow--light {
  color: #f7cf78;
}

.button {
  display: inline-flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 13px 22px;
  border: 1px solid transparent;
  border-radius: 999px;
  cursor: pointer;
  font-weight: 800;
  line-height: 1.1;
  transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease, color 180ms ease, border-color 180ms ease;
}

.button:hover {
  transform: translateY(-2px);
}

.button--gold {
  background: linear-gradient(135deg, #f3c15c, #dc941b);
  color: #2c1a08;
  box-shadow: 0 12px 28px rgba(219, 145, 23, 0.23);
}

.button--gold:hover {
  box-shadow: 0 16px 34px rgba(219, 145, 23, 0.34);
}

.button--dark {
  background: var(--ink);
  color: white;
}

.button--outline {
  border-color: var(--line);
  background: transparent;
  color: var(--ink);
}

.button--outline:hover {
  border-color: var(--ink);
  background: rgba(36, 24, 14, 0.04);
}

.button--ghost {
  border-color: rgba(255, 255, 255, 0.52);
  background: rgba(255, 255, 255, 0.06);
  color: white;
  backdrop-filter: blur(10px);
}

.button--ghost:hover {
  background: rgba(255, 255, 255, 0.14);
}

.button--wide {
  width: 100%;
}

.text-button {
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
  color: var(--gold-dark);
  font-weight: 800;
}

.text-button:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.text-button--center {
  display: block;
  margin: 14px auto 0;
}

.icon-button {
  display: inline-grid;
  width: 42px;
  height: 42px;
  place-items: center;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: var(--paper);
  cursor: pointer;
  font-size: 1.65rem;
  line-height: 1;
}

.icon-button:hover {
  background: var(--cream);
}

.announcement {
  position: relative;
  z-index: 90;
  background: var(--ink);
  color: #fff5df;
}

.announcement__inner {
  display: flex;
  min-height: 38px;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 7px 0;
  text-align: center;
  font-size: 0.79rem;
  font-weight: 700;
  letter-spacing: 0.035em;
}

.site-header {
  position: sticky;
  z-index: 80;
  top: 0;
  border-bottom: 1px solid rgba(36, 24, 14, 0.08);
  background: rgba(255, 253, 248, 0.93);
  box-shadow: 0 8px 25px rgba(46, 29, 13, 0.04);
  backdrop-filter: blur(16px);
}

.header__inner {
  display: flex;
  min-height: var(--header-height);
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  flex-shrink: 0;
}

.brand__mark {
  display: grid;
  width: 46px;
  height: 46px;
  place-items: center;
  color: var(--gold-dark);
}

.brand__mark svg {
  width: 44px;
  height: 44px;
}

.brand > span:last-child {
  display: grid;
}

.brand strong {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.45rem;
  letter-spacing: 0.16em;
  line-height: 1;
}

.brand small {
  margin-top: 4px;
  color: var(--muted);
  font-size: 0.68rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.main-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(18px, 3vw, 38px);
}

.main-nav a {
  position: relative;
  color: var(--ink-soft);
  font-size: 0.9rem;
  font-weight: 700;
}

.main-nav a::after {
  position: absolute;
  right: 0;
  bottom: -7px;
  left: 0;
  height: 2px;
  transform: scaleX(0);
  background: var(--gold-dark);
  content: "";
  transition: transform 180ms ease;
}

.main-nav a:hover::after {
  transform: scaleX(1);
}

.header__actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.client-login {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 8px 14px;
  border: 1px solid var(--ink);
  border-radius: 999px;
  background: var(--ink);
  color: white;
  box-shadow: 0 7px 18px rgba(36, 24, 14, 0.14);
  font-size: 0.8rem;
  font-weight: 850;
  white-space: nowrap;
  transition: transform 180ms ease, background 180ms ease;
}

.client-login:hover {
  transform: translateY(-1px);
  background: #344f3b;
}

.client-login svg {
  width: 17px;
  height: 17px;
  flex: 0 0 auto;
}

.language-switch {
  display: flex;
  padding: 3px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--cream);
}

.lang-btn {
  min-width: 38px;
  min-height: 34px;
  padding: 5px 8px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  cursor: pointer;
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.04em;
}

.lang-btn.is-active {
  background: var(--ink);
  color: white;
  box-shadow: 0 4px 10px rgba(36, 24, 14, 0.16);
}

.other-language-select {
  width: 94px;
  min-height: 34px;
  padding: 5px 24px 5px 10px;
  border: 0;
  border-left: 1px solid rgba(18, 59, 100, 0.13);
  border-radius: 999px;
  background:
    linear-gradient(45deg, transparent 50%, currentColor 50%) calc(100% - 13px) 14px / 5px 5px no-repeat,
    linear-gradient(135deg, currentColor 50%, transparent 50%) calc(100% - 9px) 14px / 5px 5px no-repeat,
    transparent;
  appearance: none;
  cursor: pointer;
  color: #52677b;
  font: inherit;
  font-size: 0.72rem;
  font-weight: 850;
  white-space: nowrap;
}

.other-language-select:hover,
.other-language-select:focus-visible {
  background-color: rgba(255, 255, 255, 0.78);
  color: var(--trust-blue, #123b64);
  outline: none;
}

.cart-trigger {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  gap: 8px;
  padding: 8px 9px 8px 14px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--paper);
  cursor: pointer;
  font-weight: 800;
}

.cart-trigger:hover {
  border-color: rgba(36, 24, 14, 0.32);
}

.cart-trigger svg {
  width: 20px;
  height: 20px;
}

.cart-count {
  display: grid;
  min-width: 26px;
  height: 26px;
  place-items: center;
  padding: 0 6px;
  border-radius: 999px;
  background: var(--gold);
  color: var(--ink);
  font-size: 0.76rem;
}

.menu-toggle {
  display: none;
  width: 42px;
  height: 42px;
  place-content: center;
  gap: 5px;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
}

.menu-toggle span {
  display: block;
  width: 18px;
  height: 2px;
  border-radius: 2px;
  background: var(--ink);
}

.mobile-nav {
  padding: 4px 20px 20px;
  background: var(--paper);
}

.mobile-nav a {
  display: block;
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
  font-weight: 750;
}

.hero {
  position: relative;
  min-height: min(760px, calc(100vh - 38px));
  overflow: hidden;
  background: #3a2818;
  color: white;
}

.hero__media,
.hero__shade {
  position: absolute;
  inset: 0;
}

.hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 42%;
  animation: heroZoom 18s ease-out both;
}

@keyframes heroZoom {
  from { transform: scale(1.03); }
  to { transform: scale(1.11); }
}

.hero__shade {
  background:
    linear-gradient(90deg, rgba(27, 15, 5, 0.9) 0%, rgba(29, 17, 7, 0.66) 45%, rgba(32, 19, 8, 0.18) 76%, rgba(32, 19, 8, 0.08) 100%),
    linear-gradient(0deg, rgba(17, 10, 3, 0.65) 0%, rgba(17, 10, 3, 0) 45%);
}

.hero__content {
  position: relative;
  z-index: 2;
  display: flex;
  min-height: min(760px, calc(100vh - 38px));
  flex-direction: column;
  justify-content: center;
  padding-top: 66px;
  padding-bottom: 60px;
}

.hero h1 {
  max-width: 800px;
  margin-bottom: 25px;
  text-wrap: balance;
}

.hero__lead {
  max-width: 610px;
  margin-bottom: 32px;
  color: rgba(255, 250, 239, 0.84);
  font-size: clamp(1.03rem, 1.8vw, 1.28rem);
}

.hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.hero__stats {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  margin: 62px 0 0;
}

.hero__stats > div {
  min-width: 150px;
  padding: 0 34px;
  border-left: 1px solid rgba(255, 255, 255, 0.28);
}

.hero__stats > div:first-child {
  padding-left: 0;
  border-left: 0;
}

.hero__stats dt {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 2rem;
  line-height: 1;
}

.hero__stats dd {
  margin: 7px 0 0;
  color: rgba(255, 250, 239, 0.7);
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.photo-credit {
  margin: 0;
  color: rgba(255, 255, 255, 0.55);
  font-size: 0.68rem;
}

.photo-credit--hero {
  position: absolute;
  z-index: 2;
  right: 16px;
  bottom: 12px;
}

.trust-strip {
  border-bottom: 1px solid var(--line);
  background: var(--cream);
}

.trust-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

.trust-grid article {
  display: flex;
  min-height: 132px;
  align-items: center;
  gap: 16px;
  padding: 28px 22px;
  border-left: 1px solid var(--line);
}

.trust-grid article:first-child {
  border-left: 0;
}

.trust-icon {
  display: grid;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  place-items: center;
  border: 1px solid rgba(166, 102, 13, 0.25);
  border-radius: 50%;
  color: var(--gold-dark);
  font-size: 1.15rem;
}

.trust-grid strong {
  display: block;
  margin-bottom: 4px;
  font-size: 0.88rem;
}

.trust-grid p {
  margin: 0;
  color: var(--muted);
  font-size: 0.77rem;
  line-height: 1.45;
}

.section-heading {
  margin-bottom: 44px;
}

.section-heading--split {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 30px;
}

.section-heading--split > div:first-child {
  max-width: 790px;
}

.section-heading--split p:last-child,
.section-heading--center > p:last-child {
  max-width: 720px;
  margin-bottom: 0;
  font-size: 1.05rem;
}

.section-heading--center {
  max-width: 770px;
  margin-inline: auto;
  text-align: center;
}

.section-heading--center > p:last-child {
  margin-inline: auto;
}

.collection-section {
  background:
    radial-gradient(circle at 85% 8%, rgba(231, 175, 66, 0.13), transparent 24%),
    var(--paper);
}

.collection-count {
  display: grid;
  min-width: 115px;
  padding: 16px 20px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: var(--cream);
  text-align: center;
}

.collection-count strong {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 2.1rem;
  line-height: 1;
}

.collection-count span {
  margin-top: 4px;
  color: var(--muted);
  font-size: 0.72rem;
}

.collection-toolbar {
  display: grid;
  grid-template-columns: auto minmax(220px, 1fr) minmax(160px, 0.45fr) minmax(170px, 0.48fr);
  gap: 12px;
  margin-bottom: 20px;
}

.segmented {
  display: flex;
  padding: 4px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--cream);
}

.segmented button {
  min-height: 44px;
  padding: 9px 16px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  cursor: pointer;
  color: var(--muted);
  font-size: 0.84rem;
  font-weight: 800;
  white-space: nowrap;
}

.segmented button span {
  margin-left: 4px;
  opacity: 0.65;
}

.segmented button.is-active {
  background: var(--ink);
  color: white;
  box-shadow: 0 4px 10px rgba(36, 24, 14, 0.16);
}

.search-field,
.select-field {
  position: relative;
  display: flex;
  min-height: 54px;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: white;
}

.search-field svg {
  position: absolute;
  left: 17px;
  width: 20px;
  height: 20px;
  color: var(--muted);
  pointer-events: none;
}

.search-field input,
.select-field select {
  width: 100%;
  min-height: 52px;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--ink);
}

.search-field input {
  padding: 0 18px 0 48px;
}

.search-field input::placeholder {
  color: #9a8d7c;
}

.select-field select {
  padding: 0 42px 0 17px;
  cursor: pointer;
  appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);
  background-position: calc(100% - 19px) 23px, calc(100% - 14px) 23px;
  background-size: 5px 5px, 5px 5px;
  background-repeat: no-repeat;
  font-size: 0.86rem;
  font-weight: 700;
}

.active-filters {
  display: flex;
  min-height: 32px;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 20px;
}

.filter-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--cream);
  color: var(--ink-soft);
  font-size: 0.74rem;
  font-weight: 700;
}

.filter-pill button {
  display: grid;
  width: 19px;
  height: 19px;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(36, 24, 14, 0.1);
  cursor: pointer;
  font-size: 0.9rem;
  line-height: 1;
}

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

.product-card {
  position: relative;
  display: flex;
  min-width: 0;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: white;
  box-shadow: 0 1px 0 rgba(36, 24, 14, 0.02);
  transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
}

.product-card:hover {
  transform: translateY(-6px);
  border-color: rgba(166, 103, 14, 0.28);
  box-shadow: var(--shadow-sm);
}

.product-visual {
  position: relative;
  display: grid;
  min-height: 250px;
  place-items: center;
  overflow: hidden;
  background:
    radial-gradient(circle at 76% 19%, rgba(255, 255, 255, 0.8) 0 4%, transparent 4.5%),
    linear-gradient(145deg, var(--visual-light, #f8edcf), var(--visual-dark, #e6d0a3));
}

.product-visual::before,
.product-visual::after {
  position: absolute;
  border: 1px solid rgba(90, 59, 24, 0.09);
  border-radius: 50%;
  content: "";
}

.product-visual::before {
  width: 190px;
  height: 190px;
  top: -82px;
  right: -55px;
}

.product-visual::after {
  width: 130px;
  height: 130px;
  bottom: -65px;
  left: -32px;
}

.product-badges {
  position: absolute;
  z-index: 2;
  top: 14px;
  right: 14px;
  left: 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.product-badge {
  display: inline-flex;
  min-height: 28px;
  align-items: center;
  gap: 5px;
  padding: 5px 9px;
  border: 1px solid rgba(36, 24, 14, 0.12);
  border-radius: 999px;
  background: rgba(255, 253, 248, 0.85);
  backdrop-filter: blur(8px);
  color: var(--ink);
  font-size: 0.68rem;
  font-weight: 850;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.product-badge--rare {
  margin-left: auto;
  border-color: rgba(146, 73, 39, 0.18);
  background: rgba(151, 69, 36, 0.89);
  color: white;
}

.honey-jar {
  position: relative;
  z-index: 1;
  width: 128px;
  height: 166px;
  filter: drop-shadow(0 23px 20px rgba(78, 48, 17, 0.19));
  transition: transform 250ms ease;
}

.product-card:hover .honey-jar {
  transform: translateY(-5px) rotate(-1.5deg);
}

.jar-lid {
  position: absolute;
  z-index: 3;
  top: 0;
  left: 19px;
  width: 90px;
  height: 24px;
  border-radius: 7px 7px 4px 4px;
  background: repeating-linear-gradient(90deg, #3e2a18 0 5px, #4e3823 5px 8px);
  box-shadow: inset 0 3px 0 rgba(255, 255, 255, 0.1);
}

.jar-glass {
  position: absolute;
  inset: 19px 0 0;
  overflow: hidden;
  border: 3px solid rgba(255, 255, 255, 0.66);
  border-radius: 15px 15px 27px 27px;
  background: rgba(255, 255, 255, 0.28);
  box-shadow: inset 8px 0 13px rgba(255, 255, 255, 0.28), inset -9px 0 12px rgba(69, 36, 9, 0.09);
}

.jar-fill {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 86%;
  background: linear-gradient(145deg, var(--honey, #e1a028), var(--honey-deep, #ad5f08));
}

.jar-fill::before {
  position: absolute;
  top: 9px;
  right: 0;
  left: 0;
  height: 16px;
  border-radius: 50%;
  background: rgba(255, 229, 132, 0.24);
  content: "";
}

.jar-shine {
  position: absolute;
  z-index: 2;
  top: 26px;
  left: 14px;
  width: 11px;
  height: 94px;
  border-radius: 50%;
  background: linear-gradient(rgba(255, 255, 255, 0.65), rgba(255, 255, 255, 0.05));
  transform: rotate(4deg);
}

.jar-label {
  position: absolute;
  z-index: 2;
  top: 61px;
  left: 15px;
  display: grid;
  width: 92px;
  height: 60px;
  place-items: center;
  border: 1px solid rgba(69, 36, 9, 0.13);
  border-radius: 7px;
  background: rgba(255, 249, 231, 0.91);
  color: var(--ink);
  text-align: center;
  box-shadow: 0 4px 12px rgba(76, 46, 15, 0.09);
}

.jar-label span {
  display: block;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1rem;
  letter-spacing: 0.12em;
  line-height: 1;
}

.jar-label small {
  display: block;
  margin-top: 4px;
  font-size: 0.51rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.product-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 22px;
}

.product-card__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
  color: var(--gold-dark);
  font-size: 0.69rem;
  font-weight: 850;
  letter-spacing: 0.085em;
  text-transform: uppercase;
}

.product-card h3 {
  min-height: 2.1em;
  margin-bottom: 10px;
  font-size: 1.5rem;
}

.product-card__taste {
  display: -webkit-box;
  min-height: 3em;
  margin-bottom: 16px;
  overflow: hidden;
  color: var(--muted);
  font-size: 0.86rem;
  line-height: 1.5;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.product-card__traits {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: auto 0 18px;
}

.trait {
  padding: 5px 8px;
  border-radius: 999px;
  background: var(--cream);
  color: var(--ink-soft);
  font-size: 0.68rem;
  font-weight: 700;
}

.product-card__buy {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 12px;
  padding-top: 17px;
  border-top: 1px solid var(--line);
}

.product-price small {
  display: block;
  margin-bottom: 2px;
  color: var(--muted);
  font-size: 0.67rem;
}

.product-price strong {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.45rem;
  line-height: 1;
}

.card-actions {
  display: flex;
  gap: 7px;
}

.card-button {
  min-height: 40px;
  padding: 8px 12px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: white;
  cursor: pointer;
  font-size: 0.76rem;
  font-weight: 800;
}

.card-button:hover {
  border-color: var(--ink);
}

.card-button--add {
  border-color: var(--ink);
  background: var(--ink);
  color: white;
}

.empty-results {
  padding: 72px 20px;
  border: 1px dashed rgba(36, 24, 14, 0.25);
  border-radius: var(--radius-md);
  background: var(--cream);
  text-align: center;
}

.empty-results > span {
  font-size: 3rem;
}

.empty-results h3 {
  margin: 12px 0 8px;
}

.empty-results p {
  margin-bottom: 20px;
}

.catalog-note {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-top: 30px;
  padding: 18px 20px;
  border: 1px solid rgba(166, 103, 14, 0.19);
  border-radius: 16px;
  background: #fff8e7;
}

.catalog-note > span {
  display: grid;
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  place-items: center;
  border-radius: 50%;
  background: var(--gold);
  font-weight: 900;
}

.catalog-note p {
  margin: 0;
  font-size: 0.79rem;
  line-height: 1.55;
}

.story-section {
  overflow: hidden;
  background: var(--cream);
}

.story-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.87fr) minmax(420px, 1.13fr);
  align-items: center;
  gap: 80px;
}

.story-copy > p:not(.eyebrow) {
  max-width: 610px;
  font-size: 1.02rem;
}

.signature-card {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  margin-top: 18px;
  padding: 13px 17px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: rgba(255, 253, 248, 0.68);
}

.signature-card__mark {
  display: grid;
  width: 45px;
  height: 45px;
  place-items: center;
  border-radius: 50%;
  background: var(--ink);
  color: var(--gold);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.25rem;
}

.signature-card div {
  display: grid;
}

.signature-card small {
  color: var(--muted);
  font-size: 0.72rem;
}

.story-visuals {
  position: relative;
  min-height: 610px;
}

.story-photo {
  position: absolute;
  margin: 0;
  overflow: hidden;
  border: 8px solid var(--paper);
  border-radius: var(--radius-md);
  background: var(--paper);
  box-shadow: var(--shadow-md);
}

.story-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.story-photo figcaption,
.craft-image figcaption {
  position: absolute;
  right: 8px;
  bottom: 7px;
  padding: 4px 7px;
  border-radius: 999px;
  background: rgba(28, 18, 9, 0.68);
  color: rgba(255, 255, 255, 0.8);
  font-size: 0.57rem;
  backdrop-filter: blur(8px);
}

.story-photo--main {
  top: 0;
  right: 0;
  width: 75%;
  height: 500px;
  transform: rotate(1.7deg);
}

.story-photo--small {
  bottom: 0;
  left: 0;
  width: 47%;
  height: 285px;
  transform: rotate(-3.1deg);
}

.story-stamp {
  position: absolute;
  z-index: 4;
  right: 6%;
  bottom: 1%;
  display: grid;
  width: 120px;
  height: 120px;
  place-items: center;
  align-content: center;
  border: 2px solid rgba(166, 103, 14, 0.35);
  border-radius: 50%;
  background: var(--cream);
  color: var(--gold-dark);
  box-shadow: 0 12px 30px rgba(59, 36, 14, 0.14);
  font-size: 0.59rem;
  font-weight: 900;
  letter-spacing: 0.11em;
}

.story-stamp strong {
  margin: 4px 0;
  font-size: 1.2rem;
}

.delivery-section {
  background: var(--paper);
}

.delivery-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 160px minmax(0, 1fr);
  align-items: center;
}

.delivery-card {
  position: relative;
  min-height: 355px;
  overflow: hidden;
  padding: 34px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--cream);
}

.delivery-card::after {
  position: absolute;
  right: -48px;
  bottom: -62px;
  width: 180px;
  height: 180px;
  border: 30px solid rgba(255, 255, 255, 0.24);
  border-radius: 50%;
  content: "";
}

.delivery-card--kosovo {
  background: linear-gradient(145deg, #344a66, #21344d);
  color: white;
}

.delivery-card--swiss {
  background: linear-gradient(145deg, #b54a3b, #7c2f27);
  color: white;
}

.delivery-card p,
.delivery-card li {
  color: rgba(255, 255, 255, 0.8);
}

.delivery-card__flag {
  font-size: 2.5rem;
}

.delivery-card__overline {
  margin: 10px 0 5px;
  color: rgba(255, 255, 255, 0.67) !important;
  font-size: 0.74rem;
  font-weight: 850;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.delivery-card h3 {
  margin: 0 0 12px;
  font-size: 3.5rem;
}

.delivery-card h3 span {
  font-family: inherit;
  font-size: 1.1rem;
  letter-spacing: 0;
}

.delivery-card ul {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 8px;
  margin: 22px 0 0;
  padding: 0;
  list-style: none;
}

.delivery-card li::before {
  margin-right: 9px;
  color: #f6cf79;
  content: "✓";
  font-weight: 900;
}

.delivery-route {
  display: flex;
  align-items: center;
  justify-content: center;
}

.route-dot {
  width: 10px;
  height: 10px;
  flex: 0 0 10px;
  border: 2px solid var(--gold-dark);
  border-radius: 50%;
}

.route-line {
  width: 45px;
  border-top: 1px dashed rgba(166, 103, 14, 0.5);
}

.route-bee {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  color: var(--gold-dark);
  animation: beeHover 2.4s ease-in-out infinite;
}

@keyframes beeHover {
  0%, 100% { transform: translateY(0) rotate(-7deg); }
  50% { transform: translateY(-8px) rotate(7deg); }
}

.payment-panel {
  display: grid;
  grid-template-columns: auto 1fr minmax(220px, 0.42fr);
  align-items: center;
  gap: 24px;
  margin-top: 36px;
  padding: 27px 30px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--cream);
}

.payment-panel__icon {
  display: grid;
  width: 68px;
  height: 68px;
  place-items: center;
  border-radius: 50%;
  background: white;
  color: var(--gold-dark);
  box-shadow: var(--shadow-sm);
}

.payment-panel__icon svg {
  width: 42px;
  height: 42px;
}

.payment-panel .eyebrow {
  margin-bottom: 5px;
}

.payment-panel h3 {
  margin-bottom: 7px;
  font-size: 1.65rem;
}

.payment-panel p {
  margin: 0;
  font-size: 0.87rem;
}

.payment-warning {
  display: grid;
  gap: 4px;
  padding: 15px 17px;
  border-left: 3px solid var(--clay);
  background: rgba(169, 80, 47, 0.07);
}

.payment-warning strong {
  color: var(--clay);
  font-size: 0.75rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.payment-warning span {
  color: var(--ink-soft);
  font-size: 0.75rem;
}

.craft-section {
  background: #262017;
  color: white;
}

.craft-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 0.86fr);
  align-items: center;
  gap: 75px;
}

.craft-image {
  position: relative;
  height: 590px;
  margin: 0;
  overflow: hidden;
  border-radius: var(--radius-lg);
}

.craft-image::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(21, 16, 10, 0.35), transparent 55%);
  content: "";
}

.craft-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.craft-copy h2 {
  color: white;
}

.craft-points {
  display: grid;
  gap: 0;
}

.craft-points article {
  display: grid;
  grid-template-columns: 52px 1fr;
  gap: 16px;
  padding: 22px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.13);
}

.craft-points article > span {
  color: #f3c25e;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.35rem;
}

.craft-points h3 {
  margin-bottom: 6px;
  color: white;
  font-size: 1.35rem;
}

.craft-points p {
  margin: 0;
  color: rgba(255, 255, 255, 0.68);
  font-size: 0.88rem;
}

.sources-section {
  background: var(--cream);
}

.sources-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr);
  gap: 72px;
}

.sources-grid > div:first-child {
  position: sticky;
  top: calc(var(--header-height) + 30px);
  align-self: start;
}

.sources-grid > div:first-child p:last-child {
  max-width: 500px;
}

.source-links {
  display: grid;
}

.source-links a {
  display: grid;
  grid-template-columns: minmax(170px, 0.45fr) minmax(0, 1fr);
  gap: 20px;
  padding: 20px 2px;
  border-top: 1px solid var(--line);
  transition: padding 180ms ease, color 180ms ease;
}

.source-links a:last-child {
  border-bottom: 1px solid var(--line);
}

.source-links a:hover {
  padding-left: 10px;
  color: var(--gold-dark);
}

.source-links strong {
  font-size: 0.87rem;
}

.source-links span {
  color: var(--muted);
  font-size: 0.8rem;
}

.health-notice {
  margin-top: 50px;
  padding: 18px 20px;
  border: 1px solid rgba(169, 80, 47, 0.2);
  border-radius: 14px;
  background: rgba(169, 80, 47, 0.06);
  color: var(--ink-soft);
  font-size: 0.82rem;
}

.health-notice strong {
  color: var(--clay);
}

.contact-section {
  padding: 100px 0;
  background:
    radial-gradient(circle at 8% 15%, rgba(241, 187, 75, 0.2), transparent 25%),
    var(--ink);
  color: white;
}

.contact-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.83fr) minmax(420px, 1.17fr);
  align-items: center;
  gap: 90px;
}

.contact-grid h2 {
  color: white;
}

.contact-grid > div > p:not(.eyebrow) {
  max-width: 500px;
  color: rgba(255, 255, 255, 0.67);
}

.contact-email {
  display: inline-block;
  margin-top: 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.45);
  color: #f5ca70;
  font-size: 1.05rem;
  font-weight: 750;
}

.contact-email-note {
  display: inline-block;
  max-width: 590px;
  margin-top: 16px !important;
  padding: 13px 16px;
  border: 1px solid rgba(245, 202, 112, 0.34);
  border-radius: 14px;
  background: rgba(245, 202, 112, 0.09);
  color: #f8d88d !important;
  font-size: 0.98rem;
  font-weight: 760;
  line-height: 1.45;
}

.contact-form {
  display: grid;
  gap: 15px;
  padding: 30px;
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: var(--radius-md);
  background: rgba(255, 255, 255, 0.07);
  backdrop-filter: blur(12px);
}

.field-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

label {
  display: grid;
  gap: 7px;
  color: currentColor;
  font-size: 0.77rem;
  font-weight: 750;
}

input,
select,
textarea {
  width: 100%;
  border: 1px solid rgba(36, 24, 14, 0.17);
  border-radius: 11px;
  background: white;
  color: var(--ink);
  transition: border-color 160ms ease, box-shadow 160ms ease;
}

input,
select {
  min-height: 48px;
  padding: 0 13px;
}

textarea {
  min-height: 100px;
  padding: 12px 13px;
  resize: vertical;
}

input:focus,
select:focus,
textarea:focus {
  outline: none;
  border-color: var(--gold);
  box-shadow: 0 0 0 3px rgba(230, 169, 47, 0.17);
}

.contact-form input,
.contact-form select,
.contact-form textarea {
  border-color: rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.92);
}

.contact-form .form-note {
  margin: -3px 0 0;
  color: rgba(255, 255, 255, 0.55);
  font-size: 0.68rem;
  text-align: center;
}

.contact-fallback-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.contact-fallback-actions .button {
  min-height: 42px;
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: white;
  background: rgba(255, 255, 255, 0.08);
}

@media (max-width: 520px) {
  .contact-fallback-actions { grid-template-columns: 1fr; }
}

.site-footer {
  padding: 68px 0 22px;
  background: #18120c;
  color: white;
}

.footer-grid {
  display: grid;
  grid-template-columns: minmax(220px, 1.4fr) repeat(2, minmax(130px, 0.6fr)) minmax(210px, 1fr);
  gap: 50px;
}

.brand--footer {
  color: white;
}

.brand--footer small {
  color: rgba(255, 255, 255, 0.52);
}

.footer-brand p {
  max-width: 260px;
  margin-top: 18px;
  color: rgba(255, 255, 255, 0.52);
  font-size: 0.78rem;
}

.footer-grid > div:not(.footer-brand) {
  display: flex;
  flex-direction: column;
  gap: 9px;
}

.footer-grid > div > strong {
  margin-bottom: 5px;
  color: rgba(255, 255, 255, 0.88);
  font-size: 0.72rem;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.footer-grid a,
.footer-grid p,
.footer-grid .text-button {
  color: rgba(255, 255, 255, 0.55);
  font-size: 0.77rem;
  text-align: left;
}

.footer-grid a:hover {
  color: white;
}

.footer-status p {
  margin: 0 0 5px;
}

.footer-status .text-button {
  color: #f2c45f;
}

.footer-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  margin-top: 55px;
  padding-top: 20px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.4);
  font-size: 0.67rem;
}

.drawer-backdrop {
  position: fixed;
  z-index: 199;
  inset: 0;
  background: rgba(20, 12, 5, 0.58);
  opacity: 0;
  backdrop-filter: blur(3px);
  transition: opacity 240ms ease;
}

.drawer-backdrop.is-open {
  opacity: 1;
}

.cart-drawer {
  position: fixed;
  z-index: 200;
  top: 0;
  right: 0;
  display: flex;
  width: min(470px, 100%);
  height: 100dvh;
  flex-direction: column;
  transform: translateX(104%);
  background: var(--paper);
  box-shadow: -24px 0 70px rgba(33, 18, 6, 0.24);
  transition: transform 280ms cubic-bezier(.22, .8, .27, 1);
}

.cart-drawer.is-open {
  transform: translateX(0);
}

.drawer__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 24px 24px 18px;
  border-bottom: 1px solid var(--line);
}

.drawer__header .eyebrow {
  margin-bottom: 4px;
}

.drawer__header h2 {
  margin: 0;
  font-size: 2rem;
}

.gift-banner {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 16px 20px 0;
  padding: 12px 14px;
  border: 1px solid rgba(166, 103, 14, 0.18);
  border-radius: 13px;
  background: #fff5da;
  color: var(--gold-dark);
}

.gift-banner > span {
  font-size: 1.25rem;
}

.gift-banner p {
  display: grid;
  margin: 0;
}

.gift-banner strong {
  font-size: 0.75rem;
}

.gift-banner p span {
  color: var(--muted);
  font-size: 0.68rem;
}

.cart-items {
  flex: 1;
  overflow: auto;
  padding: 16px 20px;
}

.cart-item {
  display: grid;
  grid-template-columns: 68px minmax(0, 1fr) auto;
  gap: 13px;
  padding: 15px 0;
  border-bottom: 1px solid var(--line);
}

.cart-item__visual {
  display: grid;
  width: 68px;
  height: 78px;
  place-items: center;
  border-radius: 12px;
  background: linear-gradient(145deg, var(--visual-light), var(--visual-dark));
}

.mini-jar {
  position: relative;
  width: 32px;
  height: 48px;
  overflow: hidden;
  border: 2px solid rgba(255, 255, 255, 0.74);
  border-radius: 6px 6px 9px 9px;
  background: linear-gradient(var(--honey), var(--honey-deep));
  box-shadow: 0 8px 12px rgba(71, 41, 12, 0.18);
}

.mini-jar::before {
  position: absolute;
  top: -3px;
  left: 3px;
  width: 23px;
  height: 7px;
  border-radius: 2px;
  background: #46301d;
  content: "";
}

.cart-item h3 {
  margin: 0 0 4px;
  font-family: inherit;
  font-size: 0.88rem;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.35;
}

.cart-item__details {
  color: var(--muted);
  font-size: 0.7rem;
}

.quantity-control {
  display: inline-flex;
  align-items: center;
  margin-top: 9px;
  border: 1px solid var(--line);
  border-radius: 999px;
}

.quantity-control button {
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.quantity-control span {
  min-width: 24px;
  text-align: center;
  font-size: 0.72rem;
  font-weight: 800;
}

.cart-item__right {
  display: flex;
  flex-direction: column;
  align-items: end;
  justify-content: space-between;
  gap: 8px;
}

.cart-item__price {
  white-space: nowrap;
  font-size: 0.78rem;
  font-weight: 850;
}

.remove-item {
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
  color: var(--muted);
  font-size: 0.66rem;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.cart-empty {
  display: grid;
  flex: 1;
  place-items: center;
  align-content: center;
  padding: 40px 30px;
  text-align: center;
}

.cart-empty > span {
  display: grid;
  width: 72px;
  height: 72px;
  place-items: center;
  border-radius: 50%;
  background: var(--cream);
  color: var(--gold-dark);
  font-size: 2rem;
}

.cart-empty h3 {
  margin: 18px 0 7px;
}

.cart-empty p {
  max-width: 270px;
  margin-bottom: 20px;
  color: var(--muted);
  font-size: 0.84rem;
}

.drawer__footer {
  padding: 20px 24px 24px;
  border-top: 1px solid var(--line);
  background: var(--paper);
  box-shadow: 0 -15px 35px rgba(55, 33, 12, 0.05);
}

.cart-total {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  margin-bottom: 5px;
}

.cart-total span {
  color: var(--muted);
  font-size: 0.79rem;
}

.cart-total strong {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.35rem;
}

.shipping-caveat {
  margin-bottom: 15px;
  color: var(--muted);
  font-size: 0.67rem;
}

dialog {
  max-width: calc(100% - 28px);
  padding: 0;
  border: 0;
  border-radius: var(--radius-md);
  background: var(--paper);
  color: var(--ink);
  box-shadow: 0 40px 120px rgba(31, 17, 5, 0.45);
}

dialog::backdrop {
  background: rgba(20, 12, 5, 0.72);
  backdrop-filter: blur(6px);
}

dialog[open] {
  animation: dialogIn 210ms ease-out both;
}

@keyframes dialogIn {
  from { opacity: 0; transform: translateY(12px) scale(0.985); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

.dialog-close {
  position: absolute;
  z-index: 5;
  top: 15px;
  right: 15px;
}

.product-dialog {
  width: min(930px, calc(100% - 28px));
}

.product-dialog__grid {
  display: grid;
  grid-template-columns: minmax(300px, 0.85fr) minmax(0, 1.15fr);
}

.product-dialog__visual {
  display: grid;
  min-height: 610px;
  place-items: center;
  background: linear-gradient(145deg, var(--visual-light), var(--visual-dark));
}

.product-dialog__visual .honey-jar {
  transform: scale(1.55);
}

.product-dialog__copy {
  padding: 52px 48px 42px;
}

.product-dialog__copy h2 {
  margin-bottom: 12px;
  font-size: clamp(2.2rem, 4vw, 3.6rem);
}

.dialog-origin {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
}

.dialog-origin span {
  padding: 5px 9px;
  border-radius: 999px;
  background: var(--cream);
  color: var(--gold-dark);
  font-size: 0.68rem;
  font-weight: 850;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.dialog-price {
  display: flex;
  align-items: baseline;
  gap: 9px;
  margin-bottom: 20px;
}

.dialog-price strong {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.75rem;
}

.dialog-price span {
  color: var(--muted);
  font-size: 0.76rem;
}

.detail-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  margin: 23px 0;
  border: 1px solid var(--line);
  border-radius: 15px;
}

.detail-grid > div {
  padding: 14px 15px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.detail-grid > div:nth-child(2n) {
  border-right: 0;
}

.detail-grid > div:nth-last-child(-n + 2) {
  border-bottom: 0;
}

.detail-grid span {
  display: block;
  margin-bottom: 3px;
  color: var(--muted);
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.detail-grid strong {
  font-size: 0.8rem;
}

.benefit-box {
  margin-bottom: 20px;
  padding: 15px 16px;
  border-left: 3px solid var(--gold);
  background: var(--cream);
}

.benefit-box strong {
  display: block;
  margin-bottom: 4px;
  font-size: 0.75rem;
}

.benefit-box p {
  margin: 0;
  color: var(--ink-soft);
  font-size: 0.79rem;
}

.product-options {
  display: grid;
  grid-template-columns: 1fr 115px;
  gap: 12px;
  margin-bottom: 12px;
}

.option-label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 0.7rem;
  font-weight: 800;
}

.option-label select,
.option-label input {
  min-height: 48px;
}

.dialog-total-preview {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  margin-bottom: 14px;
  color: var(--muted);
  font-size: 0.75rem;
}

.dialog-total-preview strong {
  color: var(--ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.25rem;
}

.checkout-dialog {
  width: min(1080px, calc(100% - 28px));
  max-height: calc(100dvh - 28px);
  overflow: auto;
}

.checkout-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.28fr) minmax(300px, 0.72fr);
}

.checkout-main {
  padding: 54px 46px 44px;
}

.checkout-main h2 {
  margin-bottom: 12px;
  font-size: 2.9rem;
}

.checkout-intro {
  max-width: 650px;
  margin-bottom: 25px;
  color: var(--muted);
  font-size: 0.85rem;
}

.checkout-main form {
  display: grid;
  gap: 15px;
}

.checkbox-field {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 650;
}

.checkbox-field input {
  width: 17px;
  min-height: 17px;
  margin: 1px 0 0;
  accent-color: var(--gold-dark);
}

.checkout-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 4px;
}

.form-feedback {
  min-height: 20px;
  margin: 0;
  color: var(--leaf);
  font-size: 0.75rem;
  font-weight: 750;
}

.checkout-summary {
  padding: 54px 28px 35px;
  border-left: 1px solid var(--line);
  background: var(--cream);
}

.checkout-summary .eyebrow {
  margin-bottom: 16px;
}

.checkout-summary-item {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 11px 0;
  border-bottom: 1px solid var(--line);
  font-size: 0.74rem;
}

.checkout-summary-item strong {
  display: block;
  max-width: 180px;
  margin-bottom: 2px;
}

.checkout-summary-item small {
  color: var(--muted);
}

.checkout-summary-item > span {
  flex-shrink: 0;
  font-weight: 850;
}

.checkout-total {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 18px;
  padding-top: 14px;
}

.checkout-total span {
  color: var(--muted);
  font-size: 0.71rem;
}

.checkout-total strong {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.35rem;
}

.eta-box {
  display: grid;
  gap: 3px;
  margin-top: 18px;
  padding: 13px 14px;
  border-radius: 12px;
  background: white;
}

.eta-box span {
  color: var(--muted);
  font-size: 0.67rem;
}

.eta-box strong {
  font-size: 0.8rem;
}

.checkout-gift {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-top: 16px;
  color: var(--gold-dark);
  font-size: 0.69rem;
}

.toast {
  position: fixed;
  z-index: 500;
  right: 20px;
  bottom: 20px;
  max-width: min(360px, calc(100% - 40px));
  padding: 13px 17px;
  border-radius: 12px;
  background: var(--ink);
  color: white;
  box-shadow: var(--shadow-md);
  font-size: 0.79rem;
  font-weight: 750;
  animation: toastIn 200ms ease-out both;
}

@keyframes toastIn {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 1420px) {
  .main-nav {
    display: none;
  }

  .menu-toggle {
    display: grid;
  }
}

@media (max-width: 1080px) {
  .main-nav {
    display: none;
  }

  .menu-toggle {
    display: grid;
  }

  .collection-toolbar {
    grid-template-columns: minmax(0, 1fr) minmax(220px, 1fr);
  }

  .segmented {
    width: fit-content;
  }

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

  .story-grid,
  .craft-grid {
    gap: 48px;
  }

  .story-grid {
    grid-template-columns: minmax(0, 0.9fr) minmax(390px, 1.1fr);
  }

  .story-visuals {
    min-height: 540px;
  }

  .story-photo--main {
    height: 430px;
  }

  .story-photo--small {
    height: 240px;
  }

  .contact-grid {
    gap: 55px;
  }
}

@media (max-width: 860px) {
  .section {
    padding: 82px 0;
  }

  .trust-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .trust-grid article:nth-child(3) {
    border-left: 0;
    border-top: 1px solid var(--line);
  }

  .trust-grid article:nth-child(4) {
    border-top: 1px solid var(--line);
  }

  .story-grid,
  .craft-grid,
  .sources-grid,
  .contact-grid {
    grid-template-columns: 1fr;
  }

  .story-grid,
  .craft-grid,
  .sources-grid,
  .contact-grid {
    gap: 45px;
  }

  .sources-grid > div:first-child {
    position: static;
  }

  .delivery-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .delivery-route {
    min-height: 42px;
    transform: rotate(90deg);
  }

  .payment-panel {
    grid-template-columns: auto 1fr;
  }

  .payment-warning {
    grid-column: 1 / -1;
  }

  .craft-grid {
    grid-template-areas: "copy" "image";
  }

  .craft-copy {
    grid-area: copy;
  }

  .craft-image {
    grid-area: image;
    height: 480px;
  }

  .contact-grid > div:first-child {
    max-width: 650px;
  }

  .footer-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .product-dialog__grid,
  .checkout-layout {
    grid-template-columns: 1fr;
  }

  .product-dialog__visual {
    min-height: 350px;
  }

  .product-dialog__visual .honey-jar {
    transform: scale(1.25);
  }

  .checkout-summary {
    border-top: 1px solid var(--line);
    border-left: 0;
  }
}

@media (max-width: 640px) {
  :root {
    --header-height: 70px;
  }

  .shell {
    width: min(calc(100% - 28px), var(--shell));
  }

  .section {
    padding: 68px 0;
  }

  .announcement__inner {
    gap: 7px;
    font-size: 0.67rem;
  }

  .announcement__inner > span:first-child,
  .announcement__inner > span:last-child {
    display: none;
  }

  .header__inner {
    gap: 8px;
  }

  .brand__mark {
    width: 38px;
    height: 38px;
  }

  .brand__mark svg {
    width: 38px;
    height: 38px;
  }

  .brand strong {
    font-size: 1.18rem;
  }

  .brand small {
    display: none;
  }

  .language-switch {
    order: 1;
  }

  .cart-trigger {
    order: 2;
    padding: 7px;
  }

  .cart-trigger > span:not(.cart-count) {
    display: none;
  }

  .client-login {
    width: 40px;
    min-height: 40px;
    padding: 0;
  }

  .client-login span {
    display: none;
  }

  .menu-toggle {
    order: 3;
  }

  .hero,
  .hero__content {
    min-height: 720px;
  }

  .hero__shade {
    background: linear-gradient(90deg, rgba(25, 14, 5, 0.86), rgba(25, 14, 5, 0.42)), linear-gradient(0deg, rgba(17, 10, 3, 0.65), transparent 50%);
  }

  .hero__content {
    justify-content: flex-end;
    padding-top: 90px;
    padding-bottom: 65px;
  }

  .hero h1 {
    font-size: clamp(3.1rem, 15vw, 4.4rem);
  }

  .hero__lead {
    font-size: 0.98rem;
  }

  .hero__actions {
    display: grid;
  }

  .hero__stats {
    margin-top: 38px;
  }

  .hero__stats > div {
    min-width: auto;
    flex: 1;
    padding: 0 12px;
  }

  .hero__stats dt {
    font-size: 1.55rem;
  }

  .hero__stats dd {
    font-size: 0.61rem;
  }

  .photo-credit--hero {
    right: 9px;
    bottom: 6px;
    font-size: 0.55rem;
  }

  .trust-grid {
    grid-template-columns: 1fr;
  }

  .trust-grid article,
  .trust-grid article:nth-child(2),
  .trust-grid article:nth-child(3),
  .trust-grid article:nth-child(4) {
    min-height: auto;
    padding: 19px 8px;
    border-top: 1px solid var(--line);
    border-left: 0;
  }

  .trust-grid article:first-child {
    border-top: 0;
  }

  .section-heading--split {
    display: block;
  }

  .collection-count {
    display: inline-grid;
    margin-top: 20px;
  }

  .collection-toolbar {
    grid-template-columns: 1fr;
  }

  .segmented {
    width: 100%;
    overflow-x: auto;
  }

  .segmented button {
    flex: 1;
  }

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

  .product-visual {
    min-height: 235px;
  }

  .product-card h3 {
    min-height: auto;
  }

  .product-card__buy {
    align-items: center;
  }

  .story-visuals {
    min-height: 470px;
  }

  .story-photo--main {
    width: 86%;
    height: 360px;
  }

  .story-photo--small {
    width: 53%;
    height: 205px;
  }

  .story-stamp {
    right: 0;
    width: 100px;
    height: 100px;
    font-size: 0.5rem;
  }

  .delivery-card {
    min-height: auto;
    padding: 27px;
  }

  .payment-panel {
    grid-template-columns: 1fr;
    padding: 23px;
  }

  .payment-panel__icon {
    width: 58px;
    height: 58px;
  }

  .payment-warning {
    grid-column: auto;
  }

  .craft-image {
    height: 390px;
  }

  .source-links a {
    grid-template-columns: 1fr;
    gap: 5px;
  }

  .contact-form {
    padding: 22px;
  }

  .field-row {
    grid-template-columns: 1fr;
  }

  .footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 35px 24px;
  }

  .footer-brand,
  .footer-status {
    grid-column: 1 / -1;
  }

  .footer-bottom {
    display: grid;
  }

  .product-dialog {
    max-height: calc(100dvh - 20px);
    overflow: auto;
  }

  .product-dialog__visual {
    min-height: 280px;
  }

  .product-dialog__visual .honey-jar {
    transform: scale(1.05);
  }

  .product-dialog__copy,
  .checkout-main,
  .checkout-summary {
    padding: 38px 21px 28px;
  }

  .product-dialog__copy h2,
  .checkout-main h2 {
    font-size: 2.25rem;
  }

  .detail-grid,
  .product-options {
    grid-template-columns: 1fr;
  }

  .detail-grid > div,
  .detail-grid > div:nth-child(2n),
  .detail-grid > div:nth-last-child(-n + 2) {
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .detail-grid > div:last-child {
    border-bottom: 0;
  }

  .checkout-actions .button {
    width: 100%;
  }

  .toast {
    right: 14px;
    bottom: 14px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}


/* Product photography, route-based delivery and international checkout */
.photo-catalog-note {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 5px;
  margin: 0 0 22px;
  padding: 12px 15px;
  border: 1px solid rgba(166, 103, 14, 0.18);
  border-radius: 12px;
  background: #fff9eb;
  color: var(--muted);
  font-size: 0.75rem;
}

.photo-catalog-note a {
  color: var(--gold-dark);
  font-weight: 850;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.product-visual {
  position: relative;
  display: block;
  min-height: 270px;
  overflow: hidden;
  background: #2b1b0e;
}

.product-visual::before,
.product-visual::after {
  display: none;
}

.product-photo {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 320ms ease, filter 320ms ease;
}

.product-card:hover .product-photo {
  transform: scale(1.045);
  filter: saturate(1.05);
}

.product-photo-shade {
  position: absolute;
  z-index: 2;
  inset: 0;
  background: linear-gradient(180deg, rgba(24, 13, 6, 0.06) 18%, rgba(24, 13, 6, 0.18) 48%, rgba(24, 13, 6, 0.88) 100%);
  pointer-events: none;
}

.product-photo-title {
  position: absolute;
  z-index: 3;
  right: 18px;
  bottom: 18px;
  left: 18px;
  color: white;
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.48);
}

.product-photo-title small {
  display: block;
  margin-bottom: 5px;
  color: rgba(255, 255, 255, 0.78);
  font-size: 0.63rem;
  font-weight: 850;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.product-photo-title strong {
  display: block;
  max-width: 92%;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.35rem, 2vw, 1.75rem);
  font-weight: 500;
  line-height: 1.03;
  letter-spacing: -0.025em;
}

.product-badges {
  z-index: 4;
}

.product-dialog__visual {
  position: relative;
  display: block;
  min-height: 610px;
  overflow: hidden;
  background: #2b1b0e;
}

.product-dialog__visual .product-photo {
  transform: none;
}

.product-dialog__visual .product-photo-title {
  right: 34px;
  bottom: 34px;
  left: 34px;
}

.product-dialog__visual .product-photo-title small {
  font-size: 0.72rem;
}

.product-dialog__visual .product-photo-title strong {
  font-size: clamp(2rem, 3.6vw, 3.15rem);
}

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

.delivery-route-card {
  position: relative;
  min-height: 300px;
  overflow: hidden;
  padding: 28px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm);
}

.delivery-route-card::after {
  position: absolute;
  right: -50px;
  bottom: -70px;
  width: 190px;
  height: 190px;
  border: 32px solid rgba(255, 255, 255, 0.1);
  border-radius: 50%;
  content: "";
}

.delivery-route-card--local {
  background: linear-gradient(145deg, #304c3f, #1d332a);
  color: white;
}

.delivery-route-card--cross {
  background: linear-gradient(145deg, #70462c, #412817);
  color: white;
}

.delivery-route-card__flags {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
  font-size: 2rem;
}

.delivery-route-card__flags b {
  color: #f4c96d;
  font-size: 1.05rem;
}

.delivery-route-card__type {
  position: relative;
  z-index: 1;
  margin-bottom: 5px;
  color: rgba(255, 255, 255, 0.66) !important;
  font-size: 0.68rem;
  font-weight: 850;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.delivery-route-card h3 {
  position: relative;
  z-index: 1;
  margin: 0 0 10px;
  font-size: clamp(2.65rem, 5vw, 4rem);
}

.delivery-route-card h3 span {
  display: inline-block;
  max-width: 100px;
  font-family: inherit;
  font-size: 0.9rem;
  letter-spacing: 0;
  line-height: 1.15;
}

.delivery-route-card > strong {
  position: relative;
  z-index: 1;
  display: block;
  margin-bottom: 7px;
  font-size: 0.93rem;
}

.delivery-route-card > p:last-child {
  position: relative;
  z-index: 1;
  margin: 0;
  color: rgba(255, 255, 255, 0.78);
  font-size: 0.78rem;
}

.world-delivery {
  display: grid;
  grid-template-columns: minmax(230px, 0.78fr) minmax(430px, 1.35fr);
  align-items: stretch;
  gap: 26px;
  margin-top: 0;
  padding: 28px;
  border: 1px solid rgba(166, 103, 14, 0.24);
  border-radius: var(--radius-md);
  background: linear-gradient(135deg, #fff8e8, #f2e3c6);
}

.world-delivery__intro {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-content: start;
  gap: 18px;
}

.world-delivery__icon {
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  border-radius: 50%;
  background: var(--ink);
  color: #f4c96d;
  font-size: 1.7rem;
}

.world-delivery .eyebrow {
  margin-bottom: 5px;
}

.world-delivery h3 {
  margin-bottom: 8px;
  font-size: 1.65rem;
}

.world-delivery__intro p:last-child {
  margin: 0;
  font-size: 0.82rem;
  line-height: 1.65;
}

.world-estimator {
  padding: 20px;
  border: 1px solid rgba(74, 55, 30, 0.13);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.72);
  box-shadow: 0 18px 45px rgba(71, 49, 25, 0.08);
}

.world-estimator__country {
  display: grid;
  gap: 7px;
  color: var(--ink);
  font-size: 0.7rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.world-estimator__country select {
  width: 100%;
  min-height: 48px;
  padding: 0 42px 0 15px;
  border: 1px solid var(--line);
  border-radius: 14px;
  outline: 0;
  appearance: none;
  background-color: white;
  background-image: linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);
  background-position: calc(100% - 19px) 21px, calc(100% - 14px) 21px;
  background-size: 5px 5px, 5px 5px;
  background-repeat: no-repeat;
  color: var(--ink);
  font-size: 0.88rem;
  font-weight: 750;
  text-transform: none;
  cursor: pointer;
}

.world-estimator__country select:focus {
  border-color: var(--gold);
  box-shadow: 0 0 0 3px rgba(191, 132, 37, 0.14);
}

.world-estimator__results {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 14px;
}

.world-estimator__results article {
  min-height: 132px;
  padding: 16px;
  border: 1px solid rgba(74, 55, 30, 0.11);
  border-radius: 16px;
  background: #fffdf8;
}

.world-estimator__results article:first-child {
  background: linear-gradient(145deg, #fffdf8, #f7efe0);
}

.world-estimator__results article:last-child {
  background: linear-gradient(145deg, #f9fff9, #edf4ed);
}

.world-estimator__results span,
.world-estimator__results small {
  display: block;
}

.world-estimator__results span {
  min-height: 34px;
  color: var(--muted);
  font-size: 0.66rem;
  font-weight: 850;
  letter-spacing: 0.06em;
  line-height: 1.35;
  text-transform: uppercase;
}

.world-estimator__results strong {
  display: block;
  margin: 8px 0 6px;
  color: var(--ink);
  font-family: var(--display);
  font-size: clamp(1.45rem, 2.6vw, 2.1rem);
  line-height: 1;
}

.world-estimator__results small {
  color: var(--muted);
  font-size: 0.65rem;
  line-height: 1.45;
}

.world-estimator__note {
  margin: 14px 0 0;
  color: var(--ink);
  font-size: 0.73rem;
  line-height: 1.55;
}

.world-estimator__sources {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: 13px;
  padding-top: 13px;
  border-top: 1px solid rgba(74, 55, 30, 0.11);
}

.world-estimator__source-links {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.world-estimator__sources a,
.world-estimator__sources span {
  font-size: 0.64rem;
  line-height: 1.45;
}

.world-estimator__sources a {
  width: fit-content;
  color: var(--forest);
  font-weight: 850;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.world-estimator__sources span {
  max-width: 230px;
  color: var(--muted);
  text-align: right;
}

.postal-notice {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 15px 0 0;
  padding: 12px 15px;
  border-left: 3px solid var(--gold);
  background: var(--cream);
  color: var(--muted);
  font-size: 0.74rem;
}

.postal-notice strong {
  flex-shrink: 0;
  color: var(--ink);
}

.eta-box small {
  display: block;
  margin-top: 5px;
  color: var(--muted);
  font-size: 0.66rem;
  line-height: 1.45;
}

#checkoutEta {
  line-height: 1.25;
}

@media (max-width: 820px) {
  .delivery-matrix {
    grid-template-columns: 1fr;
  }

  .world-delivery {
    grid-template-columns: 1fr;
  }

  .world-delivery__intro {
    max-width: 680px;
  }

  .product-dialog__visual {
    min-height: 390px;
  }
}

@media (max-width: 560px) {
  .product-visual {
    min-height: 245px;
  }

  .product-photo-title {
    right: 14px;
    bottom: 14px;
    left: 14px;
  }

  .delivery-route-card {
    min-height: 0;
    padding: 23px;
  }

  .world-delivery {
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 22px;
  }

  .world-delivery__intro {
    grid-template-columns: 1fr;
    gap: 13px;
  }

  .world-estimator {
    padding: 16px;
  }

  .world-estimator__results {
    grid-template-columns: 1fr;
  }

  .world-estimator__results article {
    min-height: 0;
  }

  .world-estimator__results span {
    min-height: 0;
  }

  .world-estimator__sources {
    align-items: flex-start;
    flex-direction: column;
  }

  .world-estimator__sources span {
    max-width: none;
    text-align: left;
  }

  .postal-notice {
    display: grid;
  }

  .product-dialog__visual {
    min-height: 320px;
  }

  .product-dialog__visual .product-photo-title {
    right: 20px;
    bottom: 20px;
    left: 20px;
  }
}


/* Real product-photo thumbnails inside the cart */
.cart-item__visual {
  overflow: hidden;
  background: #efe4d2;
}

.cart-item__photo {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Real catalogue thumbnail in the cart */
.cart-item__visual {
  overflow: hidden;
  background: #2b1b0e;
}

.mini-product-photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
}


/* Founder portraits created from the photo supplied by Eliot Ilazi and Asdren Maka */
.founder-portraits {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: 22px;
}

.founder-card {
  position: relative;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(117, 75, 24, 0.16);
  border-radius: 26px;
  background: var(--paper);
  box-shadow: var(--shadow-md);
  isolation: isolate;
}

.founder-card--asdren {
  margin-top: 54px;
}

.founder-card__image {
  position: relative;
  aspect-ratio: 3 / 4;
  overflow: hidden;
  background: #2a1b10;
}

.founder-card__image::after {
  position: absolute;
  inset: auto 0 0;
  height: 35%;
  background: linear-gradient(180deg, transparent, rgba(22, 13, 7, 0.34));
  content: "";
  pointer-events: none;
}

.founder-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 450ms ease;
}

.founder-card:hover img {
  transform: scale(1.025);
}

.founder-card figcaption {
  display: grid;
  gap: 3px;
  padding: 17px 20px 19px;
  border-top: 1px solid rgba(117, 75, 24, 0.12);
}

.founder-card figcaption strong {
  color: var(--ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.22rem;
}

.founder-card figcaption span {
  color: var(--gold-dark);
  font-size: 0.73rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.founder-portrait-note {
  grid-column: 1 / -1;
  margin: 0;
  padding: 0 6px;
  color: var(--muted);
  font-size: 0.72rem;
  line-height: 1.55;
  text-align: center;
}

@media (max-width: 1080px) {
  .founder-portraits {
    gap: 16px;
  }

  .founder-card--asdren {
    margin-top: 36px;
  }
}

@media (max-width: 860px) {
  .founder-portraits {
    width: min(100%, 720px);
    margin-inline: auto;
  }
}

@media (max-width: 620px) {
  .founder-portraits {
    grid-template-columns: 1fr;
    width: min(100%, 430px);
  }

  .founder-card--asdren {
    margin-top: 0;
  }

  .founder-card__image {
    aspect-ratio: 4 / 5;
  }
}


/* Provisional team photograph supplied for the MIRA story section */
.story-visuals--team {
  min-height: 0;
}

.team-photo {
  margin: 0;
}

.team-photo__frame {
  position: relative;
  overflow: hidden;
  aspect-ratio: 3 / 2;
  border: 8px solid var(--paper);
  border-radius: 28px;
  background: #21150d;
  box-shadow: var(--shadow-md);
}

.team-photo__frame::after {
  position: absolute;
  inset: 45% 0 0;
  background: linear-gradient(180deg, transparent, rgba(20, 12, 7, 0.56));
  content: "";
  pointer-events: none;
}

.team-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.team-photo__labels {
  position: absolute;
  z-index: 2;
  right: 24px;
  bottom: 22px;
  left: 24px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  pointer-events: none;
}

.team-photo__label {
  display: grid;
  gap: 1px;
  color: #fff;
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.55);
}

.team-photo__label--asdren {
  justify-items: end;
  text-align: right;
}

.team-photo__label strong {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1rem, 1.7vw, 1.32rem);
  line-height: 1.15;
}

.team-photo__label small {
  color: rgba(255, 255, 255, 0.86);
  font-size: 0.67rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.team-photo .founder-portrait-note {
  margin-top: 13px;
  padding-inline: 10px;
}

@media (max-width: 1080px) {
  .team-photo__labels {
    right: 18px;
    bottom: 17px;
    left: 18px;
  }
}

@media (max-width: 620px) {
  .team-photo__frame {
    aspect-ratio: 4 / 3;
    border-width: 5px;
    border-radius: 20px;
  }

  .team-photo__labels {
    right: 12px;
    bottom: 11px;
    left: 12px;
    gap: 8px;
  }

  .team-photo__label small {
    font-size: 0.55rem;
    letter-spacing: 0.05em;
  }

  .team-photo .founder-portrait-note {
    font-size: 0.68rem;
  }
}

/* 2026-08-14 — polished, consistent product photography */
.product-card {
  border-radius: 24px;
  border-color: rgba(64, 43, 23, 0.12);
  box-shadow: 0 10px 32px rgba(53, 34, 17, 0.055);
}

.product-card:hover {
  transform: translateY(-4px);
  border-color: rgba(166, 103, 14, 0.32);
  box-shadow: 0 22px 54px rgba(53, 34, 17, 0.12);
}

.product-visual {
  aspect-ratio: 1000 / 760;
  min-height: 0;
  padding: 10px;
  background: linear-gradient(145deg, #f6efe3, #eee1cf);
}

.product-photo {
  inset: 10px;
  width: calc(100% - 20px);
  height: calc(100% - 20px);
  border: 1px solid rgba(65, 43, 21, 0.1);
  border-radius: 16px;
  object-fit: cover;
  object-position: center;
  box-shadow: 0 8px 24px rgba(44, 27, 12, 0.1);
  transition: transform 300ms ease, filter 300ms ease;
}

.product-card:hover .product-photo {
  transform: scale(1.018);
  filter: contrast(1.018) saturate(1.018);
}

.product-photo-shade {
  inset: 10px;
  border-radius: 16px;
  background: linear-gradient(180deg, transparent 65%, rgba(19, 12, 7, 0.27) 100%);
}

.product-badges {
  top: 22px;
  right: 22px;
  left: 22px;
}

.product-badge {
  min-height: 27px;
  padding: 5px 9px;
  border-color: rgba(36, 24, 14, 0.1);
  background: rgba(255, 253, 248, 0.9);
  box-shadow: 0 5px 15px rgba(32, 20, 10, 0.08);
  backdrop-filter: blur(10px);
}

.product-photo-title {
  right: auto;
  bottom: 24px;
  left: 26px;
  width: auto;
  max-width: calc(100% - 52px);
  padding: 10px 13px 11px;
  border: 1px solid rgba(229, 185, 105, 0.42);
  border-radius: 12px;
  background: rgba(19, 15, 11, 0.82);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.18);
  backdrop-filter: blur(10px);
  text-shadow: none;
}

.product-photo-title small {
  margin-bottom: 3px;
  color: rgba(242, 217, 166, 0.86);
  font-size: 0.56rem;
  letter-spacing: 0.105em;
}

.product-photo-title strong {
  max-width: 100%;
  font-size: clamp(1rem, 1.45vw, 1.18rem);
  font-weight: 500;
  line-height: 1.13;
  letter-spacing: -0.015em;
}

.product-card__body {
  padding: 24px;
}

.product-card__meta {
  margin-bottom: 9px;
}

.product-dialog__visual {
  min-height: 590px;
  padding: 16px;
  background: linear-gradient(145deg, #f6efe3, #eadbc5);
}

.product-dialog__visual .product-photo {
  inset: 16px;
  width: calc(100% - 32px);
  height: calc(100% - 32px);
  border-radius: 20px;
  box-shadow: 0 18px 46px rgba(44, 27, 12, 0.16);
}

.product-dialog__visual .product-photo-shade {
  inset: 16px;
  border-radius: 20px;
}

.product-dialog__visual .product-photo-title {
  right: auto;
  bottom: 38px;
  left: 40px;
  max-width: calc(100% - 80px);
  padding: 13px 16px 14px;
  border-radius: 14px;
}

.product-dialog__visual .product-photo-title small {
  font-size: 0.62rem;
}

.product-dialog__visual .product-photo-title strong {
  font-size: clamp(1.25rem, 2.2vw, 1.7rem);
}

@media (max-width: 820px) {
  .product-dialog__visual {
    min-height: min(68vw, 500px);
  }
}

@media (max-width: 640px) {
  .product-visual {
    min-height: 0;
    padding: 8px;
  }

  .product-photo,
  .product-photo-shade {
    inset: 8px;
    width: calc(100% - 16px);
    height: calc(100% - 16px);
    border-radius: 14px;
  }

  .product-badges {
    top: 18px;
    right: 18px;
    left: 18px;
  }

  .product-photo-title {
    bottom: 19px;
    left: 20px;
    max-width: calc(100% - 40px);
    padding: 9px 11px 10px;
  }

  .product-photo-title strong {
    font-size: 1rem;
  }

  .product-card__body {
    padding: 21px;
  }

  .product-dialog__visual {
    min-height: 310px;
    padding: 10px;
  }

  .product-dialog__visual .product-photo,
  .product-dialog__visual .product-photo-shade {
    inset: 10px;
    width: calc(100% - 20px);
    height: calc(100% - 20px);
    border-radius: 15px;
  }

  .product-dialog__visual .product-photo-title {
    bottom: 25px;
    left: 25px;
    max-width: calc(100% - 50px);
    padding: 10px 12px;
  }

  .product-dialog__visual .product-photo-title strong {
    font-size: 1.15rem;
  }
}

/* 2026-08-14 — polished catalogue photography
   Keep product cards visually quiet: the exact name already appears in the
   card body, so it no longer obscures the jar photograph a second time. */
.product-card .product-photo-title {
  display: none;
}

.product-card .product-photo-shade {
  background: linear-gradient(180deg, rgba(24, 13, 6, 0.02), rgba(24, 13, 6, 0.08));
}


/* 2026-08-14 — premium provisional product-photo set */
.product-photo {
  image-rendering: auto;
  filter: contrast(1.01) saturate(1.01);
}

.product-card:hover .product-photo {
  transform: scale(1.025);
  filter: contrast(1.025) saturate(1.035);
}

.product-dialog__visual .product-photo {
  object-position: center;
}

/* 2026-08-14 — trilingual, trust-blue pre-publication refresh */
:root {
  --trust-blue: #123b64;
  --trust-blue-strong: #082a4a;
  --trust-blue-deep: #061f37;
  --trust-blue-mid: #2f6fa7;
  --trust-blue-soft: #eaf3fb;
  --trust-blue-pale: #f5f9fd;
  --trust-line: rgba(18, 59, 100, 0.17);
}

::selection {
  background: rgba(47, 111, 167, 0.24);
}

:focus-visible {
  outline-color: rgba(47, 111, 167, 0.68);
}

.announcement {
  background: linear-gradient(90deg, var(--trust-blue-deep), var(--trust-blue), #174d7e);
  color: #f5faff;
  box-shadow: inset 0 -1px 0 rgba(255, 255, 255, 0.1);
}

.site-header {
  border-bottom-color: var(--trust-line);
  box-shadow: 0 9px 28px rgba(8, 42, 74, 0.065);
}

.brand__mark,
.main-nav a:hover,
.text-button {
  color: var(--trust-blue);
}

.main-nav a::after {
  background: linear-gradient(90deg, var(--trust-blue-mid), var(--gold));
}

.language-switch {
  gap: 2px;
  border-color: var(--trust-line);
  background: var(--trust-blue-pale);
}

.lang-btn {
  display: inline-flex;
  min-width: 52px;
  align-items: center;
  justify-content: center;
  gap: 5px;
  color: #52677b;
}

.lang-btn .lang-flag {
  font-size: 0.95rem;
  line-height: 1;
}

.lang-btn .lang-code {
  line-height: 1;
}

.lang-btn.is-active {
  background: linear-gradient(135deg, var(--trust-blue), var(--trust-blue-strong));
  color: #fff;
  box-shadow: 0 6px 15px rgba(8, 42, 74, 0.23);
}

.cart-trigger:hover,
.icon-button:hover {
  border-color: rgba(18, 59, 100, 0.32);
  background: var(--trust-blue-pale);
}

.cart-count {
  background: var(--trust-blue);
  color: #fff;
}

.hero {
  min-height: min(740px, calc(100vh - 38px));
  background: var(--trust-blue-deep);
}

.hero__media img {
  object-position: center center;
  filter: saturate(0.94) contrast(1.025);
  animation: heroZoom 22s ease-out both;
}

.hero__shade {
  background:
    linear-gradient(90deg, rgba(5, 27, 47, 0.96) 0%, rgba(7, 36, 62, 0.88) 31%, rgba(7, 36, 62, 0.6) 54%, rgba(7, 36, 62, 0.2) 76%, rgba(7, 36, 62, 0.06) 100%),
    linear-gradient(0deg, rgba(5, 24, 42, 0.74) 0%, rgba(5, 24, 42, 0.03) 52%);
}

.hero__content {
  min-height: min(740px, calc(100vh - 38px));
}

.hero h1 {
  max-width: 740px;
  text-shadow: 0 8px 30px rgba(0, 0, 0, 0.28);
}

.hero__lead {
  color: rgba(245, 250, 255, 0.88);
}

.hero__stats > div {
  border-left-color: rgba(176, 211, 240, 0.32);
}

.hero__stats dd {
  color: rgba(229, 241, 251, 0.76);
}

.photo-credit--hero {
  max-width: min(620px, calc(100% - 32px));
  padding: 7px 11px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 999px;
  background: rgba(5, 27, 47, 0.64);
  color: rgba(246, 251, 255, 0.78);
  text-align: right;
  backdrop-filter: blur(10px);
}

.trust-strip {
  border-bottom-color: var(--trust-line);
  background: linear-gradient(180deg, #f9fcff, var(--trust-blue-pale));
}

.trust-grid article {
  border-left-color: var(--trust-line);
}

.trust-icon {
  border-color: rgba(47, 111, 167, 0.28);
  background: #fff;
  color: var(--trust-blue);
  box-shadow: 0 8px 22px rgba(8, 42, 74, 0.07);
}

.catalog-note {
  border-color: var(--trust-line);
  background: var(--trust-blue-pale);
}

.catalog-note > span {
  background: var(--trust-blue);
  color: #fff;
}

/* Evidence-based health section */
.evidence-section {
  position: relative;
  overflow: hidden;
  border-top: 1px solid var(--trust-line);
  border-bottom: 1px solid var(--trust-line);
  background:
    radial-gradient(circle at 10% 10%, rgba(47, 111, 167, 0.11), transparent 30%),
    radial-gradient(circle at 91% 93%, rgba(230, 169, 47, 0.11), transparent 28%),
    linear-gradient(180deg, #f8fbfe 0%, #eef6fc 100%);
}

.evidence-section::before {
  position: absolute;
  top: -180px;
  right: -180px;
  width: 420px;
  height: 420px;
  border: 70px solid rgba(255, 255, 255, 0.34);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}

.evidence-heading {
  position: relative;
  z-index: 1;
  max-width: 900px;
  margin-inline: auto;
}

.evidence-heading > p:last-child {
  max-width: 790px;
  margin-inline: auto;
}

.evidence-rule {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 17px;
  margin-bottom: 24px;
  padding: 20px 22px;
  border: 1px solid rgba(18, 59, 100, 0.2);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 18px 45px rgba(8, 42, 74, 0.08);
}

.evidence-rule__icon {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--trust-blue-mid), var(--trust-blue));
  color: #fff;
  font-size: 1.1rem;
  font-weight: 900;
}

.evidence-rule strong,
.evidence-rule p {
  display: block;
}

.evidence-rule p {
  margin: 3px 0 0;
  color: #496174;
  font-size: 0.82rem;
  line-height: 1.55;
}

.evidence-rule > a {
  padding: 8px 12px;
  border-radius: 999px;
  background: var(--trust-blue-soft);
  color: var(--trust-blue);
  font-size: 0.72rem;
  font-weight: 850;
  white-space: nowrap;
}

.evidence-rule > a:hover,
.evidence-list a:hover,


.evidence-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.evidence-panel {
  padding: 28px;
  border: 1px solid rgba(18, 59, 100, 0.16);
  border-radius: 26px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 22px 65px rgba(8, 42, 74, 0.085);
}

.evidence-panel--useful {
  border-top: 4px solid var(--trust-blue-mid);
}

.evidence-panel--caution {
  border-top: 4px solid var(--gold-dark);
}

.evidence-panel__head {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 20px;
}

.evidence-panel__head > span {
  display: grid;
  width: 46px;
  height: 46px;
  flex: 0 0 46px;
  place-items: center;
  border-radius: 15px;
  background: var(--trust-blue-soft);
  color: var(--trust-blue);
  font-size: 1.3rem;
  font-weight: 900;
}

.evidence-panel--caution .evidence-panel__head > span {
  background: #fff5dc;
  color: #8a580b;
}

.evidence-panel__head .eyebrow {
  margin-bottom: 5px;
}

.evidence-panel__head h3 {
  margin: 0;
  color: var(--trust-blue-strong);
  font-size: 1.55rem;
}

.evidence-list {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.evidence-list li {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 13px;
  padding: 17px 0;
  border-top: 1px solid rgba(18, 59, 100, 0.1);
}

.evidence-list li:first-child {
  padding-top: 3px;
  border-top: 0;
}

.evidence-list li > span {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border-radius: 50%;
  background: var(--trust-blue-pale);
  color: var(--trust-blue);
  font-size: 0.64rem;
  font-weight: 900;
}

.evidence-panel--caution .evidence-list li > span {
  background: #fff6df;
  color: #8a580b;
}

.evidence-list strong {
  display: block;
  margin-bottom: 4px;
  color: #20384d;
  font-size: 0.9rem;
}

.evidence-list p {
  margin: 0;
  color: #5a6c7b;
  font-size: 0.78rem;
  line-height: 1.6;
}

.evidence-list a {
  display: inline-block;
  margin-top: 7px;
  color: var(--trust-blue);
  font-size: 0.7rem;
  font-weight: 850;
}









.story-section {
  background: linear-gradient(180deg, var(--trust-blue-pale), var(--cream));
}

.signature-card__mark {
  background: var(--trust-blue);
}

.delivery-section,
.sources-section {
  background:
    linear-gradient(180deg, rgba(234, 243, 251, 0.35), transparent 24%),
    var(--paper);
}

.delivery-route-card--local,
.world-delivery,
.world-estimator__results article:first-child {
  border-color: var(--trust-line);
}

.world-delivery {
  background: linear-gradient(135deg, #f6faff, #eaf3fb);
}

.world-estimator__country select:focus {
  border-color: var(--trust-blue-mid);
  box-shadow: 0 0 0 3px rgba(47, 111, 167, 0.14);
}

.world-estimator__sources a {
  color: var(--trust-blue);
}

.postal-notice {
  border-left-color: var(--trust-blue-mid);
  background: var(--trust-blue-pale);
}

.payment-panel__icon {
  color: var(--trust-blue);
}

.sources-section {
  border-top: 1px solid var(--trust-line);
}

.source-links a {
  border-color: var(--trust-line);
}

.source-links a:hover {
  background: var(--trust-blue-pale);
}

.health-notice {
  border-color: rgba(18, 59, 100, 0.2);
  background: var(--trust-blue-pale);
}

.health-notice strong {
  color: var(--trust-blue);
}

.contact-section,
.site-footer {
  background: linear-gradient(135deg, var(--trust-blue-deep), var(--trust-blue-strong) 55%, #123f69);
}

.contact-form {
  border: 1px solid rgba(182, 216, 244, 0.2);
  box-shadow: 0 26px 80px rgba(3, 20, 35, 0.26);
}

.product-badge:first-child {
  border-color: rgba(18, 59, 100, 0.16);
  color: var(--trust-blue-strong);
}

.product-badge--new {
  border-color: rgba(214, 147, 18, 0.38);
  background: #fff4cf;
  color: #7b4b00;
}

.product-card.is-unavailable {
  border-color: rgba(155, 59, 40, 0.28);
}

.product-card.is-unavailable .product-photo {
  filter: saturate(0.72) contrast(0.96);
}

.product-badge--safety {
  border-color: rgba(155, 59, 40, 0.25);
  background: rgba(255, 244, 237, 0.94);
  color: #8f351f;
}

.card-button:disabled,
.button:disabled {
  cursor: not-allowed;
  opacity: 0.55;
  transform: none;
  box-shadow: none;
}

.safety-hold-box {
  margin: 15px 0;
  padding: 14px 16px;
  border-left: 4px solid #9b3b28;
  border-radius: 12px;
  background: #fff5ee;
  color: #6f382b;
  font-size: 0.78rem;
  line-height: 1.55;
}

.safety-hold-box strong {
  display: block;
  margin-bottom: 3px;
  color: #8f351f;
}

@media (max-width: 1080px) {
  .lang-btn {
    min-width: 48px;
    padding-inline: 7px;
  }
}

@media (max-width: 820px) {
  .hero,
  .hero__content {
    min-height: 690px;
  }

  .hero__media img {
    object-position: 57% center;
  }

  .hero__shade {
    background:
      linear-gradient(90deg, rgba(5, 27, 47, 0.95), rgba(7, 36, 62, 0.73)),
      linear-gradient(0deg, rgba(5, 24, 42, 0.68), transparent 58%);
  }

  .evidence-grid {
    grid-template-columns: 1fr;
  }

  .evidence-rule,
  

  .evidence-rule > a,
  
}

@media (max-width: 640px) {
  .header__inner {
    gap: 10px;
  }

  .language-switch {
    gap: 0;
    padding: 2px;
  }

  .lang-btn {
    min-width: 40px;
    min-height: 32px;
    gap: 3px;
    padding: 4px 5px;
    font-size: 0.66rem;
  }

  .lang-btn .lang-flag {
    font-size: 0.82rem;
  }

  .other-language-select {
    width: 82px;
    min-height: 32px;
    padding-right: 20px;
    padding-left: 7px;
    background-position: calc(100% - 11px) 13px, calc(100% - 7px) 13px;
    font-size: 0.65rem;
  }

  .cart-trigger {
    padding-left: 10px;
  }

  .cart-trigger > span:not(.cart-count) {
    display: none;
  }

  .hero,
  .hero__content {
    min-height: 710px;
  }

  .hero__media img {
    object-position: 58% center;
  }

  .hero__content {
    padding-top: 54px;
  }

  .photo-credit--hero {
    right: 10px;
    bottom: 9px;
    left: 10px;
    max-width: none;
    border-radius: 12px;
    text-align: left;
    line-height: 1.35;
  }

  .evidence-panel {
    padding: 22px 18px;
    border-radius: 21px;
  }

  .evidence-panel__head {
    align-items: flex-start;
  }

  .evidence-rule,
  

  .evidence-rule__icon,
  

  .evidence-rule > a,
  
}

/* Compact five-language header: keep all five flags readable without horizontal overflow. */
@media (max-width: 420px) {
  .header__inner {
    gap: 6px;
  }

  .header__actions {
    min-width: 0;
    gap: 6px;
  }

  .language-switch {
    flex: 0 0 auto;
  }

  .lang-btn {
    min-width: 36px;
    padding: 4px 3px;
  }

  .other-language-select {
    width: 72px;
  }

  .cart-trigger {
    min-height: 40px;
    gap: 4px;
    padding: 5px;
  }

  .cart-trigger svg {
    width: 18px;
    height: 18px;
  }

  .cart-count {
    min-width: 24px;
    height: 24px;
    padding-inline: 5px;
  }

  .menu-toggle {
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
  }

  .brand {
    min-width: 0;
    gap: 7px;
  }

  .brand strong {
    font-size: 1.1rem;
  }
}

@media (max-width: 360px) {
  .shell {
    width: min(calc(100% - 20px), var(--shell));
  }

  .header__inner,
  .header__actions {
    gap: 5px;
  }

  .brand {
    gap: 5px;
  }

  .brand__mark,
  .brand__mark svg {
    width: 32px;
    height: 32px;
  }

  .brand strong {
    font-size: 1rem;
    letter-spacing: 0.12em;
  }

  .lang-btn {
    min-width: 30px;
    padding-inline: 4px;
  }

  .lang-btn .lang-code {
    display: none;
  }

  .other-language-select {
    width: 44px;
    padding: 0 17px 0 4px;
    background-position: calc(100% - 10px) 13px, calc(100% - 6px) 13px;
    font-size: 0.64rem;
  }

  .cart-trigger svg {
    display: none;
  }

  .menu-toggle {
    flex-basis: 36px;
    width: 36px;
    height: 36px;
  }
}



/* 2026-08-14 — MIRA presentation edition: cleaner temporary visuals before the real photo shoot */
.hero {
  min-height: min(700px, calc(100vh - 38px));
  background: #0a2d4e;
}
.hero__media img {
  object-position: 66% 50%;
  filter: saturate(.92) contrast(1.02) brightness(.92);
  animation: none;
  transform: none;
}
.hero__shade {
  background:
    linear-gradient(90deg, rgba(4, 30, 53, .94) 0%, rgba(8, 49, 83, .79) 38%, rgba(8, 49, 83, .35) 68%, rgba(7, 31, 51, .12) 100%),
    linear-gradient(0deg, rgba(3, 20, 35, .68) 0%, transparent 48%);
}
.hero__content {
  min-height: min(700px, calc(100vh - 38px));
}
.hero h1 {
  max-width: 730px;
  text-shadow: 0 5px 32px rgba(0,0,0,.20);
}
.hero__lead {
  max-width: 590px;
  color: rgba(255,255,255,.86);
}
.photo-credit--hero {
  max-width: 520px;
  padding: 7px 11px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  background: rgba(4, 31, 53, .48);
  backdrop-filter: blur(8px);
  color: rgba(255,255,255,.74);
}

.photo-catalog-note {
  border-color: rgba(18,59,100,.16);
  background: linear-gradient(135deg, #f7fbff, #fffaf0);
  color: #526375;
}

.product-grid { gap: 26px; }
.product-card {
  border-color: rgba(14, 49, 80, .11);
  border-radius: 26px;
  background: #fff;
  box-shadow: 0 13px 38px rgba(8, 36, 61, .07);
}
.product-card:hover {
  transform: translateY(-4px);
  border-color: rgba(28, 84, 132, .25);
  box-shadow: 0 22px 58px rgba(8, 36, 61, .13);
}
.product-visual {
  position: relative;
  display: grid !important;
  aspect-ratio: 4 / 3;
  min-height: 0 !important;
  place-items: center;
  padding: 0 !important;
  overflow: hidden;
  background:
    linear-gradient(140deg, color-mix(in srgb, var(--visual-light, #f7efd8) 88%, white), color-mix(in srgb, var(--visual-dark, #dec9a4) 68%, #d9e8f5));
}
.product-visual::before {
  display: block !important;
  position: absolute;
  width: 62%;
  height: 62%;
  top: -21%;
  right: -18%;
  border: 1px solid rgba(18,59,100,.09);
  border-radius: 50%;
  background: rgba(255,255,255,.20);
  content: "";
}
.product-visual::after {
  display: block !important;
  position: absolute;
  width: 46%;
  height: 46%;
  bottom: -25%;
  left: -12%;
  border: 1px solid rgba(18,59,100,.08);
  border-radius: 50%;
  background: rgba(255,255,255,.16);
  content: "";
}
.product-photo,
.product-photo-shade,
.product-photo-title { display: none !important; }
.product-badges {
  top: 15px !important;
  right: 15px !important;
  left: 15px !important;
  z-index: 7;
}
.product-badge {
  border-color: rgba(9,47,79,.12);
  background: rgba(255,255,255,.82);
  box-shadow: 0 7px 20px rgba(9,47,79,.08);
  backdrop-filter: blur(10px);
}

.mira-scene {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  overflow: hidden;
}
.mira-scene__halo {
  position: absolute;
  width: 58%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,255,255,.80), rgba(255,255,255,.18) 58%, transparent 72%);
  filter: blur(1px);
}
.mira-scene__line {
  position: absolute;
  width: 140px;
  height: 54px;
  border: 1px solid rgba(18,59,100,.11);
  border-radius: 100%;
  transform: rotate(-36deg);
}
.mira-scene__line--one { right: -38px; top: 31%; }
.mira-scene__line--two { left: -48px; bottom: 22%; transform: rotate(29deg); }
.mira-scene__origin {
  position: absolute;
  left: 20px;
  bottom: 18px;
  z-index: 4;
  color: rgba(7, 43, 74, .62);
  font-size: .66rem;
  font-weight: 900;
  letter-spacing: .13em;
}
.mira-scene__mock {
  position: absolute;
  right: 17px;
  bottom: 17px;
  z-index: 4;
  color: rgba(7, 43, 74, .42);
  font-size: .55rem;
  font-weight: 850;
  letter-spacing: .11em;
}

.mira-packshot {
  position: relative;
  z-index: 3;
  width: 132px;
  height: 190px;
  margin-top: 4px;
  filter: drop-shadow(0 24px 19px rgba(55, 34, 12, .20));
  transition: transform .26s ease;
}
.product-card:hover .mira-packshot { transform: translateY(-4px); }
.mira-packshot__lid {
  position: absolute;
  z-index: 6;
  top: 2px;
  left: 18px;
  width: 96px;
  height: 25px;
  border: 1px solid rgba(84,51,17,.25);
  border-radius: 7px 7px 4px 4px;
  background: linear-gradient(180deg, #f7e0a4 0%, #c99435 38%, #f1ce74 60%, #a96f1f 100%);
  box-shadow: inset 0 3px 3px rgba(255,255,255,.55), 0 2px 2px rgba(85,52,16,.12);
}
.mira-packshot__lid::after {
  position: absolute;
  right: 6px;
  bottom: 3px;
  left: 6px;
  height: 2px;
  border-radius: 5px;
  background: rgba(84,51,17,.22);
  content: "";
}
.mira-packshot__neck {
  position: absolute;
  z-index: 2;
  top: 21px;
  left: 25px;
  width: 82px;
  height: 15px;
  border-radius: 5px;
  background: rgba(255,255,255,.48);
  box-shadow: inset 0 -6px 8px rgba(135,79,12,.10);
}
.mira-packshot__glass {
  position: absolute;
  inset: 27px 4px 8px;
  overflow: hidden;
  border: 2px solid rgba(255,255,255,.76);
  border-radius: 17px 17px 29px 29px;
  background: rgba(255,255,255,.28);
  box-shadow: inset 9px 0 15px rgba(255,255,255,.34), inset -10px 0 14px rgba(77,41,9,.08), 0 0 0 1px rgba(81,49,15,.08);
}
.mira-packshot__honey {
  position: absolute;
  inset: 8px 0 0;
  background:
    radial-gradient(circle at 32% 15%, rgba(255,255,255,.27), transparent 20%),
    linear-gradient(155deg, color-mix(in srgb, var(--honey, #e1a028) 88%, #fff1b0), var(--honey-deep, #ad5f08));
}
.mira-packshot__honey::before {
  position: absolute;
  top: -4px;
  right: -6px;
  left: -6px;
  height: 18px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--honey, #e1a028) 74%, white);
  box-shadow: inset 0 4px 5px rgba(255,255,255,.18);
  content: "";
}
.mira-packshot__shine {
  position: absolute;
  z-index: 4;
  top: 22px;
  left: 12px;
  width: 12px;
  height: 112px;
  border-radius: 50%;
  background: linear-gradient(180deg, rgba(255,255,255,.72), rgba(255,255,255,.04));
  filter: blur(.3px);
  transform: rotate(4deg);
}
.mira-packshot__label {
  position: absolute;
  z-index: 5;
  top: 57px;
  left: 14px;
  display: flex;
  width: 96px;
  min-height: 74px;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  padding: 8px 6px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 4px;
  background: linear-gradient(160deg, #102f4a, #061d31);
  color: #fff8e9;
  box-shadow: 0 7px 17px rgba(22,22,15,.18), inset 0 0 0 1px rgba(232,176,59,.18);
  text-align: center;
}
.mira-packshot__label::before,
.mira-packshot__label::after {
  position: absolute;
  right: 9px;
  left: 9px;
  height: 1px;
  background: rgba(232,176,59,.55);
  content: "";
}
.mira-packshot__label::before { top: 7px; }
.mira-packshot__label::after { bottom: 7px; }
.mira-packshot__bee {
  margin-bottom: 2px;
  color: #e5ad3e;
  font-size: .58rem;
}
.mira-packshot__label strong {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.12rem;
  font-weight: 500;
  letter-spacing: .14em;
  line-height: 1;
}
.mira-packshot__label small {
  margin-top: 5px;
  color: #e9c674;
  font-size: .45rem;
  font-weight: 850;
  letter-spacing: .11em;
}
.mira-packshot__label em {
  margin-top: 5px;
  color: rgba(255,255,255,.74);
  font-size: .43rem;
  font-style: normal;
  font-weight: 750;
  letter-spacing: .08em;
}
.mira-packshot__shadow {
  position: absolute;
  right: 8px;
  bottom: 0;
  left: 8px;
  height: 15px;
  border-radius: 50%;
  background: rgba(76,48,18,.23);
  filter: blur(7px);
}

.cart-item__mock {
  display: grid;
  width: 72px;
  height: 72px;
  flex: 0 0 72px;
  place-items: center;
  border: 1px solid rgba(18,59,100,.12);
  border-radius: 15px;
  background: linear-gradient(145deg, color-mix(in srgb, var(--cart-honey) 35%, white), color-mix(in srgb, var(--cart-deep) 22%, #eef5fb));
  box-shadow: inset 0 0 0 6px rgba(255,255,255,.35);
}
.cart-item__mock span { font-size: .8rem; }
.cart-item__mock strong {
  margin-top: -12px;
  color: #0b355a;
  font-family: Georgia, "Times New Roman", serif;
  font-size: .72rem;
  letter-spacing: .13em;
}

.product-dialog__visual {
  background: linear-gradient(140deg, #f7fbff, #f6ead2) !important;
}
.product-dialog__visual .mira-packshot {
  width: 174px;
  height: 252px;
  transform: scale(1.08);
}
.product-dialog__visual .mira-scene__mock,
.product-dialog__visual .mira-scene__origin { font-size: .63rem; }

@media (max-width: 640px) {
  .hero__media img { object-position: 68% center; }
  .hero__shade {
    background: linear-gradient(180deg, rgba(4,30,53,.42), rgba(4,30,53,.92) 54%, rgba(3,20,35,.98));
  }
  .photo-credit--hero {
    right: 10px;
    bottom: 9px;
    left: 10px;
    max-width: none;
    border-radius: 12px;
    text-align: center;
  }
  .product-grid { gap: 18px; }
  .mira-packshot { transform: scale(.92); }
  .product-card:hover .mira-packshot { transform: scale(.92) translateY(-2px); }
  .mira-scene__origin { left: 14px; bottom: 12px; }
  .mira-scene__mock { right: 13px; bottom: 12px; }
}


/* Catalogue pagination: keep the first 12 products in the foreground */
.catalog-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 34px auto 8px;
  flex-wrap: wrap;
}

.catalog-pagination[hidden] {
  display: none;
}

.catalog-pagination__button {
  min-width: 42px;
  height: 42px;
  padding: 0 14px;
  border: 1px solid rgba(17, 57, 82, 0.18);
  border-radius: 999px;
  background: #fff;
  color: var(--ink);
  font: inherit;
  font-size: 0.82rem;
  font-weight: 800;
  cursor: pointer;
  transition: background 180ms ease, color 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.catalog-pagination__button:hover:not(:disabled),
.catalog-pagination__button:focus-visible {
  border-color: rgba(17, 57, 82, 0.48);
  background: rgba(17, 57, 82, 0.06);
  transform: translateY(-1px);
}

.catalog-pagination__button.is-active {
  border-color: #173f5f;
  background: #173f5f;
  color: #fff;
}

.catalog-pagination__button:disabled {
  opacity: 0.38;
  cursor: not-allowed;
}

.catalog-pagination__status {
  width: 100%;
  margin: 4px 0 0;
  text-align: center;
  color: var(--ink-soft);
  font-size: 0.76rem;
}

@media (max-width: 640px) {
  .catalog-pagination {
    gap: 6px;
    margin-top: 26px;
  }
  .catalog-pagination__button {
    min-width: 38px;
    height: 38px;
    padding: 0 11px;
  }
}


/* Bletoria catalogue additions */
.product-card--authorized .product-real-photo img{object-fit:cover}
.mira-v4-info-box a{word-break:break-word}
.mira-v4-variant span>span:first-child{display:inline-flex;align-items:center;justify-content:center;min-height:44px}

/* ===== customerReviewsStyles ===== */
.customer-reviews-section{background:linear-gradient(180deg,#f7fbff 0%,#fff 100%);border-top:1px solid rgba(24,72,112,.08);border-bottom:1px solid rgba(24,72,112,.08)}
.customer-reviews-simple{text-align:center}.customer-reviews-simple h2{margin:4px 0 10px;font-family:var(--font-display,Georgia,serif);font-size:clamp(2rem,5vw,3.5rem);color:#211810}.customer-reviews-simple>p:not(.eyebrow){max-width:620px;margin:0 auto;color:#586979;font-size:1.05rem}.customer-review-empty{display:inline-flex;margin-top:24px;padding:12px 20px;border:1px solid rgba(23,76,121,.14);border-radius:999px;background:#fff;color:#123b66;box-shadow:0 10px 28px rgba(25,67,104,.06)}.customer-review-empty strong{font-size:1rem}.customer-review-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin-top:24px;text-align:left}.customer-review-card{padding:20px;border:1px solid rgba(23,76,121,.12);border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(25,67,104,.06)}.customer-review-card__stars{color:#d79b35;letter-spacing:.12em}.customer-review-card p{margin:12px 0;color:#334b5f;white-space:pre-wrap}.customer-review-card time{color:#6b7885;font-size:.82rem}.customer-review-form{display:grid;max-width:620px;gap:14px;margin:24px auto 0;padding:20px;border:1px solid rgba(23,76,121,.12);border-radius:18px;background:#fff;text-align:left;box-shadow:0 10px 28px rgba(25,67,104,.06)}.customer-review-rating{margin:0;padding:0;border:0}.customer-review-rating legend,.customer-review-form label>span{display:block;margin-bottom:7px;color:#17324b;font-weight:800}.customer-review-stars{display:inline-flex;flex-direction:row-reverse;justify-content:flex-end}.customer-review-stars input{position:absolute;opacity:0;pointer-events:none}.customer-review-stars label{padding:2px;color:#c8cfd5;font-size:2rem;line-height:1;cursor:pointer}.customer-review-stars input:checked~label,.customer-review-stars label:hover,.customer-review-stars label:hover~label{color:#d79b35}.customer-review-form textarea{width:100%;min-height:112px;resize:vertical}.customer-review-form .customer-review-cta{justify-self:center;min-width:210px}.customer-review-form small{color:#6b7885;font-size:.86rem;text-align:center}.customer-review-feedback{margin:0;color:#17324b;text-align:center}

/* ===== mira-cookie-nutrition-sport-style ===== */
  /* Nutrition + sport */
  .product-card__nutrition{margin:12px 0 0;padding:9px 11px;border-radius:12px;background:rgba(19,66,104,.07);color:#254b6c;font-size:.76rem;font-weight:760;line-height:1.35;border:1px solid rgba(19,66,104,.09)}
  .nutrition-panel{margin-top:16px;padding:18px;border:1px solid rgba(19,66,104,.13);border-radius:18px;background:linear-gradient(145deg,#f9fcff,#f5f8fb)}
  .nutrition-panel__head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:12px}
  .nutrition-panel__head strong{font-family:var(--font-display,Georgia,serif);font-size:1.08rem;color:#123b66}
  .nutrition-panel__head span{font-size:.73rem;line-height:1.35;color:#617487;text-align:right;max-width:240px}
  .nutrition-table{width:100%;border-collapse:collapse;font-size:.83rem}
  .nutrition-table th,.nutrition-table td{padding:7px 0;border-bottom:1px solid rgba(19,66,104,.1);text-align:left}
  .nutrition-table th{font-weight:620;color:#52687b}.nutrition-table td{font-weight:800;color:#162f48;text-align:right}
  .nutrition-table tr:last-child th,.nutrition-table tr:last-child td{border-bottom:0}
  .nutrition-panel__note{margin:11px 0 0!important;font-size:.72rem!important;line-height:1.45!important;color:#66798b!important}
  .nutrition-panel__note a{color:#174f80;text-decoration:underline;text-underline-offset:2px}
  .sport-section{background:linear-gradient(180deg,#f3f8fd 0%,#fff 100%);position:relative;overflow:hidden}
  .sport-section::before{content:"";position:absolute;width:460px;height:460px;border-radius:50%;right:-180px;top:-210px;background:radial-gradient(circle,rgba(47,115,166,.14),transparent 67%);pointer-events:none}
  .sport-hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:34px;align-items:center;margin-bottom:30px}
  .sport-hero h2{margin:.25rem 0 .7rem;color:#102f4d}
  .sport-hero>div>p:last-child{max-width:760px}
  .sport-stat{padding:24px;border-radius:24px;background:#123b66;color:#fff;box-shadow:0 18px 45px rgba(18,59,102,.16)}
  .sport-stat strong{display:block;font:700 clamp(2rem,4vw,3.2rem)/1 Georgia,serif;color:#f0b84a;margin-bottom:7px}.sport-stat span{display:block;line-height:1.45;color:#dce8f3}
  .sport-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
  .sport-card{padding:21px;border:1px solid rgba(18,59,102,.11);border-radius:20px;background:#fff;box-shadow:0 12px 28px rgba(18,59,102,.06)}
  .sport-card__icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#eaf3fb;color:#123b66;font-size:1.2rem;margin-bottom:13px}
  .sport-card h3{margin:0 0 7px;color:#173a5b;font-size:1rem}.sport-card p{margin:0;color:#5c6e7e;font-size:.87rem;line-height:1.55}
  .sport-caution{margin-top:18px;padding:15px 17px;border-left:4px solid #e1a735;border-radius:12px;background:#fff8e7;color:#685225;font-size:.82rem;line-height:1.55}
  .sport-sources{margin-top:13px;font-size:.76rem;color:#687b8c}.sport-sources a{color:#174f80;text-decoration:underline;text-underline-offset:2px}
  /* Cookie consent */
  .cookie-banner{position:fixed;left:50%;right:auto;bottom:14px;z-index:100000;display:none;width:min(820px,calc(100% - 24px));max-width:820px;margin:0;padding:12px 14px;border:1px solid #dce5ed;border-radius:15px;background:#fff;color:#173a5b;box-shadow:0 12px 34px rgba(8,28,46,.18);transform:translateX(-50%)}
  .cookie-banner.is-visible{display:flex;gap:14px;align-items:center;animation:cookieIn .2s ease-out}
  @keyframes cookieIn{from{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%,0)}}
  .cookie-banner__content{display:flex;min-width:0;flex:1;align-items:center;gap:10px}.cookie-banner p{margin:0;max-width:560px;color:#52697d;font-size:.8rem;line-height:1.4}
  .cookie-banner__links{display:flex;flex:0 0 auto}.cookie-banner__links button{border:0;padding:2px 0;background:transparent;color:#174f80;text-decoration:underline;text-underline-offset:3px;cursor:pointer;font-weight:700;font-size:.75rem;white-space:nowrap}
  .cookie-banner__actions{display:flex;flex:0 0 auto;gap:8px;justify-content:flex-end}.cookie-btn{border:1px solid #c7d4df;border-radius:10px;padding:9px 13px;background:#fff;color:#123b66;font-size:.78rem;font-weight:800;cursor:pointer;white-space:nowrap}.cookie-btn--secondary{background:#fff;color:#123b66}.cookie-btn--gold{background:#f0b84a;color:#102f4d;border-color:#f0b84a}
  .cookie-dialog{border:0;padding:0;width:min(760px,calc(100vw - 28px));max-height:calc(100vh - 30px);border-radius:24px;background:#fff;color:#17202a;box-shadow:0 30px 90px rgba(8,28,46,.36)}
  .cookie-dialog::backdrop{background:rgba(7,25,41,.62);backdrop-filter:blur(4px)}
  .cookie-dialog__inner{padding:26px;overflow:auto;max-height:calc(100vh - 30px)}.cookie-dialog__head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:16px}.cookie-dialog h2{margin:0 0 6px;color:#123b66}.cookie-dialog__head p{margin:0;color:#657688;font-size:.84rem;line-height:1.5}
  .cookie-close{border:0;background:#edf3f8;color:#123b66;border-radius:999px;width:36px;height:36px;font-size:1.3rem;cursor:pointer;flex:0 0 auto}
  .cookie-category{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:16px 0;border-top:1px solid #e3eaf0}.cookie-category h3{margin:0 0 5px;font-size:.96rem;color:#193d5d}.cookie-category p{margin:0;color:#6b7a88;font-size:.79rem;line-height:1.45}.cookie-category small{display:block;margin-top:5px;color:#80909f;font-size:.7rem}
  .cookie-switch{position:relative;width:48px;height:26px}.cookie-switch input{position:absolute;opacity:0}.cookie-switch span{position:absolute;inset:0;background:#ccd6df;border-radius:999px;transition:.18s;cursor:pointer}.cookie-switch span::after{content:"";position:absolute;width:20px;height:20px;left:3px;top:3px;border-radius:50%;background:#fff;transition:.18s;box-shadow:0 2px 8px rgba(0,0,0,.16)}.cookie-switch input:checked+span{background:#24679f}.cookie-switch input:checked+span::after{transform:translateX(22px)}.cookie-switch input:disabled+span{background:#2d7d5b;cursor:not-allowed}
  .cookie-policy{margin-top:17px;padding:17px;border-radius:16px;background:#f4f8fb;color:#4f6375;font-size:.78rem;line-height:1.55}.cookie-policy h3{margin:0 0 8px;color:#123b66;font-size:.95rem}.cookie-policy p{margin:7px 0}.cookie-policy ul{margin:7px 0 0;padding-left:19px}.cookie-policy a{color:#174f80;text-decoration:underline}
  .cookie-dialog__actions{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap;margin-top:18px}.cookie-manage{display:inline-flex;border:0;background:transparent;color:inherit;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:3px;font:inherit}
  @media(max-width:900px){.sport-grid{grid-template-columns:1fr 1fr}.sport-hero{grid-template-columns:1fr}}
  @media(max-width:700px){.cookie-banner.is-visible{display:grid;gap:10px}.cookie-banner__content{display:block}.cookie-banner__links{margin-top:4px}.cookie-banner__actions{display:grid;grid-template-columns:1fr 1fr}.cookie-btn{width:100%;white-space:normal}}
  @media(max-width:620px){.sport-grid{grid-template-columns:1fr}.cookie-banner{bottom:8px;width:calc(100% - 16px);padding:12px}.cookie-dialog__inner{padding:20px}.cookie-category{grid-template-columns:1fr auto}}
  @media print{.cookie-banner,.cookie-dialog,.sport-section{display:none!important}}

/* ===== mira-commerce-extension-style ===== */
  .product-real-photo{position:relative;width:100%;height:100%;min-height:330px;overflow:hidden;border-radius:inherit;background:#ead9b5}
  .product-real-photo img{width:100%;height:100%;min-height:330px;object-fit:cover;display:block;filter:saturate(.96) contrast(1.02)}
  .product-real-photo::after{content:"";position:absolute;inset:auto 0 0;height:38%;background:linear-gradient(transparent,rgba(17,25,36,.38));pointer-events:none}
  .producer-photo-badge{position:absolute;left:14px;bottom:14px;z-index:2;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.9);color:#173d66;font-size:.72rem;font-weight:800;box-shadow:0 8px 24px rgba(0,0,0,.13)}
  .cart-item__real-photo{width:58px;height:58px;border-radius:13px;object-fit:cover;display:block}
  .special-product-note,.allergen-note{padding:12px 14px;border-radius:14px;background:#fff7e6;border:1px solid #e9d19d;color:#684a19;font-size:.86rem;line-height:1.45}
  .allergen-note{background:#fff0ec;border-color:#efc6bb;color:#7a3427;margin-top:10px}
  .variant-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:8px}
  .variant-choice{display:flex;align-items:center;gap:9px;padding:10px 12px;border:1px solid #d7dee5;border-radius:13px;background:#fff;cursor:pointer;font-size:.9rem}
  .variant-choice:has(input:checked){border-color:#d29a28;box-shadow:0 0 0 2px rgba(210,154,40,.13);background:#fffaf0}
  .variant-choice input{accent-color:#c58b18}
  .special-price-table{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:12px 0}
  .special-price-table span{padding:8px;border-radius:10px;background:#f5f7f8;text-align:center;font-size:.78rem}
  .shipping-calculator{display:grid;gap:10px;padding:12px;border-radius:16px;background:#f7f9fb;border:1px solid #dbe3ea;margin-bottom:9px}
  .shipping-destination{display:grid;gap:6px;font-weight:800;color:#1b456d;font-size:.82rem}
  .shipping-destination select{width:100%;border:1px solid #ccd8e2;border-radius:12px;background:#fff;padding:10px 12px;font:inherit;color:#132f4c}
  .cart-total--shipping,.cart-total--grand,.checkout-total--grand{border-top:1px dashed #d5dde4;padding-top:9px;margin-top:0}
  .cart-total--grand strong,.checkout-total--grand strong{font-size:1.12rem;color:#b3760a}
  .shipping-breakdown{display:grid;gap:4px;font-size:.76rem;color:#536678}
  .shipping-breakdown__line{display:flex;justify-content:space-between;gap:12px}
  .shipping-breakdown__line strong{color:#284c6e;text-align:right}
  .local-total{margin:0;font-weight:900;color:#173e65;font-size:.9rem}
  .fx-note{margin:0;color:#6a7782;font-size:.68rem;line-height:1.45}
  .fx-note a{color:inherit;text-decoration:underline;text-underline-offset:2px}
  .checkout-summary .shipping-breakdown{margin:5px 0 10px}
  .mira-tax-box{display:grid;gap:10px;margin:16px 0 13px;padding:15px;border:1px solid #d9c38f;border-radius:16px;background:linear-gradient(145deg,#fffdf8,#fff6df);color:#2f3b47}
  .mira-tax-box__head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.mira-tax-box__head h3{margin:2px 0 0;color:#173e65;font:700 1.05rem/1.15 Georgia,serif}.mira-tax-kicker{color:#8a6417;font-size:.62rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase}
  .mira-tax-status{flex:0 0 auto;padding:6px 9px;border-radius:999px;background:#e9eef2;color:#4a5e70;font-size:.66rem;font-weight:950;text-transform:uppercase}.mira-tax-status.is-pending{background:#fff0c8;color:#7a5310}.mira-tax-status.is-confirmed{background:#dff4e6;color:#17683c}.mira-tax-status.is-error{background:#fbe4df;color:#8a3325}
  .mira-tax-box p,.mira-tax-box small{margin:0;line-height:1.45}.mira-tax-box p{font-size:.78rem;color:#526474}.mira-tax-box small{display:block;color:#78838d;font-size:.67rem}.mira-tax-classes{display:flex;flex-wrap:wrap;gap:6px}.mira-tax-classes span{padding:5px 7px;border:1px solid #e5d6ae;border-radius:999px;background:#fff;color:#6e5521;font-size:.62rem;font-weight:800}
  .mira-tax-breakdown{display:grid;gap:7px;padding:10px 0;border-top:1px dashed #ddcda6;border-bottom:1px dashed #ddcda6}.mira-tax-breakdown__line{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#526474;font-size:.76rem}.mira-tax-breakdown__line strong{color:#173e65;text-align:right}
  .mira-tax-button{width:100%;border:0;border-radius:11px;padding:11px 13px;background:#173e65;color:#fff;font:850 .78rem/1.2 inherit;cursor:pointer}.mira-tax-button:hover{background:#0e3155}.mira-tax-button:disabled{cursor:wait;opacity:.65}
  .checkout-total--before-tax{margin-top:9px;padding:12px 0;border-top:1px solid #d8e0e6;border-bottom:1px solid #d8e0e6}.checkout-total--before-tax strong{color:#173e65;font-size:1.05rem}
  .checkout-total--complete{margin-top:0;padding:14px 13px;border:1px solid #d5ba76;border-radius:14px;background:#fff9e9}.checkout-total--complete strong{color:#98620b;font-size:1.12rem;text-align:right}.mira-complete-note{margin:7px 2px 0;color:#687784;font-size:.69rem;line-height:1.45}.mira-complete-note.is-confirmed{color:#286444;font-weight:750}
  .cart-item__variant{display:block;color:#b07612;font-weight:800;margin-top:3px}
  .product-card--authorized .product-visual{padding:0;overflow:hidden}
  .product-card--authorized .product-badges{z-index:3}
  @media(max-width:620px){.variant-grid{grid-template-columns:1fr}.special-price-table{grid-template-columns:1fr}.product-real-photo,.product-real-photo img{min-height:280px}.mira-tax-box__head{display:grid}.mira-tax-status{width:max-content}}

/* ===== mira-product-ux-v2-style ===== */
.product-visual{cursor:zoom-in}
.product-dialog{width:min(1260px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:hidden;border-radius:24px}
.product-dialog__grid{grid-template-columns:minmax(420px,1.12fr) minmax(390px,.88fr);min-height:min(760px,calc(100dvh - 24px));max-height:calc(100dvh - 24px)}
.product-dialog__visual{position:relative;display:block;min-height:0;padding:22px;background:linear-gradient(145deg,#f7ead0,#e5c895);overflow:hidden}
.product-dialog__copy{padding:32px 36px 42px;max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain}
.product-dialog__copy h2{font-size:clamp(2rem,3.3vw,3.25rem);line-height:1.02}
.mira-product-hero{position:relative;width:100%;height:100%;min-height:610px;border-radius:19px;overflow:hidden;background:#eadbb9;box-shadow:inset 0 0 0 1px rgba(74,49,20,.08)}
.mira-product-hero>img{width:100%;height:100%;min-height:610px;display:block;object-fit:cover;transition:transform .22s ease;cursor:zoom-in}.mira-product-hero:hover>img{transform:scale(1.012)}
.mira-hero-badge{position:absolute;left:16px;top:16px;z-index:2;max-width:78%;padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.94);color:#173e65;font-size:.72rem;font-weight:850;box-shadow:0 8px 25px rgba(25,44,65,.16)}
.mira-hero-zoom{position:absolute;right:16px;top:16px;z-index:2;width:42px;height:42px;border:0;border-radius:50%;background:rgba(255,255,255,.95);color:#173e65;font-size:1.15rem;cursor:zoom-in;box-shadow:0 8px 25px rgba(25,44,65,.16)}
.mira-producer-thumb{position:absolute;left:16px;bottom:16px;z-index:2;display:flex;align-items:center;gap:9px;max-width:245px;padding:8px 10px;border:0;border-radius:14px;background:rgba(255,255,255,.95);color:#173e65;text-align:left;cursor:pointer;box-shadow:0 8px 25px rgba(25,44,65,.17)}.mira-producer-thumb img{width:54px;height:44px;object-fit:cover;border-radius:9px}.mira-producer-thumb span{font-size:.67rem;font-weight:800;line-height:1.25}
.mira-cart-peek{display:flex;align-items:center;justify-content:space-between;gap:13px;margin:0 0 18px;padding:12px 14px;border:1px solid #d8e2ea;border-radius:15px;background:#f7fafc}.mira-cart-peek__copy{display:flex;align-items:center;gap:10px;min-width:0}.mira-cart-peek__icon{display:grid;width:36px;height:36px;place-items:center;border-radius:50%;background:#173e65;color:white;font-size:1rem}.mira-cart-peek strong{display:block;color:#173e65;font-size:.82rem}.mira-cart-peek small{display:block;color:#637487;font-size:.7rem}.mira-cart-peek button{border:0;border-radius:999px;padding:9px 12px;background:#173e65;color:#fff;font-weight:800;font-size:.72rem;cursor:pointer;white-space:nowrap}
.mira-section-label{display:block;margin:17px 0 9px;color:#284c6e;font-size:.73rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.mira-variant-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.mira-variant-choice{position:relative;display:grid;place-items:center;gap:5px;min-height:104px;padding:10px 8px;border:1px solid #d9e1e7;border-radius:15px;background:#fff;cursor:pointer;text-align:center;transition:.16s}.mira-variant-choice input,.mira-weight-choice input{position:absolute;opacity:0;pointer-events:none}.mira-variant-choice svg{width:48px;height:48px;filter:drop-shadow(0 5px 8px rgba(78,44,16,.12))}.mira-variant-choice strong{font-size:.78rem;color:#2e4355}.mira-variant-choice:has(input:checked){border-color:#d39219;background:#fff9eb;box-shadow:0 0 0 2px rgba(211,146,25,.13),0 10px 25px rgba(150,101,20,.08)}.mira-variant-choice:has(input:checked)::after{content:"✓";position:absolute;right:7px;top:7px;display:grid;width:20px;height:20px;place-items:center;border-radius:50%;background:#d99418;color:#fff;font-size:.7rem;font-weight:900}
.mira-weight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.mira-weight-choice{position:relative;display:block;cursor:pointer}.mira-weight-choice>span{display:grid;gap:4px;min-height:78px;place-items:center;padding:12px 8px;border:1px solid #d8e0e6;border-radius:14px;background:#fff;text-align:center;transition:.16s}.mira-weight-choice strong{font-size:1rem;color:#173e65}.mira-weight-choice small{font-size:.75rem;color:#6d7984;font-weight:760}.mira-weight-choice:has(input:checked)>span{border-color:#d39219;background:#fff9eb;box-shadow:0 0 0 2px rgba(211,146,25,.13)}
.mira-quantity-row{display:grid;grid-template-columns:170px minmax(0,1fr);gap:12px;align-items:end;margin-top:12px}.mira-quantity-box{display:grid;gap:7px}.mira-quantity-box label{font-size:.72rem;font-weight:900;color:#284c6e;text-transform:uppercase;letter-spacing:.06em}.mira-quantity-control{display:grid;grid-template-columns:42px 1fr 42px;height:48px;border:1px solid #d8e0e6;border-radius:14px;background:#fff;overflow:hidden}.mira-quantity-control button{border:0;background:#f5f8fa;color:#173e65;font-size:1.2rem;cursor:pointer}.mira-quantity-control input{min-width:0;border:0;text-align:center;font:850 .95rem/1 system-ui;color:#173e65;outline:0}.mira-add-zone{display:grid;gap:8px}.mira-live-total{display:flex;justify-content:space-between;align-items:baseline;color:#667786;font-size:.75rem}.mira-live-total strong{font:800 1.28rem Georgia,serif;color:#a66e0b}.mira-add-zone .button{min-height:48px}
.mira-product-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:15px 0}.mira-product-facts>div{padding:10px 11px;border-radius:12px;background:#f6f8fa;border:1px solid #e3e8ec}.mira-product-facts span{display:block;margin-bottom:3px;color:#778593;font-size:.64rem;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.mira-product-facts strong{display:block;color:#273d50;font-size:.78rem;line-height:1.35}.mira-benefit-compact{margin-top:12px;padding:12px 14px;border-radius:14px;background:#f7fbff;border:1px solid #dce7ef}.mira-benefit-compact strong{display:block;margin-bottom:4px;color:#173e65}.mira-benefit-compact p{margin:0!important;color:#627485!important;font-size:.8rem!important;line-height:1.45!important}.mira-allergen-compact{margin-top:10px;padding:10px 12px;border-radius:12px;background:#fff2ed;color:#78392c;border:1px solid #efc8bc;font-size:.75rem;line-height:1.4}.mira-nutrition-mini{margin-top:12px}.mira-nutrition-mini summary{cursor:pointer;color:#173e65;font-weight:850;font-size:.8rem}.mira-nutrition-mini .nutrition-panel{margin-top:9px;padding:13px}.mira-nutrition-mini .nutrition-table{font-size:.75rem}
.mira-image-lightbox{position:fixed;z-index:2147482000;inset:0;display:none;place-items:center;padding:24px;background:rgba(8,18,28,.88);backdrop-filter:blur(8px)}.mira-image-lightbox.is-open{display:grid}.mira-image-lightbox img{max-width:min(1200px,95vw);max-height:90vh;border-radius:18px;box-shadow:0 28px 80px rgba(0,0,0,.45)}.mira-image-lightbox button{position:fixed;right:24px;top:20px;width:46px;height:46px;border:0;border-radius:50%;background:#fff;color:#173e65;font-size:1.55rem;cursor:pointer}
@media(max-width:980px){.product-dialog{overflow:auto}.product-dialog__grid{grid-template-columns:1fr;max-height:none}.product-dialog__visual{padding:14px}.mira-product-hero,.mira-product-hero>img{min-height:420px;max-height:62vh}.product-dialog__copy{max-height:none;padding:26px 22px 34px}.mira-variant-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:580px){.product-dialog{width:calc(100vw - 12px);max-width:none;max-height:calc(100dvh - 10px);border-radius:18px}.product-dialog__visual{padding:8px}.mira-product-hero,.mira-product-hero>img{min-height:330px;max-height:46vh}.product-dialog__copy{padding:20px 15px 28px}.mira-cart-peek{position:sticky;top:-1px;z-index:3;background:rgba(247,250,252,.97);backdrop-filter:blur(8px)}.mira-variant-grid{grid-template-columns:repeat(2,1fr)}.mira-weight-grid{gap:6px}.mira-weight-choice>span{min-height:72px;padding:9px 4px}.mira-weight-choice strong{font-size:.88rem}.mira-weight-choice small{font-size:.66rem}.mira-quantity-row{grid-template-columns:1fr}.mira-product-facts{grid-template-columns:1fr}.cart-drawer{width:100%}}

/* ===== mira-interaction-stability-v3 ===== */
/* MIRA interaction stability patch v3 */
.product-card{cursor:pointer}
.product-card:focus-visible{outline:3px solid rgba(192,128,22,.55);outline-offset:4px}
.product-card .product-visual,.product-card .product-card__body{cursor:pointer}
.drawer-backdrop{z-index:2147482998}
.cart-drawer{z-index:2147482999;overscroll-behavior:contain}
.cart-items{min-height:0}
.drawer__footer{max-height:56dvh;overflow-y:auto;overscroll-behavior:contain}
@media(max-width:580px){.drawer__footer{max-height:60dvh;padding:16px 16px 20px}.cart-items{padding:12px 15px}.drawer__header{padding:18px 16px 14px}}

/* ===== mira-commerce-v4-style ===== */
/* MIRA commerce v4 - clean product and cart experience inspired by familiar shop ergonomics */
#cartDrawer,#drawerBackdrop,#productDialog{display:none!important}
.product-card[data-product-id]{cursor:pointer}
.product-card[data-product-id]:focus-visible{outline:3px solid #d59a2a;outline-offset:4px}
.mira-v4-no-scroll{overflow:hidden!important}
.mira-v4-overlay,.mira-v4-cart-backdrop{position:fixed;inset:0;background:rgba(8,23,38,.62);backdrop-filter:blur(5px);z-index:12000;opacity:0;pointer-events:none;transition:opacity .2s ease}
.mira-v4-overlay.is-open,.mira-v4-cart-backdrop.is-open{opacity:1;pointer-events:auto}
.mira-v4-product-shell{position:absolute;inset:24px;max-width:1380px;margin:auto;background:#fffdf8;border-radius:24px;box-shadow:0 28px 90px rgba(4,18,31,.28);overflow:auto;transform:translateY(16px) scale(.99);transition:transform .22s ease}
.mira-v4-overlay.is-open .mira-v4-product-shell{transform:none}
.mira-v4-close{position:sticky;float:right;top:16px;right:18px;z-index:8;width:44px;height:44px;border:1px solid #dfe4e8;border-radius:999px;background:#fff;color:#183d61;font-size:25px;cursor:pointer;box-shadow:0 6px 22px rgba(12,40,64,.1)}
.mira-v4-product-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(410px,.92fr);min-height:650px}
.mira-v4-gallery{padding:34px;background:linear-gradient(145deg,#f7eedc,#f4f6f5);border-right:1px solid #e8e2d7}
.mira-v4-hero{position:relative;display:grid;place-items:center;min-height:570px;border-radius:22px;overflow:hidden;background:#e7dfcf;box-shadow:inset 0 0 0 1px rgba(38,65,83,.08)}
.mira-v4-hero img{width:100%;height:100%;min-height:570px;max-height:650px;object-fit:cover;display:block}
.mira-v4-image-note{position:absolute;left:16px;bottom:16px;padding:8px 11px;border-radius:999px;background:rgba(13,40,62,.86);color:#fff;font-size:.7rem;font-weight:800;letter-spacing:.02em}
.mira-v4-gallery-tools{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.mira-v4-thumb{display:flex;align-items:center;gap:9px;min-height:54px;padding:6px 10px;border:1px solid #d8dfe4;border-radius:13px;background:#fff;color:#173e65;font-weight:800;cursor:pointer}
.mira-v4-thumb img{width:45px;height:45px;border-radius:9px;object-fit:cover}
.mira-v4-details{padding:48px 44px 38px;overflow:auto}
.mira-v4-breadcrumb{font-size:.75rem;color:#798795;margin-bottom:9px}
.mira-v4-origin{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.mira-v4-origin span{padding:6px 9px;border-radius:999px;background:#eef4f7;color:#315873;font-size:.7rem;font-weight:850}
.mira-v4-details h2{margin:0 50px 10px 0;font-family:var(--font-display,Georgia,serif);font-size:clamp(2rem,3vw,3rem);line-height:1.02;color:#153a5d}
.mira-v4-lead{margin:0 0 18px;color:#5b6f7f;font-size:1rem;line-height:1.6}
.mira-v4-price-head{display:flex;align-items:end;justify-content:space-between;gap:12px;padding:13px 0 18px;border-bottom:1px solid #e8ecef}.mira-v4-price-head strong{font-family:var(--font-display,Georgia,serif);font-size:1.8rem;color:#c68410}.mira-v4-price-head small{color:#7e8b96}
.mira-v4-section{margin-top:21px}.mira-v4-section-title{display:block;margin-bottom:9px;color:#173e65;font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.065em}
.mira-v4-variants{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.mira-v4-variant{position:relative}.mira-v4-variant input{position:absolute;opacity:0}.mira-v4-variant span{display:flex;min-height:112px;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:10px;border:1.5px solid #dbe1e5;border-radius:15px;background:#fff;cursor:pointer;color:#294a65;font-weight:850;text-align:center}.mira-v4-variant svg{width:54px;height:54px}.mira-v4-variant input:checked+span{border-color:#d9961d;background:#fff8e9;box-shadow:0 0 0 2px rgba(217,150,29,.12)}
.mira-nut-photo-thumb{display:block;width:76px;height:58px;object-fit:cover;border-radius:12px;box-shadow:0 6px 14px rgba(58,36,13,.12);border:1px solid #ead8bb;background:#fff}
.mira-variant-choice .mira-nut-photo-thumb{width:70px;height:52px}.mira-v4-variant .mira-nut-photo-thumb{width:82px;height:60px}
@media(max-width:560px){.mira-v4-variant .mira-nut-photo-thumb{width:74px;height:54px}}

.mira-v4-weights{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.mira-v4-weight{position:relative}.mira-v4-weight input{position:absolute;opacity:0}.mira-v4-weight span{display:flex;min-height:82px;flex-direction:column;justify-content:center;align-items:center;padding:9px;border:1.5px solid #dbe1e5;border-radius:14px;background:#fff;cursor:pointer}.mira-v4-weight strong{font-size:1rem;color:#183d61}.mira-v4-weight small{margin-top:4px;color:#9a6b16;font-weight:850}.mira-v4-weight input:checked+span{border-color:#d9961d;background:#fff8e9;box-shadow:0 0 0 2px rgba(217,150,29,.12)}
.mira-v4-buy-row{display:grid;grid-template-columns:132px 1fr;gap:12px;margin-top:20px}.mira-v4-qty{display:grid;grid-template-columns:42px 1fr 42px;border:1px solid #d9e0e5;border-radius:14px;overflow:hidden;background:#fff}.mira-v4-qty button{border:0;background:#f5f7f8;color:#173e65;font-size:1.2rem;cursor:pointer}.mira-v4-qty input{width:100%;border:0;text-align:center;font-weight:900;color:#173e65;outline:0;background:#fff}.mira-v4-add{border:0;border-radius:14px;background:linear-gradient(135deg,#e9a62b,#c9850e);color:#fff;font-weight:900;font-size:.95rem;cursor:pointer;padding:15px 18px;box-shadow:0 8px 25px rgba(197,132,14,.24)}.mira-v4-add:disabled{opacity:.45;cursor:not-allowed}
.mira-v4-total-line{display:flex;justify-content:space-between;gap:14px;margin-top:10px;color:#637687;font-size:.78rem}.mira-v4-total-line strong{color:#183d61;font-size:1rem}
.mira-v4-facts{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:20px}.mira-v4-fact{padding:11px 12px;border-radius:12px;background:#f5f8fa;border:1px solid #e4e9ec}.mira-v4-fact small{display:block;color:#7d8b96;font-size:.65rem;text-transform:uppercase;font-weight:850}.mira-v4-fact strong{display:block;margin-top:3px;color:#29485f;font-size:.79rem;line-height:1.4}
.mira-v4-info-tabs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.mira-v4-info-box{padding:14px 15px;border:1px solid #e0e6e9;border-radius:14px;background:#fff}.mira-v4-info-box h3{margin:0 0 5px;color:#173e65;font-size:.86rem}.mira-v4-info-box p{margin:0;color:#667989;font-size:.77rem;line-height:1.5}.mira-v4-allergen{margin-top:10px;padding:10px 12px;border:1px solid #efc9ba;border-radius:12px;background:#fff4ef;color:#7c4537;font-size:.76rem;font-weight:750}
.mira-v4-nutrition{margin-top:16px;border:1px solid #e0e6e9;border-radius:14px;background:#fbfcfd;padding:13px 14px}.mira-v4-nutrition summary{cursor:pointer;color:#173e65;font-weight:900}.mira-v4-nutrition table{width:100%;margin-top:10px;border-collapse:collapse;font-size:.75rem}.mira-v4-nutrition td,.mira-v4-nutrition th{padding:6px 0;border-bottom:1px solid #e8ecef}.mira-v4-nutrition td{text-align:right;font-weight:800}.mira-v4-nutrition p{font-size:.7rem;color:#788996;line-height:1.45}
.mira-v4-cart{position:fixed;top:0;right:0;bottom:0;width:min(460px,100vw);z-index:12002;background:#fffdf9;box-shadow:-20px 0 60px rgba(5,22,36,.23);transform:translateX(105%);transition:transform .24s ease;display:flex;flex-direction:column}.mira-v4-cart.is-open{transform:none}.mira-v4-cart-head{display:flex;align-items:center;justify-content:space-between;padding:20px 20px 15px;border-bottom:1px solid #e5e9ec}.mira-v4-cart-head h2{margin:0;color:#173e65;font-family:var(--font-display,Georgia,serif);font-size:1.55rem}.mira-v4-cart-close{width:40px;height:40px;border:1px solid #dce2e6;border-radius:999px;background:#fff;color:#173e65;font-size:22px;cursor:pointer}.mira-v4-cart-scroll{overflow:auto;padding:14px 18px 26px;flex:1}.mira-v4-cart-empty{padding:35px 10px;text-align:center;color:#718392}.mira-v4-cart-empty strong{display:block;color:#173e65;font-size:1.05rem;margin-bottom:5px}.mira-v4-cart-item{display:grid;grid-template-columns:72px 1fr auto;gap:11px;padding:13px 0;border-bottom:1px solid #e6eaed}.mira-v4-cart-image{width:72px;height:72px;border-radius:12px;overflow:hidden;background:#f0eadf;display:grid;place-items:center}.mira-v4-cart-image img{width:100%;height:100%;object-fit:cover}.mira-v4-cart-image .cart-item__mock{width:100%;height:100%}.mira-v4-cart-copy h3{margin:0 0 3px;color:#1b405f;font-size:.86rem;line-height:1.25}.mira-v4-cart-copy small{display:block;color:#768692;font-size:.68rem;line-height:1.35}.mira-v4-cart-qty{display:inline-grid;grid-template-columns:30px 30px 30px;margin-top:8px;border:1px solid #dde3e7;border-radius:9px;overflow:hidden}.mira-v4-cart-qty button{border:0;background:#f6f8f9;color:#173e65;cursor:pointer}.mira-v4-cart-qty span{text-align:center;font-size:.75rem;font-weight:850;padding:6px 0}.mira-v4-cart-right{text-align:right}.mira-v4-cart-right strong{display:block;color:#173e65;font-size:.78rem}.mira-v4-cart-remove{margin-top:11px;border:0;background:transparent;color:#9a6357;font-size:.65rem;text-decoration:underline;cursor:pointer}
.mira-v4-shipping{margin-top:18px;padding:15px;border-radius:15px;background:#f7f9fa;border:1px solid #e0e6e9}.mira-v4-shipping label{display:block;color:#173e65;font-size:.72rem;font-weight:900}.mira-v4-shipping select{width:100%;margin-top:7px;padding:11px;border:1px solid #d9e0e4;border-radius:10px;background:#fff;color:#203f59}.mira-v4-summary{margin-top:15px}.mira-v4-summary-row{display:flex;justify-content:space-between;gap:12px;padding:7px 0;color:#627687;font-size:.78rem}.mira-v4-summary-row strong{color:#183d61}.mira-v4-summary-row.total{margin-top:5px;padding-top:12px;border-top:1px solid #dfe5e8;font-size:1rem;font-weight:900}.mira-v4-summary-row.total strong{font-size:1.25rem;color:#bd7b0c}.mira-v4-local-total{margin:0;color:#9a6d20;text-align:right;font-size:.74rem;font-weight:800}.mira-v4-postal-details{margin-top:8px;border-top:1px dashed #d8dfe3;padding-top:8px}.mira-v4-postal-details summary{cursor:pointer;color:#315a77;font-size:.7rem;font-weight:850}.mira-v4-postal-line{display:flex;justify-content:space-between;gap:9px;margin-top:7px;color:#6f808e;font-size:.67rem}.mira-v4-postal-line strong{color:#274d68}.mira-v4-cart-actions{position:sticky;bottom:0;padding:15px 18px 20px;background:linear-gradient(to top,#fffdf9 80%,rgba(255,253,249,.8));border-top:1px solid #e5e9ec}.mira-v4-checkout{width:100%;border:0;border-radius:13px;background:linear-gradient(135deg,#e9a62b,#c9850e);color:#fff;padding:14px 16px;font-weight:900;cursor:pointer}.mira-v4-continue{width:100%;border:0;background:transparent;color:#48647a;padding:11px 0 0;font-weight:800;cursor:pointer}.mira-v4-cart-note{margin:8px 0 0;color:#7c8b96;font-size:.64rem;line-height:1.4;text-align:center}
@media(max-width:900px){.mira-v4-product-shell{inset:8px;border-radius:18px}.mira-v4-product-grid{grid-template-columns:1fr}.mira-v4-gallery{border-right:0;border-bottom:1px solid #e8e2d7;padding:15px}.mira-v4-hero,.mira-v4-hero img{min-height:360px;max-height:58vh}.mira-v4-details{padding:26px 17px 34px}.mira-v4-variants{grid-template-columns:repeat(2,1fr)}.mira-v4-details h2{font-size:2rem}.mira-v4-buy-row{grid-template-columns:1fr}.mira-v4-info-tabs{grid-template-columns:1fr}.mira-v4-facts{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.mira-v4-product-shell{inset:4px}.mira-v4-gallery{padding:10px}.mira-v4-hero,.mira-v4-hero img{min-height:300px;max-height:44vh}.mira-v4-details{padding:22px 13px 30px}.mira-v4-weights{gap:6px}.mira-v4-weight span{min-height:72px}.mira-v4-cart{width:100vw}.mira-v4-cart-scroll{padding-inline:13px}.mira-v4-cart-actions{padding-inline:13px}}

/* ===== mira-bletoria-premium-photo-patch ===== */
.product-card--authorized .product-visual{background:linear-gradient(145deg,#f8f1e5,#e9eef2);overflow:hidden}
.product-card--authorized .product-real-photo{min-height:350px;background:#efe5d2}
.product-card--authorized .product-real-photo img{display:block;width:100%;height:100%;min-height:350px;object-fit:cover;object-position:center;image-rendering:auto;filter:saturate(1.025) contrast(1.018) brightness(1.008);transition:transform .35s ease,filter .35s ease}
.product-card--authorized:hover .product-real-photo img{transform:scale(1.025);filter:saturate(1.035) contrast(1.025) brightness(1.012)}
.product-card--authorized .producer-photo-badge{backdrop-filter:blur(8px);background:rgba(15,54,86,.88);border:1px solid rgba(255,255,255,.2)}
.mira-v4-hero img{image-rendering:auto;filter:saturate(1.02) contrast(1.015) brightness(1.005)}
.mira-v4-image-note{background:rgba(12,43,70,.84);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.16)}
@media(max-width:620px){.product-card--authorized .product-real-photo,.product-card--authorized .product-real-photo img{min-height:300px}}

/* ===== mira-premium-storefront-reference-2026 ===== */
:root{--mira-honey:#e49a18;--mira-honey-dark:#b96e06;--mira-ink:#221d17;--mira-paper:#fffdf9;--mira-cream:#faf5ea;--mira-line:#eadfce}
body{background:#fbfaf7}
.announcement{background:#20180f;color:#f6e5c2;border:0}
.announcement__inner{min-height:34px;font-size:.72rem;letter-spacing:.035em}
.site-header{background:rgba(255,255,255,.97);border-bottom:1px solid #ece5db;box-shadow:0 4px 22px rgba(61,42,17,.055);backdrop-filter:blur(18px)}
.brand{color:#18140f}.brand__mark{color:#d99418}.brand strong{font-size:1.65rem;letter-spacing:.12em}.brand small{color:#8b6a37}
.main-nav{gap:clamp(15px,2.3vw,31px)}.main-nav a{color:#2e2923;font-size:.85rem}.main-nav a::after{background:#d99418}
.language-switch{border-color:#e8dfd1;background:#fff}.cart-trigger{border-color:#eadcc6;background:#fff;color:#2a241d;box-shadow:0 4px 16px rgba(67,42,8,.05)}.cart-trigger:hover{border-color:#d79b35;background:#fff9ed}
body.mira-v4-no-scroll .announcement{display:none}
body.mira-v4-no-scroll .site-header{position:fixed;top:0;left:0;right:0;z-index:12010}

.mira-v4-overlay{top:var(--header-height);right:0;bottom:0;left:0;background:#fbfaf7;backdrop-filter:none;z-index:12000}
.mira-v4-product-shell{inset:0;max-width:none;margin:0;background:#fbfaf7;border-radius:0;box-shadow:none;overflow:auto;transform:translateY(8px);transition:transform .22s ease,right .24s ease}
.mira-v4-overlay.is-open .mira-v4-product-shell{transform:none}
body.mira-v4-cart-open .mira-v4-product-shell{right:420px}
.mira-v4-close{position:fixed;top:calc(var(--header-height) + 14px);right:22px;z-index:12009;width:40px;height:40px;border:1px solid #eadfce;background:rgba(255,255,255,.96);color:#34291e;box-shadow:0 8px 24px rgba(45,30,12,.10)}
body.mira-v4-cart-open .mira-v4-close{right:438px}
.mira-v4-product-grid{grid-template-columns:minmax(0,1.02fr) minmax(440px,.98fr);min-height:calc(100vh - var(--header-height));max-width:1480px;margin:0 auto;background:#fff}
.mira-v4-gallery{padding:30px 28px 40px;background:#fff;border-right:1px solid #eee5d8}
.mira-v4-hero{min-height:585px;border-radius:18px;background:#efe6d5;box-shadow:0 12px 38px rgba(66,43,13,.10),inset 0 0 0 1px rgba(78,50,17,.06)}
.mira-v4-hero img{min-height:585px;max-height:690px;object-fit:cover;filter:saturate(1.07) contrast(1.035) brightness(1.02)}
.mira-v4-image-note{left:14px;bottom:14px;background:rgba(255,252,245,.90);color:#6c4a17;border:1px solid rgba(218,166,72,.38);backdrop-filter:blur(10px);box-shadow:0 6px 18px rgba(60,39,13,.08)}
.mira-v4-gallery-tools{margin-top:13px}.mira-v4-thumb{border-color:#eadfce;color:#5e4420;background:#fffaf0;box-shadow:0 5px 14px rgba(55,37,13,.04)}
.mira-v4-details{padding:34px 40px 46px;background:#fff;overflow:visible}
.mira-v4-breadcrumb{color:#9a856a;margin-bottom:13px}.mira-v4-origin{margin-bottom:14px}.mira-v4-origin span{background:#fff7e6;color:#77521a;border:1px solid #f0dfbc}
.mira-v4-details h2{color:#231d16;font-size:clamp(2.15rem,3.15vw,3.35rem);letter-spacing:-.025em;max-width:820px}
.mira-v4-lead{color:#706558;font-size:.98rem;max-width:760px}
.mira-v4-price-head{padding:12px 0 18px;border-bottom-color:#eee5d9}.mira-v4-price-head strong{color:#dc8b0d;font-size:2rem}.mira-v4-price-head small{color:#95836d}
.mira-v4-section-title{color:#30281f;text-transform:none;letter-spacing:0;font-size:.86rem}
.mira-v4-variants{gap:12px}.mira-v4-variant span{min-height:120px;border-color:#eadfce;border-radius:13px;color:#342a21;background:#fff}.mira-v4-variant span:hover{border-color:#e3b45d;transform:translateY(-1px)}.mira-v4-variant input:checked+span{border-color:#e1991a;background:#fffaf0;box-shadow:0 0 0 2px rgba(225,153,26,.09),0 9px 22px rgba(112,73,14,.07)}
.mira-v4-weights{gap:12px}.mira-v4-weight span{min-height:78px;border-color:#eadfce;border-radius:12px;background:#fff}.mira-v4-weight strong{color:#30271e}.mira-v4-weight small{color:#9b6410}.mira-v4-weight input:checked+span{border-color:#e1991a;background:#fffaf0;box-shadow:0 0 0 2px rgba(225,153,26,.08)}
.mira-v4-buy-row{grid-template-columns:126px 1fr;gap:14px;margin-top:22px}.mira-v4-qty{border-color:#e7dccb;border-radius:999px}.mira-v4-qty button{background:#fff;color:#4c3b29}.mira-v4-add{border-radius:999px;background:linear-gradient(135deg,#f0aa24,#d58708);box-shadow:0 10px 27px rgba(205,131,8,.25);font-size:1rem}.mira-v4-add:hover{filter:brightness(1.025);transform:translateY(-1px)}
.mira-v4-total-line{color:#8c7a66}.mira-v4-total-line strong{color:#382b1d}
.mira-v4-facts{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:24px}.mira-v4-fact{padding:12px;background:#fffaf2;border-color:#eee0ca}.mira-v4-fact small{color:#a17b3a}.mira-v4-fact strong{color:#4c3a27}
.mira-v4-info-tabs{gap:12px;margin-top:18px}.mira-v4-info-box{border-color:#eadfce;background:#fff}.mira-v4-info-box h3{color:#32281e}.mira-v4-info-box p{color:#766858}.mira-v4-nutrition{border-color:#eadfce;background:#fffdf8}.mira-v4-nutrition summary{color:#34291e}.mira-v4-nutrition td,.mira-v4-nutrition th{border-bottom-color:#eee5d9}

.mira-v4-cart-backdrop{top:var(--header-height);background:rgba(74,48,14,.045);backdrop-filter:none;z-index:2147482998}
.mira-v4-cart{top:var(--header-height);width:min(420px,100vw);background:#fff;box-shadow:-14px 0 42px rgba(54,36,13,.13);border-left:1px solid #ece2d4;z-index:2147482999}
.mira-v4-cart-head{padding:18px 20px;border-bottom-color:#eee5d9}.mira-v4-cart-head h2{color:#251e17;font-size:1.45rem}.mira-v4-cart-close{border-color:#eadfce;color:#34291e;background:#fff}
.mira-v4-cart-scroll{padding:12px 19px 28px}.mira-v4-cart-item{grid-template-columns:68px 1fr auto;padding:15px 0;border-bottom-color:#efe7dc}.mira-v4-cart-image{width:68px;height:68px;border-radius:10px;background:#f5eee2}.mira-v4-cart-copy h3{color:#2e261e}.mira-v4-cart-copy small{color:#8c7b68}.mira-v4-cart-qty{border-color:#e8ddcd}.mira-v4-cart-qty button{background:#fffaf2;color:#3f3020}.mira-v4-cart-right strong{color:#2f261d}.mira-v4-cart-remove{color:#9f6a2f}
.mira-v4-shipping{background:#fffaf2;border-color:#eadfce}.mira-v4-shipping label{color:#382b1e}.mira-v4-shipping select{border-color:#e6d9c5;color:#3b3024}.mira-v4-summary-row{color:#7e6e5c}.mira-v4-summary-row strong{color:#34291f}.mira-v4-summary-row.total{border-top-color:#e8ddcf}.mira-v4-summary-row.total strong{color:#c57606}.mira-v4-local-total{color:#9b6818}.mira-v4-postal-details summary{color:#6f4b1a}.mira-v4-postal-line{color:#8a7965}.mira-v4-postal-line strong{color:#4b3826}
.mira-v4-cart-actions{background:linear-gradient(to top,#fff 82%,rgba(255,255,255,.88));border-top-color:#eee5d9}.mira-v4-checkout{border-radius:10px;background:linear-gradient(135deg,#eea824,#d38608);box-shadow:0 9px 24px rgba(198,124,7,.18)}.mira-v4-continue{color:#72562d}.mira-v4-cart-note{color:#988773}

.product-card{border-color:#eee3d3;background:#fff;box-shadow:0 10px 30px rgba(58,39,15,.055)}.product-card:hover{box-shadow:0 18px 38px rgba(58,39,15,.10);transform:translateY(-3px)}
.product-card__body h3{color:#2b231b}.product-card__origin{color:#9a6b21}.product-card__price{color:#c77a09}

@media(max-width:1180px){body.mira-v4-cart-open .mira-v4-product-shell{right:0}.mira-v4-product-grid{grid-template-columns:1fr 1fr}.mira-v4-facts{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){body.mira-v4-no-scroll .site-header{position:fixed}.mira-v4-overlay{top:var(--header-height)}.mira-v4-product-shell{inset:0}.mira-v4-product-grid{grid-template-columns:1fr}.mira-v4-gallery{padding:14px;border-right:0;border-bottom:1px solid #eee5d8}.mira-v4-hero,.mira-v4-hero img{min-height:390px;max-height:58vh}.mira-v4-details{padding:25px 18px 36px}.mira-v4-facts{grid-template-columns:repeat(2,1fr)}.mira-v4-close{top:calc(var(--header-height) + 10px);right:12px}body.mira-v4-cart-open .mira-v4-close{right:12px}.mira-v4-cart{top:var(--header-height);width:100vw}}
@media(max-width:560px){.brand strong{font-size:1.35rem}.mira-v4-hero,.mira-v4-hero img{min-height:315px;max-height:44vh}.mira-v4-details h2{font-size:2rem}.mira-v4-variants{grid-template-columns:repeat(2,1fr)}.mira-v4-facts{grid-template-columns:1fr 1fr}.mira-v4-info-tabs{grid-template-columns:1fr}.mira-v4-buy-row{grid-template-columns:1fr}.mira-v4-cart{top:0}.mira-v4-cart-backdrop{top:0}.mira-v4-overlay{top:var(--header-height)}}

/* ===== mira-ultra-photo-center-patch ===== */
/* Ultra-clear nut photography: centered before selection and at every variant change. */
.mira-v4-gallery{display:flex;flex-direction:column;align-items:stretch}
.mira-v4-hero{width:100%;aspect-ratio:4/3;min-height:0;height:auto;background:#eadcc3;overflow:hidden}
.mira-v4-hero img{width:100%;height:100%;min-height:0!important;max-height:none!important;object-fit:cover!important;object-position:50% 50%!important;display:block;image-rendering:auto;backface-visibility:hidden;transform:translateZ(0)}
.mira-v4-gallery-tools:empty{display:none!important;margin:0!important}
.mira-product-hero{aspect-ratio:4/3;min-height:0!important;height:auto}
.mira-product-hero>img{width:100%;height:100%;min-height:0!important;object-fit:cover!important;object-position:50% 50%!important;image-rendering:auto}
.mira-v4-variant .mira-nut-photo-thumb,.mira-variant-choice .mira-nut-photo-thumb{object-fit:cover!important;object-position:center!important}
@media(max-width:980px){.mira-v4-hero{aspect-ratio:4/3;min-height:0!important;max-height:none!important}.mira-v4-hero img{min-height:0!important;max-height:none!important}}
@media(max-width:580px){.mira-v4-hero{aspect-ratio:4/3;min-height:0!important;max-height:none!important}.mira-v4-hero img{min-height:0!important;max-height:none!important}}

/* ===== mira-ai-card-and-back-fix ===== */
.mira-v4-product-topbar{position:sticky;top:0;z-index:12020;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px;padding:9px 18px;background:rgba(255,253,249,.97);border-bottom:1px solid #eee5d8;backdrop-filter:blur(14px);box-shadow:0 5px 18px rgba(50,34,15,.045)}
.mira-v4-back{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 15px;border:1px solid #e6d9c7;border-radius:999px;background:#fff;color:#34291e;font:800 .84rem/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;cursor:pointer;box-shadow:0 5px 16px rgba(50,34,15,.055)}
.mira-v4-back:hover{border-color:#d9a34b;background:#fff9ed;transform:translateY(-1px)}
.mira-v4-product-topbar .mira-v4-close{position:static!important;float:none!important;top:auto!important;right:auto!important;margin:0!important;width:40px;height:40px;box-shadow:0 5px 16px rgba(50,34,15,.055)}
body.mira-v4-cart-open .mira-v4-product-topbar .mira-v4-close{right:auto!important}
@media(max-width:560px){.mira-v4-product-topbar{min-height:54px;padding:7px 10px}.mira-v4-back{min-height:38px;padding:0 13px;font-size:.8rem}}

/* ===== mira-haxhia-catalogue-integration ===== */
.product-real-photo--haxhia{background:#f3eadc!important}
.product-real-photo--haxhia::after{display:none!important}
.product-real-photo--haxhia img{object-fit:cover!important;object-position:center!important;transform:scale(1)!important;transform-origin:center;filter:saturate(.98) contrast(1.01) brightness(1.01)!important}
.product-card[data-product-id="ks-haxhia-gollak-natural"]:hover .product-real-photo--haxhia img{transform:scale(1.012)!important}
.mira-product-placeholder{display:grid;place-items:center;padding:28px;background:radial-gradient(circle at 50% 32%,rgba(238,190,89,.24),transparent 34%),linear-gradient(145deg,#fbf7ee,#e9dcc6)!important;text-align:center}
.mira-product-placeholder::after{display:none!important}
.mira-product-placeholder>div,.mira-v4-partner-placeholder{display:grid;place-items:center;gap:9px;color:#173e65}
.mira-product-placeholder span,.mira-v4-partner-placeholder span{display:grid;width:64px;height:64px;place-items:center;border-radius:50%;background:#fff7e5;color:#b47a16;font-size:1.7rem;box-shadow:0 12px 30px rgba(95,65,19,.1)}
.mira-product-placeholder strong,.mira-v4-partner-placeholder strong{font:700 1.25rem/1.15 Georgia,serif;max-width:260px}
.mira-product-placeholder small,.mira-v4-partner-placeholder small{color:#6f7e89;font-weight:800}
.mira-v4-partner-placeholder{width:100%;height:100%;min-height:610px;padding:34px;background:radial-gradient(circle at 50% 35%,rgba(239,190,82,.24),transparent 32%),linear-gradient(145deg,#fffaf0,#eadcc4)}
.mira-v4-hero--haxhia{background:#f3eadc!important}
.mira-v4-hero--haxhia .mira-haxhia-product-image{object-fit:contain!important;object-position:center!important;transform:none!important;transform-origin:center}
.mira-v4-hero--haxhia:hover .mira-haxhia-product-image{transform:none!important}
.mira-v4-buy-row--single{grid-template-columns:1fr!important}
.mira-v4-buy-row--single .mira-v4-add{width:100%}
.mira-v4-partner-facts{margin-top:18px}
.mira-v4-price-head strong{overflow-wrap:anywhere}
@media(max-width:980px){.mira-v4-partner-placeholder{min-height:420px}}
@media(max-width:620px){
  .product-real-photo--haxhia img{transform:scale(1)!important}
  .product-card[data-product-id="ks-haxhia-gollak-natural"]:hover .product-real-photo--haxhia img{transform:scale(1.008)!important}
  .mira-v4-partner-placeholder{min-height:330px;padding:24px}
  .mira-v4-partner-facts{grid-template-columns:1fr}
  .mira-v4-origin{gap:6px}
}

/* ===== mira-queen-bee-brand-style ===== */
.brand__mark{
  background:transparent !important;
  overflow:visible !important;
}

.brand__mark img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  border-radius:0;
}

/* ===== mira-header-layout-fix ===== */
/* ===== MIRA HEADER PROPRE ===== */

.site-header{
  position:relative;
  z-index:100;
}

.site-header > *,
.site-header .header-inner,
.site-header .header__inner,
.site-header .site-header__inner{
  box-sizing:border-box;
}

/* Conteneur principal */
.site-header .header-inner,
.site-header .header__inner,
.site-header .site-header__inner{
  width:100%;
  max-width:1600px;
  margin:0 auto;
  padding-left:20px;
  padding-right:20px;
  display:flex;
  align-items:center;
  gap:18px;
}

/* Logo */
.site-header .brand{
  flex:0 0 auto;
  min-width:max-content;
  margin-right:8px;
}

/* Navigation centrale */
.site-header nav{
  flex:1 1 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  min-width:0;
}

.site-header nav a,
.site-header nav button{
  white-space:nowrap;
  font-size:.82rem;
  line-height:1.15;
}

/* Partie droite */
.site-header .header-actions,
.site-header .header__actions,
.site-header .nav-actions,
.site-header .toolbar{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:9px;
  white-space:nowrap;
}

/* Langues */
.site-header [class*="language"],
.site-header [class*="locale"]{
  display:flex;
  align-items:center;
  gap:6px;
  white-space:nowrap;
}

/* Boutons profil / panier */
.site-header [data-account-link],
.site-header [href*="panier"],
.site-header [class*="cart"]{
  flex:0 0 auto;
}

/* Petits écrans desktop */
@media (max-width:1250px){
  .site-header .header-inner,
  .site-header .header__inner,
  .site-header .site-header__inner{
    gap:10px;
    padding-left:12px;
    padding-right:12px;
  }

  .site-header nav{
    gap:11px;
  }

  .site-header nav a,
  .site-header nav button{
    font-size:.73rem;
  }

  .site-header .brand strong{
    font-size:1.35rem !important;
  }

  .site-header .brand small{
    font-size:.55rem !important;
  }
}

/* ===== mira-lang-dropdown-css ===== */
.mira-lang-dropdown{
  position:relative;
}

.mira-lang-current{
  display:flex;
  align-items:center;
  gap:6px;
  min-height:34px;
  padding:6px 10px;
  border:1px solid rgba(0,0,0,.14);
  border-radius:999px;
  background:#fff;
  font:inherit;
  font-size:.78rem;
  font-weight:700;
  cursor:pointer;
}

.mira-lang-arrow{
  font-size:.68rem;
  opacity:.7;
}

.mira-lang-menu{
  position:absolute;
  top:calc(100% + 8px);
  right:0;
  z-index:9999;
  width:190px;
  padding:7px;
  border:1px solid rgba(0,0,0,.12);
  border-radius:14px;
  background:#fff;
  box-shadow:0 14px 36px rgba(0,0,0,.14);
}

.mira-lang-menu button{
  width:100%;
  display:grid;
  grid-template-columns:26px 34px 1fr;
  align-items:center;
  gap:7px;
  padding:9px 10px;
  border:0;
  border-radius:9px;
  background:transparent;
  text-align:left;
  cursor:pointer;
  font:inherit;
}

.mira-lang-menu button:hover,
.mira-lang-menu button.is-active{
  background:#fff0c7;
}

.mira-lang-menu small{
  color:#6f675d;
  font-size:.72rem;
}

/* ===== mira-mobile-nav-hidden-guard ===== */
.site-header .mobile-nav[hidden]{
  display:none !important;
}

/* ===== mira-de-header-final ===== */
html[lang^="de"] .site-header .header-inner,
html[lang^="de"] .site-header .header__inner,
html[lang^="de"] .site-header .site-header__inner{
  display:flex !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  width:100% !important;
  max-width:none !important;
  padding:8px 12px !important;
  gap:12px !important;
}

/* Logo légèrement plus compact */
html[lang^="de"] .site-header .brand{
  flex:0 0 auto !important;
  width:auto !important;
  margin:0 !important;
}

html[lang^="de"] .site-header .brand strong{
  font-size:1.25rem !important;
}

html[lang^="de"] .site-header .brand small{
  font-size:.47rem !important;
}

/* UNE SEULE navigation centrale */
html[lang^="de"] .site-header nav:not(.mobile-nav){
  flex:1 1 auto !important;
  width:auto !important;
  min-width:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:15px !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  order:initial !important;
}

html[lang^="de"] .site-header nav:not(.mobile-nav) a,
html[lang^="de"] .site-header nav:not(.mobile-nav) button{
  flex:0 0 auto !important;
  font-size:.73rem !important;
  line-height:1.15 !important;
  font-weight:600 !important;
  white-space:nowrap !important;
}

/* Bloc droite compact mais lisible */
html[lang^="de"] .site-header .header-actions,
html[lang^="de"] .site-header .header__actions,
html[lang^="de"] .site-header .nav-actions,
html[lang^="de"] .site-header .toolbar{
  flex:0 0 auto !important;
  display:flex !important;
  align-items:center !important;
  gap:7px !important;
  margin:0 !important;
  white-space:nowrap !important;
}

/* Sélecteur langue */
html[lang^="de"] .mira-lang-current{
  min-height:32px !important;
  padding:5px 8px !important;
  font-size:.72rem !important;
}

/* Le menu mobile doit rester caché */
.site-header .mobile-nav[hidden]{
  display:none !important;
}

@media(max-width:1250px){
  html[lang^="de"] .site-header nav:not(.mobile-nav){
    gap:10px !important;
  }

  html[lang^="de"] .site-header nav:not(.mobile-nav) a,
  html[lang^="de"] .site-header nav:not(.mobile-nav) button{
    font-size:.68rem !important;
  }
}

/* ===== mira-nav-two-lines-clean ===== */
.site-header .main-nav{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  min-width:0 !important;
}

/* Base : autoriser VRAIMENT 2 lignes */
.site-header .main-nav > a{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;

  min-width:0 !important;
  min-height:42px !important;
  height:auto !important;

  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;

  word-break:normal !important;
  overflow-wrap:normal !important;

  text-align:center !important;
  line-height:1.12 !important;

  padding:3px 4px !important;
}

/* Largeurs fixes : le flex ne doit plus écraser les mots */
.site-header .main-nav > a[data-i18n="navCollection"]{
  flex:0 0 72px !important;
}

.site-header .main-nav > a[data-i18n="navHealth"]{
  flex:0 0 104px !important;
}

.site-header .main-nav > a[data-i18n="navSport"]{
  flex:0 0 78px !important;
}

.site-header .main-nav > a[data-i18n="navDelivery"]{
  flex:0 0 72px !important;
}

.site-header .main-nav > a[data-i18n="navStory"]{
  flex:0 0 92px !important;
}

.site-header .main-nav > a[data-i18n="sellerSpace"]{
  flex:0 0 100px !important;
}

.site-header .main-nav > a[data-i18n="navContact"]{
  flex:0 0 62px !important;
}

/* Allemand : un peu plus d'air */
html[lang^="de"] .site-header .main-nav > a[data-i18n="navHealth"]{
  flex-basis:112px !important;
}

html[lang^="de"] .site-header .main-nav > a[data-i18n="navStory"]{
  flex-basis:96px !important;
}

html[lang^="de"] .site-header .main-nav > a[data-i18n="sellerSpace"]{
  flex-basis:108px !important;
}

/* Albanais */
html[lang^="sq"] .site-header .main-nav > a[data-i18n="navHealth"],
html[lang^="sq"] .site-header .main-nav > a[data-i18n="sellerSpace"]{
  flex-basis:106px !important;
}

/* Menu mobile inchangé */
.site-header .mobile-nav[hidden]{
  display:none !important;
}

/* ===== mira-nav-linebreaks-final-css ===== */
.site-header .main-nav > a{
  white-space:normal !important;
  text-align:center !important;
  line-height:1.08 !important;
  min-height:40px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

/* Un peu d'espace entre les onglets */
.site-header .main-nav{
  gap:12px !important;
}

/* Ne jamais afficher le menu mobile caché */
.site-header .mobile-nav[hidden]{
  display:none !important;
}

/* ===== mira-nav-text-official ===== */
/* Onglets principaux MIRA */
html body .site-header nav.main-nav > a{
  font-size:15px !important;
  font-weight:800 !important;
  color:#0f0c09 !important;
  line-height:1.12 !important;
  letter-spacing:.01em !important;
  opacity:1 !important;
}

/* Langue / devise / panier / profil */
html body .site-header .mira-lang-current,
html body .site-header .header__actions button,
html body .site-header .header__actions a{
  font-weight:750 !important;
}

/* ===== mira-header-contact-fit ===== */
html body .site-header .main-nav{
  gap:7px !important;
}

html body .site-header .main-nav > a{
  padding-left:1px !important;
  padding-right:1px !important;
}

/* Légèrement compacter quelques onglets longs */
html body .site-header .main-nav > a[data-i18n="navHealth"],
html body .site-header .main-nav > a[data-i18n="navStory"],
html body .site-header .main-nav > a[data-i18n="sellerSpace"]{
  max-width:88px !important;
}

/* Contact doit toujours rester visible */
html body .site-header .main-nav > a[data-i18n="navContact"]{
  flex:0 0 auto !important;
  min-width:52px !important;
  max-width:none !important;
  white-space:nowrap !important;
}

/* Bloc de droite ne doit pas chevaucher la navigation */
html body .site-header .header__actions{
  flex:0 0 auto !important;
  margin-left:6px !important;
}

/* ===== mira-nav-distribution-all ===== */
/* Répartition propre de la navigation pour FR / SQ / EN / DE / IT */

html body .site-header .main-nav{
  flex:1 1 auto !important;
  min-width:0 !important;

  display:flex !important;
  align-items:center !important;
  justify-content:space-evenly !important;

  gap:8px !important;
  margin-left:10px !important;
  margin-right:10px !important;
}

html body .site-header .main-nav > a{
  flex:0 1 auto !important;

  min-width:66px !important;
  max-width:104px !important;

  padding-left:5px !important;
  padding-right:5px !important;

  text-align:center !important;
}

/* Onglets courts */
html body .site-header .main-nav > a[data-i18n="navCollection"],
html body .site-header .main-nav > a[data-i18n="navDelivery"],
html body .site-header .main-nav > a[data-i18n="navContact"]{
  min-width:60px !important;
}

/* Onglets longs */
html body .site-header .main-nav > a[data-i18n="navHealth"],
html body .site-header .main-nav > a[data-i18n="navStory"],
html body .site-header .main-nav > a[data-i18n="sellerSpace"]{
  min-width:80px !important;
  max-width:106px !important;
}

/* Allemand : légèrement plus d'air */
html[lang^="de"] body .site-header .main-nav > a[data-i18n="navHealth"]{
  min-width:94px !important;
}

html[lang^="de"] body .site-header .main-nav > a[data-i18n="navStory"]{
  min-width:84px !important;
}

html[lang^="de"] body .site-header .main-nav > a[data-i18n="sellerSpace"]{
  min-width:92px !important;
}

/* Partie droite */
html body .site-header .header__actions{
  flex:0 0 auto !important;
  margin-left:8px !important;
}

/* Menu mobile inchangé */
.site-header .mobile-nav[hidden]{
  display:none !important;
}

/* ===== mira-devoir-094 ===== */
.photo-credit--hero{left:clamp(16px,4vw,60px)!important;right:auto!important}.photo-credit--hero a{color:inherit;text-decoration:underline}

/* ===== mira-share-review-style ===== */
/* MIRA full-bleed Bletoria gallery — 2026-08-16 */
.product-card--authorized .product-visual{
  position:relative!important;aspect-ratio:4/3!important;overflow:hidden!important;padding:0!important;background:#17120d!important;
}
.product-card--authorized .product-visual::before,
.product-card--authorized .product-visual::after{display:none!important}
.product-card--authorized .product-real-photo{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:0!important;border-radius:0!important;overflow:hidden!important;background:#17120d!important;
}
.product-card--authorized .product-real-photo::after{display:none!important}
.product-card--authorized .product-real-photo img{
  display:block!important;width:100%!important;height:100%!important;min-height:0!important;max-width:none!important;object-fit:cover!important;object-position:50% 50%!important;
  image-rendering:auto!important;filter:none!important;transform:scale(1)!important;transition:transform .28s ease,filter .28s ease!important;
}
.product-card--authorized:hover .product-real-photo img{transform:scale(1.012)!important;filter:none!important}
.product-card--authorized .producer-photo-badge{z-index:5!important}
@media(max-width:620px){.product-card--authorized .product-visual{aspect-ratio:4/3!important}}

/* ===== mira-account-prefill-style ===== */
.mira-account-prefill{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;margin:0 0 18px;padding:14px 16px;border:1px solid #bdd8c8;border-radius:16px;background:#f1faf4;color:#163e2b}
.mira-account-prefill[hidden]{display:none!important}
.mira-account-prefill__check{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#1f6846;color:#fff;font-weight:900}
.mira-account-prefill strong{display:block;font-size:.94rem}.mira-account-prefill p{margin:2px 0 0;color:#456455;font-size:.82rem;line-height:1.4}
.mira-account-prefill a{color:#1c5c40;font-size:.82rem;font-weight:850;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
@media(max-width:640px){.mira-account-prefill{grid-template-columns:auto 1fr}.mira-account-prefill a{grid-column:2;white-space:normal}}

/* ===== mira-bletoria-clean-card-fix ===== */
/* Clean Bletoria cards: no dark/blue overlays under product photography. */
.official-stores{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:22px 0 26px}
.official-store-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px;border:1px solid #e3d5bc;border-radius:18px;background:#fffdf8;box-shadow:0 10px 28px rgba(58,39,15,.06)}
.official-store-card h3{margin:5px 0 2px;color:#2e241b;font:700 1.35rem Georgia,serif}.official-store-card p{margin:0;color:#71808c}.official-store-card>a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 15px;border-radius:999px;background:#173f67;color:#fff;text-decoration:none;font-weight:900;white-space:nowrap}
.official-store-badge{display:inline-flex;padding:4px 8px;border-radius:999px;background:#e8f4ec;color:#17683c;font-size:.67rem;font-weight:950;text-transform:uppercase;letter-spacing:.05em}
.official-store-phones{display:flex;flex-wrap:wrap;gap:7px 12px;margin-top:9px}.official-store-phones a{color:#174c78;font-size:.82rem;font-weight:850;text-decoration:none}
.mira-producer-contacts{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.mira-producer-contacts a{display:inline-flex;padding:7px 10px;border-radius:999px;background:#f2f6f9;color:#174c78;font-size:.78rem;font-weight:850;text-decoration:none}
@media(max-width:820px){.official-stores{grid-template-columns:1fr}.official-store-card{align-items:flex-start}}
@media(max-width:520px){.official-store-card{display:grid;padding:17px}.official-store-card>a{width:100%}}
.product-card--authorized .producer-photo-badge{display:none!important}
.product-card--authorized .product-card__nutrition{display:none!important}
.product-card--authorized .product-card__body{padding-top:22px!important}
.product-card--authorized .product-card__buy{margin-top:18px!important;border-top-color:#eadfce!important}
.product-card--authorized .card-button{border-color:#e7d9c2!important;background:#fffdf9!important;color:#35271b!important;box-shadow:none!important}
.product-card--authorized .card-button:hover{border-color:#d7a34a!important;background:#fff8e9!important}
.product-card--authorized .card-button--add{border-color:#dda027!important;background:linear-gradient(135deg,#f4c258,#df9a19)!important;color:#26180b!important;box-shadow:0 8px 20px rgba(177,112,14,.17)!important}
.product-card--authorized .card-button--add:hover{background:linear-gradient(135deg,#f7c968,#d88f0f)!important;border-color:#cb8510!important}
.product-card--authorized .product-visual::before,
.product-card--authorized .product-visual::after,
.product-card--authorized .product-real-photo::before,
.product-card--authorized .product-real-photo::after{display:none!important;content:none!important}

/* ===== mira-order-tracking-style ===== */
.mira-tracking-nav{color:#9d680a!important;font-weight:900!important}
.mira-tracking-callout{padding:34px 0 42px;background:linear-gradient(135deg,#123b66,#174d7d);color:#fff}
.mira-tracking-callout__inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:center}
.mira-tracking-callout .eyebrow{color:#f0c76c}.mira-tracking-callout h2{margin:3px 0 8px;color:#fff;font-size:clamp(2rem,4vw,3.25rem)}
.mira-tracking-callout p{max-width:720px;margin:0;color:#d8e5ee;font-size:1.02rem}
.mira-tracking-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 21px;border-radius:999px;background:linear-gradient(135deg,#f4c866,#dc9b24);color:#2b1e0b!important;text-decoration:none;font-weight:950;box-shadow:0 13px 30px rgba(8,28,45,.25);white-space:nowrap}
.mira-tracking-button:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(8,28,45,.32)}
.mira-tracking-float{position:fixed;right:18px;bottom:82px;z-index:11950;display:inline-flex;align-items:center;gap:9px;padding:12px 17px;border:1px solid rgba(255,255,255,.38);border-radius:999px;background:#123b66;color:#fff!important;text-decoration:none;font:900 .86rem/1.15 system-ui,-apple-system,"Segoe UI",sans-serif;box-shadow:0 12px 30px rgba(10,38,64,.27)}
.mira-tracking-float:hover{background:#174f80;transform:translateY(-2px)}
@media(max-width:760px){.mira-tracking-callout__inner{grid-template-columns:1fr}.mira-tracking-button{width:100%}.mira-tracking-float{right:10px;bottom:70px;padding:11px 13px;font-size:.78rem}.main-nav .mira-tracking-nav{display:none}}

/* ===== mira-mobile-stability-2026-08-17 ===== */
/* Mobile stability pass: keep navigation, commerce panels and floating actions inside the viewport. */
@media (max-width: 760px) {
  :root { --header-height: 96px; }

  html,
  body {
    width: 100%;
    max-width: 100%;
    overflow-x: clip;
  }

  body.no-scroll,
  body.mira-v4-no-scroll {
    overscroll-behavior: none;
  }

  .site-header,
  .announcement {
    width: 100%;
    max-width: 100%;
  }

  .header__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 40px 40px 40px;
    gap: 6px;
    min-height: var(--header-height);
    padding: 7px 0;
  }

  .header__actions { display: contents; }

  .brand {
    grid-column: 1;
    grid-row: 1;
    min-width: 0;
    gap: 7px;
    overflow: hidden;
  }

  .brand__mark,
  .brand__mark svg {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
  }

  .brand strong {
    overflow: hidden;
    font-size: 1.18rem;
    letter-spacing: .1em;
    text-overflow: ellipsis;
  }

  .client-login,
  .cart-trigger,
  .menu-toggle {
    align-self: center;
    width: 40px;
    min-width: 40px;
    min-height: 40px;
    height: 40px;
    padding: 0;
  }

  .client-login { grid-column: 2; grid-row: 1; }

  .cart-trigger {
    position: relative;
    grid-column: 3;
    grid-row: 1;
    justify-content: center;
    overflow: visible;
  }

  .cart-trigger svg { width: 19px; height: 19px; }

  .cart-count {
    position: absolute;
    top: -4px;
    right: -4px;
    min-width: 19px;
    height: 19px;
    padding: 0 4px;
    border: 2px solid #fff;
    font-size: .6rem;
  }

  .menu-toggle {
    display: grid;
    grid-column: 4;
    grid-row: 1;
  }

  .language-switch {
    display: grid;
    grid-template-columns: repeat(5, minmax(42px, 1fr));
    grid-column: 1 / -1;
    grid-row: 2;
    width: 100%;
    min-width: 0;
    gap: 2px;
    padding: 2px;
  }

  .lang-btn,
  .other-language-select {
    width: 100%;
    min-width: 0;
    min-height: 32px;
  }

  .lang-btn {
    gap: 3px;
    padding: 4px 5px;
    font-size: .66rem;
  }

  .other-language-select {
    padding-right: 19px;
    padding-left: 6px;
    font-size: .65rem;
    text-overflow: ellipsis;
  }

  .mobile-nav {
    max-height: calc(100dvh - var(--header-height) - 34px);
    overflow-y: auto;
    overscroll-behavior: contain;
    border-top: 1px solid var(--line);
  }

  .mobile-nav a {
    min-height: 45px;
    padding: 11px 0;
  }

  .hero,
  .hero__content {
    min-height: max(650px, calc(100svh - 34px - var(--header-height)));
  }

  .hero__content {
    padding-top: 58px;
    padding-bottom: 54px;
  }

  .hero h1 {
    max-width: 100%;
    font-size: clamp(2.75rem, 13vw, 4rem);
    overflow-wrap: anywhere;
  }

  .hero__stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
  }

  .hero__stats > div {
    min-width: 0;
    padding-inline: 9px;
  }

  .hero__stats dd { overflow-wrap: anywhere; }

  .section-heading h2,
  .contact-copy h2 {
    overflow-wrap: anywhere;
  }

  .segmented {
    scrollbar-width: thin;
    overscroll-behavior-inline: contain;
  }

  .mira-v4-cart:not(.is-open),
  .mira-v4-cart-backdrop:not(.is-open) {
    display: none;
  }

  .mira-v4-cart.is-open { display: flex; }
  .mira-v4-cart-backdrop.is-open { display: block; }

  .mira-v4-overlay,
  .mira-v4-product-shell,
  .mira-v4-product-grid,
  .mira-v4-gallery,
  .mira-v4-details {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .mira-v4-product-shell {
    right: 0 !important;
    left: 0 !important;
  }

  .mira-v4-product-topbar {
    padding-right: max(10px, env(safe-area-inset-right));
    padding-left: max(10px, env(safe-area-inset-left));
  }

  .mira-v4-gallery { padding: 10px; }

  .mira-v4-details {
    padding: 21px 14px max(30px, env(safe-area-inset-bottom));
    overflow-wrap: anywhere;
  }

  .mira-v4-details h2 {
    margin-right: 0;
    font-size: clamp(1.85rem, 9vw, 2.35rem);
  }

  .mira-v4-variants { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mira-v4-weights { grid-template-columns: repeat(3, minmax(0, 1fr)); }

  .mira-v4-variant span,
  .mira-v4-weight span {
    min-width: 0;
    overflow-wrap: anywhere;
  }

  .mira-v4-cart {
    right: 0;
    left: 0;
    width: 100%;
    max-width: 100%;
    border-left: 0;
  }

  .mira-v4-cart-scroll {
    min-width: 0;
    padding-inline: 13px;
  }

  .mira-v4-cart-copy { min-width: 0; }
  .mira-v4-cart-copy h3,
  .mira-v4-cart-copy small { overflow-wrap: anywhere; }

  .mira-v4-cart-actions {
    padding-right: max(13px, env(safe-area-inset-right));
    padding-bottom: max(18px, env(safe-area-inset-bottom));
    padding-left: max(13px, env(safe-area-inset-left));
  }

  .mira-v4-summary-row,
  .mira-v4-postal-line {
    align-items: flex-start;
  }

  .mira-v4-summary-row span,
  .mira-v4-postal-line span { min-width: 0; }

  .mira-v4-summary-row strong,
  .mira-v4-postal-line strong {
    max-width: 52%;
    text-align: right;
    overflow-wrap: anywhere;
  }

  .checkout-dialog {
    width: calc(100vw - 8px);
    max-width: none;
    max-height: calc(100dvh - 8px);
    border-radius: 16px;
  }

  .checkout-main,
  .checkout-summary {
    min-width: 0;
    padding: 46px 16px 25px;
  }

  .checkout-summary { padding-top: 28px; }

  .checkout-main h2 { font-size: clamp(2rem, 10vw, 2.55rem); }

  .checkout-total,
  .checkout-summary-item,
  .mira-tax-breakdown__line {
    align-items: flex-start;
  }

  .checkout-total span,
  .checkout-summary-item > :first-child,
  .mira-tax-breakdown__line span { min-width: 0; }

  .checkout-total strong,
  .checkout-summary-item > span,
  .mira-tax-breakdown__line strong {
    max-width: 54%;
    text-align: right;
    overflow-wrap: anywhere;
  }

  .cookie-banner {
    max-height: calc(100dvh - 20px);
    padding-bottom: max(12px, env(safe-area-inset-bottom));
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  .cookie-dialog {
    width: calc(100vw - 12px);
    max-height: calc(100dvh - 12px);
  }

  .cookie-dialog__inner { max-height: calc(100dvh - 12px); }


  .mira-tracking-float {
    right: max(11px, env(safe-area-inset-right));
    display: inline-flex;
    width: 46px;
    height: 46px;
    min-height: 46px;
    align-items: center;
    justify-content: center;
    padding: 0;
    border-radius: 50%;
  }

  .mira-tracking-float {
    bottom: max(11px, env(safe-area-inset-bottom));
    font-size: .95rem;
  }

  .mira-tracking-float span:last-child { display: none; }

  body.mira-v4-no-scroll .mira-tracking-float,
  body:has(.cookie-banner.is-visible) .mira-tracking-float {
    display: none !important;
  }

  .toast {
    right: 12px;
    bottom: calc(max(11px, env(safe-area-inset-bottom)) + 58px);
    left: 12px;
    max-width: none;
  }
}

@media (max-width: 420px) {
  .shell { width: min(calc(100% - 20px), var(--shell)); }

  .header__inner {
    grid-template-columns: minmax(0, 1fr) 38px 38px 38px;
    gap: 5px;
  }

  .client-login,
  .cart-trigger,
  .menu-toggle {
    width: 38px;
    min-width: 38px;
    height: 38px;
    min-height: 38px;
  }

  .language-switch {
    grid-template-columns: repeat(5, minmax(40px, 1fr));
  }

  .lang-btn .lang-code { font-size: .62rem; }

  .hero__stats dt { font-size: 1.4rem; }
  .hero__stats dd { font-size: .56rem; }

  .footer-grid { grid-template-columns: 1fr; }
  .footer-grid > * { grid-column: 1 !important; }

  .mira-v4-cart-item {
    grid-template-columns: 56px minmax(0, 1fr) auto;
    gap: 9px;
  }

  .mira-v4-cart-image {
    width: 56px;
    height: 56px;
  }

  .mira-v4-cart-qty { grid-template-columns: 28px 28px 28px; }
  .mira-v4-cart-right strong { max-width: 78px; overflow-wrap: anywhere; }

  .mira-v4-facts { grid-template-columns: 1fr; }

  .mira-tax-box { padding: 14px 12px; }
}

/* ===== mira-haxhia-final-visual-fix ===== */
/* Keep the partner packaging legible inside MIRA's existing catalogue frames. */
.product-card[data-product-id^="ks-haxhia-"] .product-visual {
  background:#f3eadc!important;
  isolation:isolate;
}
.product-card[data-product-id^="ks-haxhia-"] .product-real-photo {
  z-index:1!important;
  display:grid!important;
  place-items:center;
  background:#f3eadc!important;
}
.product-card[data-product-id="ks-haxhia-gollak-natural"] .product-real-photo img {
  position:relative!important;
  z-index:2!important;
  object-position:center!important;
  transform:scale(1)!important;
  transform-origin:center!important;
}
.product-card[data-product-id="ks-haxhia-gollak-natural"]:hover .product-real-photo img {
  transform:scale(1.012)!important;
}
.product-card[data-product-id^="ks-haxhia-"] .mira-product-placeholder > div {
  position:relative;
  z-index:2;
}
.product-card[data-product-id^="ks-haxhia-"] .product-badges {
  z-index:4!important;
}
.product-card[data-product-id="ks-haxhia-event-jars"] .product-real-photo img {
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
}
.currency-switch {
  display:inline-flex;
  min-height:40px;
  align-items:center;
  padding:3px;
  border:1px solid #e8dfd1;
  border-radius:999px;
  background:#fff;
  box-shadow:0 4px 16px rgba(67,42,8,.05);
}
.currency-switch select {
  min-height:32px;
  padding:4px 27px 4px 10px;
  border:0;
  outline:0;
  background:transparent;
  color:#2a241d;
  cursor:pointer;
  font:800 .72rem/1 inherit;
  letter-spacing:.035em;
}
.currency-switch:focus-within {
  border-color:#d79b35;
  box-shadow:0 0 0 3px rgba(215,155,53,.14);
}
.mira-v4-promotion-note {
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:8px 18px;
  margin:0 0 18px;
  padding:10px 13px;
  border:1px solid #ead9b8;
  border-radius:12px;
  background:#fff9ed;
  color:#6b5321;
  font-size:.78rem;
}
.mira-v4-promotion-note strong { color:#70480d; }
@media(max-width:620px){
  .product-card[data-product-id="ks-haxhia-gollak-natural"] .product-real-photo img {
    transform:scale(1)!important;
  }
  .product-card[data-product-id="ks-haxhia-gollak-natural"]:hover .product-real-photo img {
    transform:scale(1.008)!important;
  }
}
@media(max-width:760px){
  :root { --header-height:132px; }
  .currency-switch {
    grid-column:1 / -1;
    grid-row:3;
    width:100%;
    min-height:34px;
    padding:1px;
  }
  .currency-switch select {
    width:100%;
    min-height:30px;
    text-align:center;
    text-align-last:center;
  }
}

/* Bletoria master-photo rule: same 4:3 catalogue framing as R-Katana and Haxhia. */
.product-card[data-product-id^="ks-bletoria-"] .product-visual,
.product-card[data-product-id^="ks-bletoria-"] .product-real-photo,
.mira-v4-hero--bletoria {
  background:radial-gradient(circle at 50% 42%,#fbf7ee 0,#efe4d0 72%,#e4d4b9 100%)!important;
}
.product-card--authorized .product-real-photo--bletoria img,
.mira-v4-hero--bletoria img {
  object-fit:cover!important;
  object-position:center!important;
  filter:none!important;
  transform:none!important;
}
.product-card--authorized:hover .product-real-photo--bletoria img {
  transform:scale(1.006)!important;
}

/* ===== mira-account-header-style ===== */
.catalogue-account-avatar{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:linear-gradient(145deg,#ffe6a8,#eeb03b);font-size:1rem}
.client-login.is-connected{padding:6px 12px 6px 7px;background:#173f67;border-color:#173f67}
.client-login.is-connected [data-account-label]{max-width:92px;overflow:hidden;text-overflow:ellipsis}
[data-account-link].mira-account-pending{pointer-events:none!important}

/* Rien de l'état invité/ connecté n'est affiché tant que la session n'est pas connue. */
html.mira-account-loading [data-account-label],
html.mira-account-loading [data-account-avatar],
html.mira-account-loading [data-account-guest-icon]{
  visibility:hidden!important;
}

/* ===== Devoir 088 : sans la photo des fondateurs, le texte « Notre histoire » occupe toute la largeur ===== */
#story .story-grid{grid-template-columns:1fr!important;max-width:820px;margin-left:auto;margin-right:auto}


/* ===== Devoirs 055, 057, 059, 062, 063 : en-tête refait, plus de défilement de côté, quantité lisible ===== */
html, body { overflow-x: clip !important; }
html body .site-header .header__inner { display:flex !important; flex-wrap:nowrap !important; align-items:center !important; justify-content:space-between !important; gap:14px !important; max-width:1480px !important; margin:0 auto !important; padding:10px clamp(12px,2vw,28px) !important; min-height:70px !important; box-sizing:border-box !important; width:100% !important; }
html body .site-header .brand { flex:0 0 auto !important; display:flex !important; align-items:center !important; gap:10px !important; min-width:0 !important; margin:0 !important; }
html body .site-header .brand strong { white-space:nowrap !important; }
html body .site-header .main-nav { flex:1 1 auto !important; display:flex !important; flex-wrap:nowrap !important; justify-content:center !important; align-items:center !important; gap:clamp(12px,1.35vw,22px) !important; min-width:0 !important; margin:0 !important; transform:none !important; }
html body .site-header .main-nav > a { white-space:nowrap !important; font-size:15px !important; font-weight:750 !important; line-height:1.2 !important; color:#0f0c09 !important; opacity:1 !important; padding:6px 0 !important; }
html body .site-header .main-nav > a br { display:none !important; }
html body .site-header .header__actions { flex:0 0 auto !important; display:flex !important; flex-wrap:nowrap !important; align-items:center !important; gap:8px !important; margin:0 !important; position:static !important; transform:none !important; }
html body .site-header .header__actions > * { flex:0 0 auto !important; position:relative !important; }
html body .site-header .menu-toggle { display:none !important; }
html body .site-header .mobile-nav:not([hidden]) { display:flex !important; flex-direction:column !important; gap:2px !important; position:absolute !important; left:0 !important; right:0 !important; top:100% !important; z-index:60 !important; background:#fffdf8 !important; border-bottom:1px solid #eadfcd !important; box-shadow:0 18px 40px rgba(20,14,6,.12) !important; padding:10px clamp(16px,3vw,28px) 16px !important; }
html body .site-header .mobile-nav a { padding:12px 4px !important; font-weight:700 !important; color:#0f0c09 !important; border-bottom:1px solid #f1e8da !important; white-space:normal !important; }
/* Ordinateur moyen : on garde 4 liens, les autres passent dans le menu ☰ */
@media (max-width:1439px) {
  html body .site-header .main-nav > a[data-i18n="navHealth"],
  html body .site-header .main-nav > a[data-i18n="navSport"],
  html body .site-header .main-nav > a[data-i18n="sellerSpace"] { display:none !important; }
  html body .site-header .menu-toggle { display:inline-flex !important; }
  html body .site-header .client-login [data-account-label] { display:none !important; }
  html body .site-header .client-login { padding-left:12px !important; padding-right:12px !important; }
}
@media (max-width:1099px) {
  html body .site-header .main-nav { display:none !important; }
}
/* Téléphone */
@media (max-width:699px) {
  html body .site-header .header__inner { gap:8px !important; min-height:62px !important; padding:8px 12px !important; }
  html body .site-header .brand__mark img { width:34px !important; height:34px !important; }
  html body .site-header .brand strong { font-size:20px !important; letter-spacing:.08em !important; }
  html body .site-header .header__actions { gap:6px !important; }
  html body .site-header .currency-switch { display:none !important; }
  html body .site-header .cart-trigger [data-i18n="cart"] { display:none !important; }
  html body .site-header .cart-trigger { padding:0 10px !important; min-width:0 !important; height:40px !important; }
  html body .site-header .mira-lang-current { padding:0 8px !important; height:40px !important; }
  html body .site-header .client-login { width:40px !important; height:40px !important; padding:0 !important; justify-content:center !important; min-width:0 !important; }
  html body .site-header .menu-toggle { width:40px !important; height:40px !important; }
}
@media (max-width:359px) {
  html body .site-header .brand strong { display:none !important; }
}
/* Quantité sur la fiche produit */
html body .mira-v4-qty { grid-template-columns:42px minmax(44px,1fr) 42px !important; }
html body .mira-v4-qty input { padding:0 !important; min-width:44px !important; font-size:1.05rem !important; font-weight:900 !important; color:#173e65 !important; -webkit-text-fill-color:#173e65 !important; text-align:center !important; -moz-appearance:textfield !important; appearance:textfield !important; }
html body .mira-v4-qty input::-webkit-outer-spin-button, html body .mira-v4-qty input::-webkit-inner-spin-button { -webkit-appearance:none !important; margin:0 !important; }
/* Devoir 057 : les étoiles cachées de l'avis client poussaient la page de 400 px vers la droite */
html body .customer-review-stars { position:relative !important; }
html body .customer-review-stars input[type="radio"] { position:absolute !important; left:0 !important; right:auto !important; top:0 !important; width:1px !important; height:1px !important; opacity:0 !important; margin:0 !important; pointer-events:none !important; }
/* Devoir 055 : ordre et tailles fixes des boutons de l'en-tête */
html body .site-header .main-nav > a { margin:0 !important; }
html body .site-header .header__actions { justify-content:flex-end !important; min-width:0 !important; }
html body .site-header .header__actions .language-switch { order:1 !important; width:auto !important; min-width:0 !important; max-width:none !important; flex:0 0 auto !important; padding:0 !important; }
html body .site-header .header__actions .currency-switch { order:2 !important; }
html body .site-header .header__actions .cart-trigger { order:3 !important; }
html body .site-header .header__actions .client-login { order:4 !important; left:auto !important; right:auto !important; top:auto !important; }
html body .site-header .header__actions .menu-toggle { order:5 !important; }
html body .site-header .menu-toggle { width:44px; height:44px; border-radius:999px !important; border:1px solid #e7dccb !important; background:#fff !important; flex-direction:column !important; align-items:center !important; justify-content:center !important; gap:4px !important; padding:0 !important; }
html body .site-header .menu-toggle span { display:block !important; position:static !important; width:18px !important; height:2px !important; margin:0 !important; background:#1a140d !important; border-radius:2px !important; transform:none !important; }
html body .site-header .main-nav > a { width:auto !important; min-width:0 !important; max-width:none !important; flex:0 0 auto !important; display:inline-flex !important; }
@media (max-width:1439px){ html body .site-header .main-nav > a[data-i18n="navHealth"], html body .site-header .main-nav > a[data-i18n="navSport"], html body .site-header .main-nav > a[data-i18n="sellerSpace"] { display:none !important; } }
html[lang] body .site-header .main-nav > a[data-i18n] { flex:0 0 auto !important; flex-basis:auto !important; width:auto !important; min-width:0 !important; }
@media (min-width:1440px) and (max-width:1719px){ html[lang] body .site-header .main-nav > a[data-i18n="navHealth"], html[lang] body .site-header .main-nav > a[data-i18n="navSport"], html[lang] body .site-header .main-nav > a[data-i18n="sellerSpace"] { display:none !important; } html body .site-header .menu-toggle { display:inline-flex !important; } }
html body .site-header .header__inner { max-width:1760px !important; }
html[lang] body .site-header .main-nav > a[data-i18n] { max-width:none !important; }
@media (max-width:1099px) { html[lang] body .site-header .main-nav, html[lang] body .site-header nav.main-nav { display:none !important; } }
html body .site-header .header__actions .currency-switch { width:auto !important; min-width:0 !important; max-width:170px !important; flex:0 0 auto !important; }
html body .site-header .header__actions .currency-switch select { width:auto !important; min-width:0 !important; }
@media (max-width:899px) {
  html body .site-header .header__actions .currency-switch { display:none !important; }
  html body .site-header .cart-trigger [data-i18n="cart"] { display:none !important; }
  html body .site-header .cart-trigger { padding:0 10px !important; min-width:0 !important; }
}
html body .site-header .cart-trigger svg { flex:0 0 20px !important; width:20px !important; height:20px !important; display:block !important; }
/* Devoir 055 : hauteur réelle du nouvel en-tête (la fiche produit s'ouvre juste en dessous) */
@media (max-width:760px) { :root { --header-height:63px !important; } }
/* la fiche produit couvre tout l’écran (l’en-tête ne reste pas collé en haut) */
html body .mira-v4-overlay { top:0 !important; z-index:12050 !important; }
/* Devoir 133 : devise dans le menu ☰ (seulement quand elle est cachée dans l'en-tête) */
html body .site-header .mobile-nav .mobile-currency { display:none !important; }
@media (max-width:899px) {
  html body .site-header .mobile-nav .mobile-currency { display:flex !important; align-items:center !important; justify-content:space-between !important; gap:12px !important; padding:12px 4px !important; font-weight:700 !important; color:#0f0c09 !important; }
  html body .site-header .mobile-nav .mobile-currency select { min-height:40px !important; padding:0 12px !important; border:1px solid #e7dccb !important; border-radius:999px !important; background:#fff !important; font-weight:700 !important; }
}
/* Devoir 134 : textes des cartes assez grands pour être lus */
html body .product-card .product-badge, html body .product-card .trait { font-size:12px !important; }
html body .product-card .product-price small, html body .product-card [class*="price"] small { font-size:12px !important; }
html body .hero-credit, html body .hero-photo-credit { font-size:12px !important; }
/* Devoir 132 : bouton Partager dans la fiche produit */
html body .mira-v4-product-topbar { display:flex !important; align-items:center !important; gap:10px !important; }
html body .mira-v4-product-topbar .mira-v4-close { margin-left:0 !important; }
html body .mira-v4-share { margin-left:auto !important; display:inline-flex !important; align-items:center !important; gap:6px !important; min-height:40px !important; padding:0 16px !important; border:1px solid #e7dccb !important; border-radius:999px !important; background:#fff !important; color:#24180e !important; font-weight:700 !important; cursor:pointer !important; }
html body .photo-credit, html body .photo-credit a { font-size:12px !important; }
html body .mira-v4-share { font-size:14px !important; }

/* Livraison Kosovo uniquement (réponse OSAV 28.09.2026) */
.mira-v4-ks-only{margin:10px 0 4px;padding:10px 12px;border-radius:12px;background:#fff4dc;border:1px solid #f0c46a;color:#5a3a06;font-size:13px;line-height:1.45;font-weight:600}
