/* Biotik Studio Foundation tokens and primitives. */
:root{
	--biotik-color-primary:#3e6642;
	--biotik-color-secondary:#1a1c1e;
	--biotik-color-text:#25272a;
	--biotik-color-accent:#3e6642;
	--biotik-color-surface:#f5f7f3;
	--biotik-color-on-primary:#fff;
	--biotik-color-on-dark:#fff;
	--biotik-font-heading:"Galano Grotesque",sans-serif;
	--biotik-font-body:"Poppins",sans-serif;
	--biotik-font-accent:"Poppins",sans-serif;
	--biotik-type-hero-size:clamp(3.25rem,8vw,8.5rem);
	--biotik-type-h1-size:clamp(2.75rem,6vw,6rem);
	--biotik-type-h2-size:clamp(2.1rem,4.5vw,4.25rem);
	--biotik-type-h3-size:clamp(1.55rem,3vw,2.5rem);
	--biotik-type-body-size:1rem;
	--biotik-type-intro-size:clamp(1rem,1.5vw,1.3rem);
	--biotik-type-small-size:.82rem;
	--biotik-spacing-xs:4px;
	--biotik-spacing-s:8px;
	--biotik-spacing-m:16px;
	--biotik-spacing-l:24px;
	--biotik-spacing-xl:40px;
	--biotik-spacing-xxl:64px;
	--biotik-radii-s:6px;
	--biotik-radii-m:12px;
	--biotik-radii-l:20px;
	--biotik-radii-pill:999px;
	--biotik-shadows-s:0 4px 12px rgba(20,32,24,.1);
	--biotik-shadows-m:0 12px 30px rgba(20,32,24,.12);
	--biotik-motion-fast:120ms;
	--biotik-motion-normal:220ms;
	--biotik-motion-slow:360ms;
	--biotik-easing-standard:ease;
	--biotik-easing-enter:ease-out;
}
.bs-heading{margin:0;font-family:var(--biotik-heading-font,var(--biotik-font-heading));font-weight:var(--biotik-heading-weight,600);color:inherit}
.bs-heading--hero{font-size:var(--biotik-type-hero-size);line-height:.9;letter-spacing:-.055em}
.bs-heading--h1{font-size:var(--biotik-type-h1-size);line-height:.98;letter-spacing:-.04em}
.bs-heading--h2{font-size:var(--biotik-type-h2-size);line-height:1;letter-spacing:-.035em}
.bs-heading--h3{font-size:var(--biotik-type-h3-size);line-height:1.1;letter-spacing:-.025em}
.bs-heading__eyebrow{font-family:var(--biotik-accent-font,var(--biotik-font-accent));font-weight:var(--biotik-accent-weight,500);font-size:.75rem;line-height:1.3;letter-spacing:.14em;text-transform:uppercase}
.bs-text{font-family:var(--biotik-body-font,var(--biotik-font-body));font-weight:var(--biotik-body-weight,400);font-size:var(--biotik-type-body-size);line-height:1.6}
.bs-text--intro{font-size:var(--biotik-type-intro-size)}
.bs-text--small{font-size:var(--biotik-type-small-size)}
.bs-button-group{display:flex;flex-wrap:wrap;gap:var(--biotik-spacing-s)}
.bs-button{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:44px;padding:.75rem 1.25rem;border:1px solid transparent;border-radius:var(--bs-global-button-radius,var(--biotik-radii-pill));font-family:var(--biotik-accent-font,var(--biotik-font-accent));font-weight:var(--biotik-accent-weight,500);line-height:1;text-decoration:none;cursor:pointer;transition:transform var(--biotik-motion-normal) var(--biotik-easing-enter),background-color var(--biotik-motion-normal) var(--biotik-easing-standard),color var(--biotik-motion-normal) var(--biotik-easing-standard),border-color var(--biotik-motion-normal) var(--biotik-easing-standard)}
.bs-button:hover{transform:translateY(-2px)}
.bs-button:focus-visible{outline:3px solid color-mix(in srgb,var(--biotik-color-accent) 45%,transparent);outline-offset:3px}
.bs-button--small{min-height:38px;padding:.65rem 1rem;font-size:.875rem}
.bs-button--medium{min-height:44px;padding:.75rem 1.25rem;font-size:.95rem}
.bs-button--large{min-height:50px;padding:.9rem 1.5rem;font-size:1rem}
.bs-button--primary{background:var(--bs-global-button-primary-bg,var(--biotik-color-primary,var(--biotik-primary)));border-color:var(--bs-global-button-primary-bg,var(--biotik-color-primary,var(--biotik-primary)));color:var(--bs-global-button-primary-color,var(--biotik-color-on-primary,#fff))}
.bs-button--secondary{background:var(--biotik-color-secondary,var(--biotik-secondary));border-color:var(--biotik-color-secondary,var(--biotik-secondary));color:var(--biotik-color-on-dark,#fff)}
.bs-button--outline{background:transparent;border-color:currentColor;color:var(--bs-global-button-outline-color,inherit)}
.bs-button--ghost{background:transparent;border-color:transparent;color:inherit}
.bs-image{display:block;max-width:100%}
@media(prefers-reduced-motion:reduce){.bs-button{transition:none}.bs-button:hover{transform:none}}
/* Global front-element defaults. Local Elementor rules remain more specific and take priority. */
.bs-button{min-height:var(--bs-global-button-height,44px)}

/* Global button variants — 0.9.9-alpha9. */
.bs-button--primary{
	background:var(--bs-global-button-primary-bg,var(--biotik-color-primary,var(--biotik-primary)));
	border-color:var(--bs-global-button-primary-border,var(--bs-global-button-primary-bg,var(--biotik-color-primary,var(--biotik-primary))));
	color:var(--bs-global-button-primary-color,var(--biotik-color-on-primary,#fff));
	font-size:var(--bs-global-button-primary-font-size,var(--bs-global-button-font-size,.95rem));
	font-weight:var(--bs-global-button-primary-font-weight,var(--bs-global-button-font-weight,600));
}
.bs-button--primary:hover,.bs-button--primary:focus-visible{
	background:var(--bs-global-button-primary-hover-bg,var(--biotik-color-secondary,var(--biotik-secondary)));
	border-color:var(--bs-global-button-primary-hover-border,var(--bs-global-button-primary-hover-bg,var(--biotik-color-secondary,var(--biotik-secondary))));
	color:var(--bs-global-button-primary-hover-color,#fff);
}
.bs-button--secondary{
	background:var(--bs-global-button-secondary-bg,var(--biotik-color-secondary,var(--biotik-secondary)));
	border-color:var(--bs-global-button-secondary-border,var(--bs-global-button-secondary-bg,var(--biotik-color-secondary,var(--biotik-secondary))));
	color:var(--bs-global-button-secondary-color,var(--biotik-color-on-dark,#fff));
	font-size:var(--bs-global-button-secondary-font-size,var(--bs-global-button-font-size,.95rem));
	font-weight:var(--bs-global-button-secondary-font-weight,var(--bs-global-button-font-weight,600));
}
.bs-button--secondary:hover,.bs-button--secondary:focus-visible{
	background:var(--bs-global-button-secondary-hover-bg,var(--biotik-color-primary,var(--biotik-primary)));
	border-color:var(--bs-global-button-secondary-hover-border,var(--bs-global-button-secondary-hover-bg,var(--biotik-color-primary,var(--biotik-primary))));
	color:var(--bs-global-button-secondary-hover-color,#fff);
}
.bs-button--outline{
	background:var(--bs-global-button-outline-bg,transparent);
	border-color:var(--bs-global-button-outline-border,var(--bs-global-button-outline-color,currentColor));
	color:var(--bs-global-button-outline-color,inherit);
	font-size:var(--bs-global-button-outline-font-size,var(--bs-global-button-font-size,.95rem));
	font-weight:var(--bs-global-button-outline-font-weight,var(--bs-global-button-font-weight,600));
}
.bs-button--outline:hover,.bs-button--outline:focus-visible{
	background:var(--bs-global-button-outline-hover-bg,var(--bs-global-button-outline-color,#34383a));
	border-color:var(--bs-global-button-outline-hover-border,var(--bs-global-button-outline-color,#34383a));
	color:var(--bs-global-button-outline-hover-color,#fff);
}
.bs-button--ghost{
	background:var(--bs-global-button-ghost-bg,transparent);
	border-color:var(--bs-global-button-ghost-border,transparent);
	color:var(--bs-global-button-ghost-color,inherit);
	font-size:var(--bs-global-button-ghost-font-size,var(--bs-global-button-font-size,.95rem));
	font-weight:var(--bs-global-button-ghost-font-weight,var(--bs-global-button-font-weight,600));
}
.bs-button--ghost:hover,.bs-button--ghost:focus-visible{
	background:var(--bs-global-button-ghost-hover-bg,transparent);
	border-color:var(--bs-global-button-ghost-hover-border,transparent);
	color:var(--bs-global-button-ghost-hover-color,var(--biotik-color-primary,var(--biotik-primary)));
}

/* Alpha56 — largeur commune des sections/conteneurs Elementor. */
.biotik-container,
.biotik-content-width{
  box-sizing:border-box;
  width:calc(100% - (var(--bs-global-content-padding-x,24px) * 2));
  max-width:var(--bs-global-content-max-width,1280px);
  margin-inline:auto;
}
.biotik-content-wide{
  box-sizing:border-box;
  width:calc(100% - (var(--bs-global-content-padding-x,24px) * 2));
  max-width:var(--bs-global-content-wide-max-width,1440px);
  margin-inline:auto;
}
.biotik-full-width{width:100%!important;max-width:none!important;margin-inline:0!important}

/* Alpha56 — neutralisation ciblée des marqueurs imposés par certains thèmes. */
.biotik-partners-01__track,
.biotik-benefits-01__list,
.biotik-benefits-01__grid,
.biotik-steps-01__track,
.biotik-visual-systems-01__list,
.biotik-articles-gallery-01__list,
.biotik-gallery-01__grid{
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
.biotik-partners-01__track>li,
.biotik-benefits-01__list>li,
.biotik-benefits-01__grid>li,
.biotik-steps-01__track>li,
.biotik-visual-systems-01__list>li,
.biotik-articles-gallery-01__list>li,
.biotik-gallery-01__grid>li{
  list-style:none!important;
}
.biotik-partners-01__track>li::marker,
.biotik-benefits-01__list>li::marker,
.biotik-benefits-01__grid>li::marker,
.biotik-steps-01__track>li::marker,
.biotik-visual-systems-01__list>li::marker,
.biotik-articles-gallery-01__list>li::marker,
.biotik-gallery-01__grid>li::marker{
  content:""!important;
  font-size:0!important;
}
.biotik-partners-01__track>li::before,
.biotik-benefits-01__list>li::before,
.biotik-benefits-01__grid>li::before,
.biotik-visual-systems-01__list>li::before,
.biotik-articles-gallery-01__list>li::before,
.biotik-gallery-01__grid>li::before{
  content:none!important;
  display:none!important;
}
