/*!
 * BonAgro — group.css · parent-company endorsement: Xingfa Group (docs/DESIGN-V2.md §7, content/group.py).
 * Loaded on every country page and the 404 after core/components/animations/pages/photos.css.
 *
 * Brand rules: the group's artwork (assets/img/brand/xingfa-*.png) keeps its own orange/blue colours; it is
 * never recoloured, stretched or cropped further and always sits on a white plate, at a smaller size than
 * the BonAgro logo (endorsed-brand hierarchy). Its blue (--c-group-blue) is used for two hairline accents
 * only (About page card and connector). No gold literals, corners ≤ 10px (circles excepted), and none of the
 * photo-background class tokens (sitegen/backgrounds.py).
 *
 * Sections: 01 topbar endorsement · 02 footer lockup · 03 home strip · 04 About "Our group" + group tree ·
 * 05 404 footer lockup
 */

:root{--c-group-blue:#214382}

/* ==========================================================================
   01. TOPBAR ENDORSEMENT — partials/header.html (.topbar__group--brand)
   Wide screens: emblem + "Une société du Groupe Xingfa" + the BonAgro tagline; below 1200px the tagline
   gives way; on phones the words around the name (.topbar__parent-pre) are hidden, so the emblem + "Groupe
   Xingfa" stay visible, and below 420px the e-mail icon gives way to them (the address stays in the menu,
   the footer and the contact page). The name is printed once: the markup reads well without CSS.
   ========================================================================== */
.topbar__group--brand{gap:clamp(.75rem,1.5vw,1.25rem)}
.topbar__parent{padding-block:.15rem}
.topbar__parent-emblem{flex:none;display:block;width:1.375rem;height:1.375rem;padding:1px;border-radius:50%;background:#fff}
.topbar__parent>span{color:rgba(245,243,239,.94)}
.topbar__parent:hover>span{color:var(--c-green-300)}
.topbar__parent:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px;border-radius:var(--radius-xs)}
.topbar__group--brand .topbar__tagline{margin:0;padding-left:clamp(.75rem,1.5vw,1.25rem);border-left:1px solid rgba(255,255,255,.16)}
@media (max-width:1199.98px){.topbar__group--brand .topbar__tagline{display:none}}
@media (max-width:767.98px){.topbar__parent-pre{display:none}}
@media (max-width:419.98px){.topbar__group--contacts a[href^="mailto:"]{display:none}}

/* ==========================================================================
   02. FOOTER LOCKUP — partials/footer.html (.site-footer__brand): BonAgro logo, then "Une société du"
   + the group logo on a white plate (smaller than the BonAgro plate) + the group's domain.
   ========================================================================== */
.footer-parent{display:inline-flex;flex-direction:column;align-items:flex-start;gap:.45rem;margin-top:-.15rem;text-decoration:none}
.footer-parent__label{font:600 var(--fs-2xs)/1.25 var(--font-body);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:rgba(245,243,239,.66)}
.site-footer__brand .footer-parent__logo{display:block;height:40px;width:auto;padding:0;border-radius:0;background:none;transition:opacity var(--dur-2) ease}
/* One white brand card: the BonAgro plate on top, "Une société du" + group logo underneath (2026-10-05 polish) */
.site-footer__brand>a:first-child{display:block;width:100%;max-width:19rem;padding:1rem 1.1rem .85rem;border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:#fff}
.site-footer__brand>a:first-child img{height:52px;padding:0;background:none}
.site-footer__brand>.footer-parent{width:100%;max-width:19rem;margin-top:-1rem;padding:.75rem 1.1rem .9rem;border-top:1px solid var(--color-border);border-radius:0 0 var(--radius-lg) var(--radius-lg);background:#fff;flex-direction:row;flex-wrap:wrap;align-items:center;column-gap:.75rem}
.site-footer__brand>.footer-parent .footer-parent__label{flex-basis:100%;color:var(--c-taupe-600)}
.site-footer__brand>.footer-parent .footer-parent__domain{color:var(--c-green-700)}
.footer-parent__domain{display:inline-flex;align-items:center;gap:.35em;font-size:var(--fs-xs);color:var(--color-link)}
.footer-parent__domain::after{content:"\2197";font-size:.95em;line-height:1}
.footer-parent:hover .footer-parent__domain{color:var(--color-link-hover);text-decoration:underline;text-underline-offset:.2em}
.footer-parent:hover .footer-parent__logo{opacity:.85}
.footer-parent:focus-visible{outline:2px solid var(--focus-ring);outline-offset:4px}

/* ==========================================================================
   03. HOME STRIP — pages/home.html, between the hero and the product ranges
   ========================================================================== */
.parent-strip{position:relative;z-index:1;background:var(--color-surface);border-bottom:1px solid var(--color-border)}
.parent-strip__inner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem clamp(1.25rem,3vw,2.5rem);padding-block:clamp(1.25rem,1rem + 1vw,1.75rem)}
.parent-strip__logo{display:block;width:auto;height:clamp(46px,38px + 1.4vw,58px)}
.parent-strip__text{padding-left:clamp(1.25rem,3vw,2.5rem);border-left:1px solid var(--color-border)}
.parent-strip__title{margin:0 0 .2rem;font:var(--fw-subheading) var(--fs-md)/var(--lh-snug) var(--font-display);color:var(--color-heading)}
.parent-strip__text p{margin:0;max-width:62ch;font-size:var(--fs-sm);line-height:1.55;color:var(--color-text-muted)}
.parent-strip__link{white-space:nowrap}
@media (max-width:767.98px){
  .parent-strip__inner{grid-template-columns:minmax(0,1fr);justify-items:start;gap:.85rem}
  .parent-strip__text{padding-left:0;border-left:0}
}

/* ==========================================================================
   04. ABOUT — "Notre groupe / Our group" (pages/about.html, #groupe / #group)
   ========================================================================== */
.about-group__inner{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(2rem,1rem + 4vw,4.5rem);align-items:center}
@media (min-width:992px){.about-group__inner{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}}
.about-group__text>.section-header{margin-bottom:1rem}
.about-group__body{max-width:62ch;margin:0;color:var(--color-text)}
.about-group__facts-title{margin:1.6rem 0 .6rem;font:600 var(--fs-2xs)/1.3 var(--font-body);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--color-text-muted)}
.about-group__facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0;padding:0;overflow:hidden;background:var(--color-border);border:1px solid var(--color-border);border-radius:var(--radius-md)}
.about-group__facts>div{padding:.8rem 1rem;background:var(--color-surface)}
.about-group__facts .about-group__fact--wide{grid-column:1/-1}
.about-group__facts dt{font:600 var(--fs-2xs)/1.3 var(--font-body);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--color-eyebrow)}
.about-group__facts dd{margin:.25rem 0 0;font:600 var(--fs-sm)/1.4 var(--font-display);color:var(--color-heading)}
.about-group__actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;margin-top:1.5rem}
.about-group__source{margin:0;font-size:var(--fs-xs);color:var(--color-text-muted)}
@media (max-width:479.98px){.about-group__facts{grid-template-columns:minmax(0,1fr)}}

/* Group tree: parent company → BonAgro → the six country sites */
.group-tree{display:flex;flex-direction:column;align-items:center;margin:0;padding:clamp(1.5rem,1rem + 2vw,2.25rem) clamp(1rem,.5rem + 2vw,2rem);background:var(--color-surface);border:1px solid var(--color-border);border-top:3px solid var(--c-group-blue);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}
.group-tree__node{display:flex;flex-direction:column;align-items:center;gap:.65rem;text-align:center}
.group-tree__logo{display:block;width:auto;height:clamp(58px,48px + 1.6vw,72px)}
.group-tree__logo--company{height:clamp(52px,44px + 1.4vw,64px)}
.group-tree__caption{font:600 var(--fs-2xs)/1.3 var(--font-body);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--color-text-muted)}
.group-tree__link{display:block;width:2px;height:clamp(1.5rem,1rem + 1.5vw,2.25rem);margin:.85rem 0;background:linear-gradient(var(--c-group-blue),var(--c-green-700))}
.group-tree__link--fork{background:var(--c-green-700)}
.group-tree__countries{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin:0;padding:.9rem 0 0;list-style:none;border-top:2px solid var(--c-green-700);width:100%}
.group-tree__country{display:inline-flex;align-items:center;gap:.45rem;min-height:2.5rem;padding:.4rem .7rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-heading);font:600 var(--fs-xs)/1.2 var(--font-display);text-decoration:none;transition:border-color var(--dur-2) ease,background-color var(--dur-2) ease}
.group-tree__country:hover{border-color:var(--c-green-700);background:var(--color-accent-soft)}
.group-tree__country[aria-current="true"]{border-color:var(--c-green-700);box-shadow:inset 0 0 0 1px var(--c-green-700)}
.group-tree__country:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}

/* ==========================================================================
   05. 404 FOOTER LOCKUP — templates/404.html (dark footer): bilingual label + group logo on a white plate
   ========================================================================== */
.not-found-footer__group{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.6rem .85rem;margin-bottom:1rem;color:inherit;text-decoration:none}
.not-found-footer__group-label{font:600 var(--fs-2xs)/1.25 var(--font-body);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:rgba(245,243,239,.66)}
.not-found-footer__group img{display:block;height:40px;width:auto;padding:6px 10px;background:#fff}
.not-found-footer__group:hover img{box-shadow:0 0 0 2px var(--c-green-400)}
.not-found-footer__group:focus-visible{outline:2px solid var(--focus-ring);outline-offset:4px}

@media print{
  .parent-strip,.group-tree{box-shadow:none}
  .footer-parent__domain::after{content:none}
}
