/* Herbier V3 — pages de contenu. Les composants de sélection restent hors de ce scope. */
.herbier-page main .post-image { max-width: min(420px, 100%); height: auto; border-radius: 0; }
.herbier-page main .post-image--small { max-width: min(320px, 100%); }
.herbier-page main .product-card :is(h2,h3,a) { overflow-wrap: anywhere; hyphens: auto; }
.herbier-page main .guide-map text.sea-label { font-family: var(--serif); }
/* The old catalogue's ID rules otherwise restore thumbnail rows on phones. */
.herbier-page main#main #catalog-products { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 55px 32px; }
.herbier-page main#main #catalog-products .product-card { display: block; min-width: 0; padding-bottom: 0; border: 0; }
.herbier-page main#main #catalog-products .product-media { width: 100%; aspect-ratio: 1/1.03; max-height: none; }
.herbier-page main#main #catalog-products .product-body { display: block; padding-top: 20px; }
.herbier-page main#main #catalog-products .product-body h2 { font: 400 32px/1.1 var(--serif); }
.herbier-page main#main #catalog-products .price { font: 400 14px/1.5 var(--sans); margin: 10px 0 6px; }
.herbier-page main#main #catalog-products .product-format { font-size: 13px; line-height: 1.6; color: var(--muted); }
.herbier-page main#main #catalog-products .vanilla-pack-note { margin-top: 6px; font-size: 12px; line-height: 1.5; color: var(--ink); }
.herbier-page main#main .shop-price-list dt .vanilla-pack-note { display: block; margin-top: 3px; font-size: 12px; line-height: 1.5; color: var(--muted); }
.herbier-page main#main .shop-payment-note { margin: 18px 0 0; font-size: 13px; line-height: 1.55; color: var(--ink); }
.herbier-page main#main #catalog-products .card-detail-link { display: inline-block; margin-top: 12px; font-size: 12px; }
.herbier-page main#main #catalog-products .herbier-card-select { margin-top: 15px; font-size: 12px; }
@media(max-width:1000px) { .herbier-page main#main #catalog-products { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 42px 24px; } }
@media(max-width:680px) {
 .herbier-page main#main #catalog-products { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 30px 14px; }
 .herbier-page main#main #catalog-products .product-body { padding-top: 12px; }
 .herbier-page main#main #catalog-products .product-body h2 { font-size: 22px; line-height: 1.12; }
 .herbier-page main#main #catalog-products .product-body h2, .herbier-page main#main #catalog-products .product-body h2 a { hyphens: none; }
 .herbier-page main#main #catalog-products .price { font-size: 15px; line-height: 1.4; margin: 8px 0 5px; }
 .herbier-page main#main #catalog-products .product-format { font-size: 12px; line-height: 1.5; }
 .herbier-page main#main #catalog-products .card-detail-link { margin-top: 8px; }
 .herbier-page main#main #catalog-products .herbier-card-select { min-height: 44px; margin-top: 8px; }
}
body.herbier-page:not(.herbier-home) {
  --cream: #f5f0e6;
  --paper: #f5f0e6;
  --paper-deep: #ebe5d8;
  --paper-light: #faf7f0;
  --ink: #204331;
  --dark: #4c543c;
  --light: #faf7f0;
  --muted: #455b46;
  --line: #d2cebd;
  --green: #4c543c;
  --coral: #4c543c;
  --accent: #31533a;
  --font-display: Cormorant, Georgia, serif;
  --font-body: Jost, Arial, sans-serif;
  --information-leaf: #4c543c;
  --information-rule: #d2cebd;
  --guide-accent: #4c543c;
  --guide-rule: #d2cebd;
  --guide-paper: #ebe5d8;
  --guide-space: clamp(58px, 7vw, 100px);
  --container: min(1380px, calc(100% - var(--gutter, 4.3vw) * 2));
  padding-top: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--font-body);
}
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) {
  min-width: 0;
  padding-bottom: 64px;
  color: var(--ink);
  font: 400 16px/1.75 var(--font-body);
}
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) :where(h1,h2,h3,h4) {
  font-family: var(--font-display);
  font-weight: 400;
  color: var(--ink);
  text-wrap: balance;
  letter-spacing: -.025em;
}
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) h1 {
  font-size: clamp(48px, 6vw, 88px);
  line-height: 1.03;
  max-width: 16ch;
}
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) h2 {
  font-size: clamp(34px, 3.6vw, 54px);
  line-height: 1.12;
}
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) h3 {
  font-size: clamp(25px, 2.5vw, 34px);
  line-height: 1.2;
}
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) p { margin: 0 0 1.25em; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) p:last-child { margin-bottom: 0; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) :where(a,button,input,select,textarea,summary):focus-visible {
  outline: 2px solid var(--olive, #4c543c);
  outline-offset: 5px;
}
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) :where(button,input,select,textarea) { font-family: var(--font-body); }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) :where(input,select,textarea) {
  color: var(--ink);
  accent-color: var(--olive, #4c543c);
  border-color: var(--line);
  border-radius: 0;
  background-color: var(--paper-light);
}
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) :where(.section,.information-section,.customs-section) {
  padding-block: clamp(48px, 6.4vw, 96px);
}
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) :where(.section--paper,.guide-callout,.customs-context,.recipe-notes) {
  background: var(--paper-deep);
  color: var(--ink);
}
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .page-heading {
  padding-top: clamp(45px, 6vw, 85px);
  padding-bottom: 30px;
}
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .page-heading > p {
  max-width: 58ch;
  margin-top: 26px;
  font-size: clamp(16px, 1.5vw, 19px);
  color: var(--muted);
  line-height: 1.7;
}
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .page-heading > p.catalog-availability {
  margin-top: 12px;
  font-size: 14px;
  line-height: 1.6;
  color: var(--ink);
}
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) :where(.breadcrumb,.recipe-breadcrumb,.guide-breadcrumb) {
  padding-block: 26px;
  margin-bottom: 12px;
  font-size: 12px;
  line-height: 1.6;
  color: var(--muted);
}
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) :where(.eyebrow,.boutique-eyebrow,.guide-kicker,.information-kicker,.customs-kicker,.recipe-origin) {
  color: var(--olive, #4c543c);
  font: 500 11px/1.6 var(--font-body);
  letter-spacing: .13em;
  text-transform: uppercase;
}
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .button {
  min-height: 52px;
  padding: 14px 24px;
  border: 1px solid var(--olive, #4c543c);
  border-radius: 0;
  background: var(--olive, #4c543c);
  color: var(--paper-light);
  font: 400 14px/1.45 var(--font-body);
  letter-spacing: 0;
  gap: 22px;
}
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .button:hover { background: #363f2c; border-color: #363f2c; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) :where(.button--light,.button--ghost) { background: transparent; color: var(--ink); }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) :where(.button--light,.button--ghost):hover { background: var(--paper-deep); }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) :where(.text-link,.link-arrow,.card-detail-link,.product-delivery-link) {
  font: 400 13px/1.6 var(--font-body);
  color: var(--ink);
  text-underline-offset: 5px;
}

/* Catalogue et fiches : photographie sur papier, prix lisibles, contenus intégraux. */
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .section--catalog { padding-top: 32px; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .filters { gap: 32px; padding-bottom: 14px; margin-bottom: 12px; border-color: var(--line); }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .filter-button { padding-block: 12px; font-size: 13px; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .filter-button.is-active { border-bottom-color: var(--olive, #4c543c); color: var(--ink); }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .filter-results-status { font-size: 12px; margin-bottom: 30px; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .products-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 52px 30px; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .product-card { min-width: 0; background: transparent; border: 0; border-radius: 0; box-shadow: none; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) :where(.product-media,.product-card__media) {
  position: relative;
  display: block;
  aspect-ratio: 1 / 1.08;
  background: var(--paper-deep);
  border: 0;
}
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) :where(.product-media,.product-card__media) img {
  object-fit: contain;
  width: 100%;
  height: 100%;
  transition: transform .4s ease;
  mix-blend-mode: multiply;
}
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .product-media:hover img { transform: scale(1.035); }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) :where(.product-body,.product-card__body) {
  padding-top: 22px;
  text-align: left;
}
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) :where(.product-body h2,.product-card__body h3) { font-size: 30px; line-height: 1.15; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) :where(.product-body .price,.product-card__body .price) {
  color: var(--olive, #4c543c);
  margin-top: 12px;
  font: 400 14px/1.6 var(--font-body);
  font-variant-numeric: tabular-nums;
}
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .product-format { font-size: 12px; margin-top: 7px; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .product-detail {
  display: grid;
  grid-template-columns: minmax(0,1.05fr) minmax(0,1fr);
  align-items: start;
  gap: clamp(32px, 6vw, 90px);
  padding-top: 18px;
  padding-bottom: 65px;
}
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .product-detail-media { background: var(--paper-deep); top: 28px; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .product-detail-media--gallery { background: transparent; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .product-photo-main { background: var(--paper-deep); }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .product-detail-media img { object-fit: contain; mix-blend-mode: multiply; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .product-detail-copy { padding-top: 14px; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .product-detail h1 { font-size: clamp(45px, 4.8vw, 70px); max-width: 13ch; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .product-intro { font-size: 17px; line-height: 1.75; color: var(--muted); margin-block: 26px 30px; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .shop-price-list { border-top: 1px solid var(--line); margin-bottom: 34px; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .shop-price-list > div { border-bottom: 1px solid var(--line); padding-block: 13px; gap: 18px; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .shop-price-list dt { font-size: 14px; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .shop-price-list dd { font: 400 19px/1.5 var(--font-body); }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) :where(.product-story h2,.product-visit h2,.current-vanilla-lot h2) { font-size: 30px; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) :where(.product-story p,.product-visit > p,.product-for) { font-size: 15px; line-height: 1.75; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .product-details details { border-block-end: 1px solid var(--line); padding: 18px 0; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .product-details summary { font-size: 14px; }

/* Product pages added locally: readable disclosures and a format gallery. */
body.herbier-page main#main .product-detail--new-product .product-visit h2 { font-size: 30px; line-height: 1.2; }
body.herbier-page main#main .product-detail--new-product .product-progressive-details { border-top: 1px solid var(--line); }
body.herbier-page main#main .product-detail--new-product .product-disclosure { border-bottom: 1px solid var(--line); }
body.herbier-page main#main .product-detail--new-product .product-disclosure summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 17px 0; cursor: pointer; list-style: none; font: 400 19px/1.3 var(--font-display); }
body.herbier-page main#main .product-detail--new-product .product-disclosure summary::-webkit-details-marker { display: none; }
body.herbier-page main#main .product-detail--new-product .product-disclosure summary::after { content: '+'; font: 400 21px/1 var(--font-body); }
body.herbier-page main#main .product-detail--new-product .product-disclosure[open] summary::after { content: '−'; }
body.herbier-page main#main .product-detail--new-product .product-disclosure-content { padding: 0 0 18px; color: var(--muted); font-size: 15px; line-height: 1.65; }
body.herbier-page main#main .product-detail--new-product .product-image-note { margin: 16px 0; color: var(--muted); font-size: 13px; }
body.herbier-page main#main .product-detail--new-product .product-detail-media--new-gallery { aspect-ratio: auto; background: transparent; }
body.herbier-page main#main .product-detail--new-product [data-gallery-main] { display: block; width: 100%; height: auto; aspect-ratio: 1; }
body.herbier-page main#main .product-detail--new-product .new-product-thumbnails:not([hidden]) { display: flex; justify-content: center; gap: 12px; margin-top: 14px; }
body.herbier-page main#main .product-detail--new-product .new-product-thumbnails button { display: grid; justify-items: center; gap: 4px; padding: 5px; border: 0; border-bottom: 2px solid transparent; background: transparent; color: var(--ink); font-size: 12px; cursor: pointer; }
body.herbier-page main#main .product-detail--new-product .new-product-thumbnails button[aria-pressed="true"] { border-bottom-color: var(--ink); }
body.herbier-page main#main .product-detail--new-product .new-product-thumbnails img { display: block; width: 64px; height: 64px; object-fit: cover; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .current-vanilla-lot { color: var(--ink); border-color: var(--line); background: transparent; border-radius: 0; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .current-vanilla-lot__metrics { border-color: var(--line); }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .current-vanilla-lot__metrics dd { font-family: var(--font-display); }

/* Keep the laboratory evidence visible without opening a product accordion. */
body.herbier-page .product-detail--vanilla .herbier-product-actions { display:flex; align-items:center; flex-wrap:wrap; gap:16px 24px; }
body.herbier-page .product-lab-link { font-size:13px; text-decoration:underline; text-underline-offset:5px; }
body.herbier-page .product-lab-link span { margin-left:7px; }
body.herbier-page .product-lab-evidence { margin-block:36px; padding-block:28px; border-block:1px solid var(--line); scroll-margin-top:32px; }
body.herbier-page .product-lab-evidence .current-vanilla-lot { margin:0; padding:0; }
body.herbier-page .product-lab-evidence .current-vanilla-lot__report > img { width:120px; height:160px; }
body.herbier-page .product-lab-evidence .current-vanilla-lot__footnote { margin-top:22px; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .product-image-pending { background: var(--paper-deep); }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .related-section { border-top: 1px solid var(--line); }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .catalog-note { margin-top: 65px; padding-top: 30px; }

/* Pages éditoriales et histoire. */
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) :where(.prose,.legal-content,.journal-article) { max-width: 74ch; font-size: 16px; line-height: 1.85; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) :where(.prose,.legal-content,.journal-article) h2 { font-size: 36px; margin: 1.55em 0 .6em; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) :where(.prose,.legal-content,.journal-article) h3 { font-size: 29px; margin: 1.3em 0 .5em; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) :where(.prose,.legal-content,.journal-article) a { text-decoration-color: var(--line); text-underline-offset: 5px; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .story-panel { grid-template-columns: minmax(0,1.05fr) minmax(0,1fr); gap: 7vw; align-items: center; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .story-visual { height: auto; aspect-ratio: 4/5; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .story-copy h1 { font-size: clamp(52px, 5.5vw, 82px); }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .story-copy p { font-size: 17px; line-height: 1.8; margin-block: 25px; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .image-caption { color: var(--muted); font-size: 12px; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .visit-band { padding-block: 80px; background: var(--paper-deep); color: var(--ink); border-block: 1px solid var(--line); }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .visit-band h2 { font-size: clamp(42px, 5vw, 72px); }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .visit-band p { font-size: 16px; margin-top: 24px; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .article-grid { gap: 55px 32px; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .article-card { background: transparent; border: 0; box-shadow: none; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .article-card h2 { font-size: 32px; margin-top: 22px; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .article-card p { color: var(--muted); font-size: 14px; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .journal-series { border-color: var(--line); background: var(--paper-deep); }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .information-hero { padding-block: 40px 65px; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .information-hero h1 { max-width: 15ch; font-size: clamp(50px, 5.8vw, 84px); }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .information-intro { font-size: 17px; line-height: 1.8; color: var(--muted); }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) :where(.information-section,.information-link,.information-jumps,.information-journal) { border-color: var(--line); }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .information-link { background: transparent; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .information-link h3 { font-size: 32px; color: var(--ink); }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .information-link-meta { font-family: var(--font-body); color: var(--muted); font-size: 11px; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .information-link-description { font-size: 15px; color: var(--muted); }

/* Boutique : détails pratiques et itinéraires photographiés conservés. */
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .store-hero { grid-template-columns: minmax(0,1fr) minmax(0,1.08fr); gap: 6vw; padding-block: 50px; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .store-hero h1 { font-size: clamp(48px, 5.4vw, 80px); }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .store-hero-copy > p { font-size: 17px; color: var(--muted); }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .store-hero-visual { background: var(--paper-deep); }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .store-location-layout { gap: 6vw; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .shop-hours { border-color: var(--line); margin-top: 26px; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .shop-hours h3 { font: 400 28px/1.2 var(--font-display); }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) :where(.shop-hours dt,.shop-hours dd) { font-size: 13px; line-height: 1.7; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) :where(.map-card,.map-frame,.store-visit-grid,.hotel-route-heading,.hotel-route-note) { border-color: var(--line); background-color: transparent; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .hotel-picker { max-width: 650px; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .hotel-proximity-intro { margin: 0 0 24px; font-size: 16px; line-height: 1.6; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .hotel-directions [data-hotel-panel] > h3 { margin-bottom: 7px; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .hotel-proximity-distance { margin: 0 0 22px; font-size: 15px; line-height: 1.6; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .hotel-proximity-distance strong { font-weight: 600; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) :where(.hotel-picker select,.customs-picker select) { padding: 14px 18px; min-height: 52px; border: 1px solid var(--line); border-radius: 0; background: var(--paper-light); font-size: 15px; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .hotel-route-switch { flex-wrap: wrap; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .hotel-route-switch button { border-color: var(--line); border-radius: 0; font: 400 13px/1.5 var(--font-body); }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .hotel-route-switch button[aria-pressed="true"] { color: var(--paper-light); background: var(--olive, #4c543c); }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) :where(.route-photo-zoom,.route-step-number) { color: var(--ink); background: var(--paper-light); }

/* Recettes : les outils sont plus discrets, les instructions gardent toute leur place. */
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .recipe-hero { background: transparent; color: var(--ink); padding-block: 55px 60px; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .recipe-hero h1 { max-width: 12ch; font-size: clamp(54px, 6.2vw, 90px); }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .recipe-hero-copy > p { max-width: 48ch; color: var(--muted); font-size: 17px; line-height: 1.75; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .recipe-cuisines { border-color: var(--line); color: var(--ink); background: transparent; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .recipe-cuisines a { border-radius: 0; border-color: var(--line); }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .recipe-filters { padding: 25px 0; border-block: 1px solid var(--line); background: transparent; border-radius: 0; gap: 18px; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .recipe-filters :where(input,select) { min-height: 48px; border: 1px solid var(--line); font-size: 14px; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .recipe-library-heading h2 { font-size: 48px; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .recipe-grid { gap: 45px 28px; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .recipe-card { border: 0; background: transparent; box-shadow: none; border-radius: 0; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .recipe-card h3 { font-size: 31px; margin-block: 14px 10px; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .recipe-card img { border-radius: 0; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) :where(.recipe-card-meta,.recipe-card-foot) { font: 400 12px/1.6 var(--font-body); color: var(--muted); }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .recipe-detail-hero { gap: 5vw; padding-block: 20px 60px; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .recipe-detail-intro h1 { font-size: clamp(47px, 5.2vw, 76px); }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .recipe-description { color: var(--muted); font-size: 17px; line-height: 1.8; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .recipe-times { border-block: 1px solid var(--line); padding-block: 20px; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .recipe-times dt { font-size: 12px; color: var(--muted); }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .recipe-times dd { font-family: var(--font-display); font-size: 28px; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .recipe-method { gap: 6vw; padding-top: 35px; border-top: 1px solid var(--line); }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .recipe-ingredients { background: var(--paper-deep); padding: clamp(24px, 3vw, 42px); border-radius: 0; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .recipe-ingredients h2 { font-size: 37px; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .recipe-ingredient { font-size: 15px; border-color: var(--line); }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .recipe-steps h2 { margin-bottom: 25px; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .recipe-step-number { font-family: var(--font-display); font-size: 30px; color: var(--olive, #4c543c); border-color: var(--line); background: transparent; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) :where(.recipe-tip,.recipe-adaptation,.recipe-shopping) { background: var(--paper-deep); border-color: var(--line); color: var(--ink); border-radius: 0; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .recipe-flow-scroll { max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .recipe-flow-table { color: var(--ink); border-color: var(--line); font-family: var(--font-body); }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .recipe-flow-table :where(th,td) { border-color: var(--line); }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .recipe-flow-table th { background: var(--paper-deep); color: var(--ink); }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .recipe-flow-cell.is-operation { background: #e2e7d8; color: var(--ink); }

/* Guides longs et douane : conservation des cartes, calculs et sources. */
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .guide-hero--immersive {
  isolation: auto;
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  align-items: center;
  gap: 5vw;
  min-height: 0;
  margin: 20px 0 60px;
  padding: 35px 0;
  overflow: visible;
  color: var(--ink);
  background: transparent;
}
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .guide-hero--immersive::after { content: none; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .guide-hero--immersive > figure { position: relative; inset: auto; z-index: auto; display: block; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .guide-hero--immersive > figure img { aspect-ratio: 4/5; height: auto; max-height: none; object-fit: cover; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .guide-hero--immersive .guide-hero-copy { width: 100%; max-width: none; padding: 0; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .guide-hero--immersive :where(.guide-intro,.guide-publication,.guide-kicker,.guide-hero-link) { color: var(--muted); border-color: var(--line); }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .guide-hero--immersive h1 { font-size: clamp(48px, 5.4vw, 80px); color: var(--ink); }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .guide-hero--immersive figcaption { display: block; position: static; color: var(--muted); background: transparent; padding: 10px 0 0; font: 400 11px/1.6 var(--font-body); }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) :where(.guide-section,.guide-menu,.guide-quality-invitation,.guide-quality,.guide-callout,.guide-reading-room,.customs-country,.customs-metric,.customs-details,.customs-airline,.customs-method) { border-color: var(--line); }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) :where(.guide-menu,.guide-grader,.guide-grade-result,.guide-dry-basis,.guide-vanillin-calculator,.customs-summary,.customs-value-note,.customs-action) { background: var(--paper-deep); color: var(--ink); border-color: var(--line); border-radius: 0; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .guide-menu { padding: 16px 24px; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) :where(.guide-content p,.guide-content li) { font-size: 16px; line-height: 1.85; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .guide-story-lead { font: 400 29px/1.45 var(--font-display); }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .guide-section-heading h2 { font-size: clamp(38px, 4.2vw, 60px); }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) :where(.guide-calculate-button,.customs-source-button) { background: var(--olive, #4c543c); color: var(--paper-light); border-radius: 0; border-color: var(--olive, #4c543c); }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) :where(.guide-table-wrap,.customs-rules) { max-width: 100%; overflow-x: auto; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) :where(.guide-table th,.guide-table td) { border-color: var(--line); }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .guide-table th { background: var(--paper-deep); color: var(--ink); }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) :where(.guide-grade-choice,.guide-analysis-result,.guide-grade-metrics) { color: var(--ink); border-color: var(--line); }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) :where(.customs-country,.customs-airline) { background: transparent; border-radius: 0; box-shadow: none; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .customs-metric { background: transparent; color: var(--ink); }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .customs-metric strong { color: var(--olive, #4c543c); }

/* Contact et mentions. */
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .contact-grid { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 8vw; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .contact-copy { max-width: 48ch; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .contact-details { font: 400 18px/1.8 var(--font-display); }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .contact-address { margin-top: 28px; font-size: 14px; font-style: normal; color: var(--muted); }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .contact-form { background: var(--paper-deep); padding: clamp(24px, 3vw, 44px); border: 0; border-radius: 0; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .contact-form :where(input,textarea) { background: var(--paper-light); border: 1px solid var(--line); padding: 12px 14px; min-height: 46px; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .contact-form label { font-size: 12px; letter-spacing: .02em; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .contact-form-privacy { color: var(--muted); line-height: 1.7; }
:is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .legal-content { margin-inline: auto; }

@media (max-width: 1000px) {
  :is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .products-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 42px 24px; }
  :is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .product-detail { gap: 35px; }
  :is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .product-detail h1 { font-size: 49px; }
  :is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .guide-hero--immersive h1 { font-size: 56px; }
  :is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .article-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 680px) {
  :is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) { font-size: 15px; padding-bottom: 40px; }
  :is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) h1 { font-size: clamp(43px, 11.8vw, 62px); }
  :is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) h2 { font-size: 36px; }
  :is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .page-heading { padding-top: 37px; padding-bottom: 20px; }
  :is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .page-heading > p { font-size: 15px; margin-top: 22px; }
  :is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) :where(.breadcrumb,.recipe-breadcrumb,.guide-breadcrumb) { padding-block: 20px; gap: 9px; font-size: 11px; }
  :is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .filters { gap: 15px 23px; }
  :is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .filter-button { font-size: 12px; }
  :is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .products-grid { grid-template-columns: minmax(0,1fr); gap: 36px; }
  :is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .product-media { aspect-ratio: 1/1.03; }
  :is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .product-body { padding-top: 19px; }
  :is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .product-detail { grid-template-columns: minmax(0,1fr); gap: 27px; padding-top: 0; padding-bottom: 42px; }
  :is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .product-detail-media { position: static; }
  :is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .product-detail-copy { padding-top: 0; }
  :is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .product-detail h1 { font-size: 48px; max-width: 14ch; }
  :is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .product-intro { font-size: 16px; margin-block: 23px; }
  :is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .shop-price-list dd { font-size: 17px; }
  :is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .story-panel { grid-template-columns: minmax(0,1fr); gap: 30px; }
  :is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .story-visual { aspect-ratio: 5/4; }
  :is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .story-copy h1 { font-size: 54px; }
  :is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .story-copy p { font-size: 16px; }
  :is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .visit-band { padding-block: 48px; }
  :is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .visit-band > .container { align-items: flex-start; flex-direction: column; gap: 28px; }
  :is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .article-grid { grid-template-columns: minmax(0,1fr); gap: 36px; }
  :is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .information-hero { padding-block: 25px 42px; }
  :is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .information-hero h1 { font-size: 50px; }
  :is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .information-link h3 { font-size: 29px; }
  :is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .store-hero { display: flex; flex-direction: column; gap: 28px; padding-block: 35px 25px; }
  :is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .store-hero h1 { font-size: 50px; }
  :is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .store-hero-copy > p { font-size: 15px; }
  :is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .recipe-hero { padding-block: 33px 40px; }
  :is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .recipe-hero h1 { font-size: 55px; }
  :is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .recipe-hero-copy > p { font-size: 15px; }
  :is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .recipe-filters { padding-block: 20px; }
  :is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .recipe-grid { gap: 34px; }
  :is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .recipe-card h3 { font-size: 30px; }
  :is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .recipe-detail-hero { padding-block: 6px 35px; gap: 27px; }
  :is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .recipe-detail-intro h1 { font-size: 48px; }
  :is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .recipe-description { font-size: 15px; }
  :is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .recipe-method { padding-top: 30px; gap: 40px; }
  :is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .recipe-ingredients { padding: 24px; }
  :is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .guide-hero--immersive { grid-template-columns: minmax(0,1fr); margin-block: 5px 35px; padding-block: 20px; gap: 28px; }
  :is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .guide-hero--immersive h1 { font-size: 53px; }
  :is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .guide-hero--immersive > figure img { aspect-ratio: 5/4; }
  :is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .guide-menu { padding: 12px 18px; }
  :is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .guide-content :where(p,li) { font-size: 15px; line-height: 1.8; }
  :is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .guide-section-heading h2 { font-size: 40px; }
  :is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .contact-grid { grid-template-columns: minmax(0,1fr); gap: 40px; }
  :is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .contact-form { padding: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  :is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) *,
  :is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) *::before,
  :is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) *::after { animation: none !important; transition: none !important; scroll-behavior: auto; }
}
@media print {
  :is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) { color: #222; background: white; font-size: 11pt; }
  :is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .recipe-method { display: block; }
  :is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .recipe-ingredients { background: transparent; padding: 0; }
  :is(body.herbier-page:not(.herbier-home) main#main, body.herbier-page .legacy-content) .recipe-flow-scroll { overflow: visible; }
}

/* Keep the report header outside the scrollable photograph at every viewport. */
body.herbier-page dialog#vanilla-report.vanilla-report[open] { display:flex; flex-direction:column; width:min(900px,calc(100vw - 40px)); height:min(960px,calc(100dvh - 40px)); max-height:calc(100dvh - 40px); overflow:hidden; }
body.herbier-page dialog#vanilla-report.vanilla-report .vanilla-report__head { flex:0 0 auto; position:sticky; top:0; z-index:2; background:var(--paper); padding:18px 20px; }
body.herbier-page dialog#vanilla-report.vanilla-report .vanilla-report__head h2 { margin:0; font:400 30px/1.1 var(--serif); }
body.herbier-page dialog#vanilla-report.vanilla-report .vanilla-report__head p { margin:7px 0 0; font:400 12px/1.4 var(--sans); }
body.herbier-page dialog#vanilla-report.vanilla-report .vanilla-report__body { flex:1 1 auto; min-height:0; max-height:none; overflow:auto; }
@media(max-width:680px) {
 body.herbier-page dialog#vanilla-report.vanilla-report[open] { width:calc(100vw - 20px); height:calc(100dvh - 20px); max-height:calc(100dvh - 20px); }
 body.herbier-page dialog#vanilla-report.vanilla-report .vanilla-report__head { padding:12px; }
 body.herbier-page dialog#vanilla-report.vanilla-report .vanilla-report__head h2 { font-size:27px; }
}

body.herbier-page dialog#vanilla-report.vanilla-report .vanilla-report__body { display:flex; justify-content:center; background:var(--paper-deep); }
body.herbier-page dialog#vanilla-report.vanilla-report .vanilla-report__body img { display:block; width:100%; height:100%; max-height:100%; object-fit:contain; object-position:center top; }
/* Put the practical details before the map on a small screen. */
body.herbier-page main#main.current-shop-page .store-hero { display:block; padding-block:26px 28px; }
body.herbier-page main#main.current-shop-page .store-hero h1 { max-width:none; margin:0; font-size:clamp(48px,4.7vw,70px); line-height:1.02; }
body.herbier-page main#main.current-shop-page .store-practical { padding:0 0 36px; }
body.herbier-page main#main.current-shop-page .store-practical-grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); grid-template-areas:"address map" "hours map" "appointment map"; align-items:start; gap:22px 5vw; }
body.herbier-page main#main.current-shop-page .store-opening-hours { grid-area:hours; min-width:0; max-width:none; margin:0; padding:0; border:0; }
body.herbier-page main#main.current-shop-page .store-opening-hours h2 { margin:0 0 14px; font:400 36px/1.15 var(--serif); letter-spacing:0; text-transform:none; }
body.herbier-page main#main.current-shop-page .store-opening-hours dl { display:block; margin:0; font-family:var(--sans); }
body.herbier-page main#main.current-shop-page .store-opening-hours dl>div { display:block; padding:13px 0; border-bottom:1px solid var(--line); }
body.herbier-page main#main.current-shop-page .store-opening-hours dt { margin:0 0 5px; font:400 15px/1.5 var(--sans); color:var(--muted); }
body.herbier-page main#main.current-shop-page .store-opening-hours dd { margin:0; font:400 27px/1.3 var(--sans); color:var(--ink); }
body.herbier-page main#main.current-shop-page .shop-hours-interval { white-space:nowrap; }
body.herbier-page main#main.current-shop-page .store-visit-appointment { grid-area:appointment; margin:0; padding:0; min-width:0; }
body.herbier-page main#main.current-shop-page .store-visit-appointment h3 { margin:0 0 9px; font:400 28px/1.2 var(--serif); }
body.herbier-page main#main.current-shop-page .store-visit-appointment p { margin:0 0 8px; font:400 14px/1.6 var(--sans); color:var(--muted); }
body.herbier-page main#main.current-shop-page .store-visit-contact a { font-size:14px; }
body.herbier-page main#main.current-shop-page .store-map-column { grid-area:map; min-width:0; }
body.herbier-page main#main.current-shop-page .map-card { height:350px; overflow:hidden; border:1px solid var(--line); background:var(--paper-deep); }
body.herbier-page main#main.current-shop-page .map-frame { display:block; width:100%; height:100%; border:0; }
body.herbier-page main#main.current-shop-page .store-map-address { grid-area:address; min-width:0; }
body.herbier-page main#main.current-shop-page .store-map-address p { margin:0; font:400 14px/1.65 var(--sans); color:var(--muted); }
body.herbier-page main#main.current-shop-page .store-map-address .inline-actions { margin:12px 0; }
body.herbier-page main#main.current-shop-page .store-map-address .button { min-height:44px; padding:10px 18px; font-size:13px; }
body.herbier-page main#main.current-shop-page .store-today-hours { margin-top:10px; }
body.herbier-page main#main.current-shop-page .store-today-hours .hero-hours-row { justify-content:flex-start; gap:4px 16px; }
body.herbier-page main#main.current-shop-page .store-today-hours .hero-hours { display:inline-flex; flex-wrap:wrap; align-items:baseline; gap:0 10px; font:400 14px/1.6 var(--sans); color:var(--muted); }
body.herbier-page main#main.current-shop-page .store-today-hours .hero-hours:hover { text-decoration:underline; text-underline-offset:4px; }
body.herbier-page main#main.current-shop-page .store-hotel-shortcut { margin-block:0 36px; padding-block:20px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
body.herbier-page main#main.current-shop-page .store-details { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); align-items:start; gap:5vw; padding-block:0 42px; }
body.herbier-page main#main.current-shop-page .store-details-copy { display:grid; gap:25px; }
body.herbier-page main#main.current-shop-page .store-description p { margin:0; font:400 18px/1.7 var(--sans); }
body.herbier-page main#main.current-shop-page .store-directions h2 { margin:0 0 12px; font:400 36px/1.1 var(--serif); }
body.herbier-page main#main.current-shop-page .store-details-copy :is(.store-directions,.store-visit-creation) p { font-size:15px; color:var(--muted); }
/* Both original views of the current shop remain together below the practical details. */
body.herbier-page main#main.current-shop-page .store-hero-media { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; min-width:0; align-items:start; }
body.herbier-page main#main.current-shop-page .store-hero-media .store-hero-visual { margin:0; padding:0; background:none; min-width:0; }
body.herbier-page main#main.current-shop-page .store-hero-media img { display:block; width:100%; height:auto; aspect-ratio:3/4; object-fit:cover; object-position:65% center; }
body.herbier-page main#main.current-shop-page .store-hero-media .store-hero-interior img { object-position:center; }
body.herbier-page main#main.current-shop-page .store-hero-media figcaption { font:400 11px/1.6 var(--sans); color:var(--muted); }
@media(max-width:680px) {
 body.herbier-page main#main.current-shop-page .store-hero { padding-block:20px 24px; }
 body.herbier-page main#main.current-shop-page .store-hero h1 { font-size:clamp(38px,10.5vw,48px); }
 body.herbier-page main#main.current-shop-page .store-practical-grid { grid-template-columns:minmax(0,1fr); grid-template-areas:"address" "hours" "appointment" "map"; gap:26px; }
 body.herbier-page main#main.current-shop-page .store-opening-hours h2 { font-size:30px; margin-bottom:8px; }
 body.herbier-page main#main.current-shop-page .store-opening-hours dl>div { padding-block:10px; }
 body.herbier-page main#main.current-shop-page .store-opening-hours dt { font-size:13px; }
 body.herbier-page main#main.current-shop-page .store-opening-hours dd { font-size:23px; }
 body.herbier-page main#main.current-shop-page .map-card { height:280px; }
 body.herbier-page main#main.current-shop-page .store-details { grid-template-columns:minmax(0,1fr); gap:25px; }
 body.herbier-page main#main.current-shop-page .store-description p { font-size:16px; }
 body.herbier-page main#main.current-shop-page .store-hero-media { width:100%; order:-1; }
 body.herbier-page main#main.current-shop-page .store-hero-media figcaption { font-size:10px; }
}
/* Keep Brenda's face visible when the portrait workshop scene is used as a thumbnail. */
body.herbier-page main#main img[data-brenda-scene="atelier"] { object-position:50% 32%; }

/* Journal: the story opens on its own photograph, rather than a small thumbnail. */
body.herbier-page main#main[data-journal-illustrated] { padding-top:60px; }
body.herbier-page main#main .herbier-journal-article { width:100%; max-width:820px; margin-inline:auto; }
body.herbier-page main#main .herbier-journal-article h1 { font-size:clamp(44px,5.2vw,72px); max-width:20ch; margin:20px 0 22px; }
body.herbier-page main#main .herbier-journal-article .article-back { display:inline-block; margin-bottom:18px; font:400 13px/1.5 var(--sans); }
body.herbier-page main#main .herbier-journal-article .journal-photo { width:100%; max-width:none; margin:42px 0; }
body.herbier-page main#main .herbier-journal-article .journal-photo--opening { margin-top:30px; }
body.herbier-page main#main .journal-photo picture { display:block; }
body.herbier-page main#main .journal-photo img { display:block; width:100%; max-width:none; height:auto; margin:0; border-radius:0; }
body.herbier-page main#main .journal-photo figcaption { margin-top:12px; color:var(--muted); font:400 13px/1.6 var(--sans); }
body.herbier-page main#main .journal-photo--portrait img { max-height:650px; object-fit:contain; background:var(--paper-deep); }
body.herbier-page main#main .journal-photo--product img { height:490px; object-fit:contain; background:var(--paper-deep); }
body.herbier-page main#main .journal-photo--brand img { height:310px; object-fit:contain; padding:48px; background:var(--paper-deep); }
body.herbier-page main#main .journal-photo--inline img { max-height:550px; object-fit:contain; background:var(--paper-deep); }
@media(max-width:680px) {
 body.herbier-page main#main[data-journal-illustrated] { padding-top:34px; }
 body.herbier-page main#main .herbier-journal-article .journal-photo { margin:30px 0; }
 body.herbier-page main#main .journal-photo--portrait img { max-height:560px; }
 body.herbier-page main#main .journal-photo--product img { height:340px; }
 body.herbier-page main#main .journal-photo--brand img { height:220px; padding:32px; }
}
