/* Shared finish for the current site. Variety records retain their own colours. */
body.site-2027 { --body-ink: #171917; --section-ink: #4f5e3b; color: var(--body-ink); background: var(--ivory); }
body.site-2027 .site-header .tab, body.site-2027 .menu-2027 { color: var(--body-ink); }
body.site-2027 .brand-wordmark { color: var(--section-ink); }
body.site-2027 #accueil :is(p,figcaption),
body.site-2027 #nous :is(p,figcaption),
body.site-2027 #trouver :is(p,label,input,textarea,a),
body.site-2027 #questions :is(p,figcaption),
body.site-2027 #essences .catalogue-introduction p,
body.site-2027 #essences .section-scale figcaption { color: var(--body-ink); opacity: 1; }
body.site-2027 :is(#accueil,#nous,#trouver,#questions) :is(h1,h2,h3),
body.site-2027 #questions summary { color: var(--section-ink); }
body.site-2027 #nous .about-person figcaption span { color: var(--section-ink); }
body.site-2027 #nous .about-hero-inner { align-items: start; }
body.site-2027 #nous .about-work { margin-top: 40px; }
body.site-2027 #nous .about-work img { height: clamp(390px,37vw,490px); object-position: 52% 58%; }
/* One readable title scale and one spacing rhythm for the remaining pages. */
body.site-2027 :is(#trouver,#questions).section-pad { width: min(1160px,calc(100% - 104px)); padding: 36px 0 64px; }
body.site-2027 :is(#trouver,#questions) .section-heading { width: 100%; max-width: 850px; margin: 0 0 36px; }
body.site-2027 :is(#trouver,#questions) .section-heading h2 { margin: 10px 0 20px; max-width: 24ch; font-family: var(--display); font-size: clamp(36px,4.1vw,54px); line-height: 1.16; letter-spacing: -.018em; text-shadow: none; }
body.site-2027 :is(#trouver,#questions) .section-heading p:not(.eyebrow) { max-width: 650px; font-size: 17px; line-height: 1.75; }
body.site-2027 :is(#trouver,#questions) .eyebrow { font-size: 10px; letter-spacing: .15em; text-transform: uppercase; }
/* Contact: plain information columns, followed by the map and form. */
body.site-2027 #trouver .location-grid { grid-template-columns: repeat(6,minmax(0,1fr)); gap: 38px 32px; }
body.site-2027 #trouver .place-block { grid-column: span 2; min-height: 0; padding: 0 0 28px; background: none; border: 0; border-bottom: 1px solid #293f3c26; border-radius: 0; box-shadow: none; }
body.site-2027 #trouver h3 { margin: 0 0 16px; font-size: 26px; line-height: 1.3; letter-spacing: -.015em; }
body.site-2027 #trouver .place-block :is(p,a) { font-size: 15px; line-height: 1.75; }
body.site-2027 #trouver .map-block, body.site-2027 #trouver .contact-form { grid-column: span 3; display: block; padding: 0; background: none; border: 0; border-radius: 0; box-shadow: none; }
body.site-2027 #trouver .map-block iframe { width: 100%; height: 365px; min-height: 0; margin-top: 24px; border-radius: 2px; filter: saturate(.7); }
body.site-2027 #trouver .contact-form h3 { max-width: 29ch; font-size: 26px; }
body.site-2027 #trouver .contact-form label { margin-top: 16px; gap: 7px; font-size: 14px; }
body.site-2027 #trouver .contact-form :is(input,textarea) { min-height: 46px; border: 1px solid #78806a80; border-radius: 2px; background: #fcfbf6; padding: 11px 13px; }
body.site-2027 #trouver .contact-form :is(input,textarea):focus-visible { outline: 2px solid var(--section-ink); outline-offset: 3px; }
body.site-2027 #trouver .contact-form button { margin-top: 20px; min-height: 48px; border: 1px solid var(--section-ink); border-radius: 2px; box-shadow: none; padding: 12px 22px; cursor: pointer; }
/* Advice: open text rows instead of rounded cards and stretched empty cells. */
body.site-2027 #questions .section-intro.with-photo { margin-bottom: 30px; }
body.site-2027 #questions .faq-list { grid-template-columns: 1fr; gap: 0; align-items: start; max-width: 960px; margin: 0; }
body.site-2027 #questions .faq-list details { padding: 0; background: none; border: 0; border-top: 1px solid #293f3c30; border-radius: 0; box-shadow: none; }
body.site-2027 #questions .faq-list details:last-child { border-bottom: 1px solid #293f3c30; }
body.site-2027 #questions summary { position: relative; padding: 22px 42px 22px 0; font-size: 21px; line-height: 1.45; list-style: none; }
body.site-2027 #questions summary::-webkit-details-marker { display: none; }
body.site-2027 #questions summary::after { content: '+'; position: absolute; right: 4px; top: 20px; font-family: system-ui !important; font-size: 24px; }
body.site-2027 #questions details[open] summary::after { content: '−'; }
body.site-2027 #questions .faq-list p { max-width: 780px; padding: 0 24px 0 0; margin: 0 0 22px; font-size: 16px; line-height: 1.8; }
body.site-2027 #questions summary:focus-visible { outline: 2px solid var(--section-ink); outline-offset: 3px; }
/* Dark text on quiet button backgrounds; green remains for headings. */
body.site-2027 .garden-cta, body.site-2027 #trouver .contact-form button { color: var(--body-ink); background: #f8f6ed; border-color: var(--section-ink); text-shadow: none; }
body.site-2027 .garden-cta:hover, body.site-2027 #trouver .contact-form button:hover { background: #e7eadc; color: var(--body-ink); }
body.site-2027[data-active-panel] .site-footer, body.site-2027.catalogue-page .site-footer { background: var(--ivory); color: var(--body-ink); border-top: 1px solid #293f3c26; padding: 16px clamp(22px,5.2vw,100px); font-size: 11px; }
body.site-2027 .site-footer :is(p,a) { color: var(--body-ink); }
/* Catalogue chrome only: no rules for variety names, data, or availability. */
body.site-2027.catalogue-page .back-link { color: var(--body-ink); }
@media (max-width: 1000px) {
  body.site-2027 :is(#trouver,#questions).section-pad { width: calc(100% - 60px); }
  body.site-2027 #trouver .location-grid { gap: 30px 24px; }
  body.site-2027 #nous .about-work img { height: 480px; }
}
@media (max-width: 700px) {
  body.site-2027 :is(#trouver,#questions).section-pad { width: calc(100% - 44px); padding: 24px 0 40px; }
  body.site-2027 :is(#trouver,#questions) .section-heading h2 { font-size: 34px; }
  body.site-2027 :is(#trouver,#questions) .section-heading p:not(.eyebrow) { font-size: 15px; }
  body.site-2027 #trouver .location-grid { grid-template-columns: 1fr; gap: 26px; }
  body.site-2027 #trouver :is(.place-block,.map-block,.contact-form) { grid-column: auto; }
  body.site-2027 #trouver .map-block iframe { height: 300px; }
  body.site-2027 #questions summary { font-size: 18px; padding-block: 20px; }
  body.site-2027 #questions .faq-list p { padding-right: 0; font-size: 15px; }
  body.site-2027 #nous .about-work { margin-top: 24px; }
  body.site-2027 #nous .about-work img { height: auto; aspect-ratio: 4 / 5; }
}
