/* /catalog-v5.css */
/* Shared presentation layer; catalog content and interactions stay in each page. */
:root { --red:#a91232; --red-dark:#850e28; --ink:#2d3031; --muted:#707476; --line:#dfe2e2; --soft:#f3f5f4; }
body { font-family:Arial,Helvetica,sans-serif; }
h1,h2,h3 { letter-spacing:0; font-weight:500; }
section[id] { scroll-margin-top:110px; }
.site-header,.site-header.is-scrolled,.site-header.is-open { position:sticky; min-height:82px; color:var(--ink); background:#fff; box-shadow:none; backdrop-filter:none; border-bottom:1px solid var(--line); }
.brand { min-width:0; }
.brand img { display:block; width:148px; height:auto; }
.logo-slot { border:0; padding:0; background:none; font-size:26px; font-weight:700; }
.main-nav { gap:30px; font-weight:500; }
.main-nav .nav-dropdown { position:relative; }
.main-nav .nav-dropdown > button { display:inline-flex; align-items:center; gap:7px; padding:0; border:0; background:none; color:inherit; font:inherit; cursor:pointer; }
.main-nav .nav-dropdown > button span { font-size:12px; transition:transform .2s; }
.main-nav .nav-dropdown:hover > button span,.main-nav .nav-dropdown:focus-within > button span,.main-nav .nav-dropdown.is-open > button span { transform:rotate(180deg); }
.main-nav .nav-dropdown-menu { position:absolute; top:calc(100% + 16px); left:-18px; min-width:260px; padding:10px 0; visibility:hidden; opacity:0; transform:translateY(-6px); background:#fff; border:1px solid var(--line); box-shadow:0 14px 30px rgba(25,30,38,.10); transition:opacity .18s,transform .18s,visibility .18s; }
.main-nav .nav-dropdown:hover .nav-dropdown-menu,.main-nav .nav-dropdown:focus-within .nav-dropdown-menu,.main-nav .nav-dropdown.is-open .nav-dropdown-menu { visibility:visible; opacity:1; transform:translateY(0); }
.main-nav .nav-dropdown-menu a { display:block; padding:10px 18px; white-space:nowrap; }
.header-cta { color:var(--ink); border:1px solid #bfc3c4; border-radius:2px; font-weight:500; }
.header-cta:hover { color:#fff; background:var(--red); border-color:var(--red); }
.catalog-hero { width:calc(100% - 32px); max-width:1680px; margin:0 auto; min-height:390px; border-radius:16px; color:#fff; background:#32423a; align-items:center; }
.catalog-colorants { --hero-image:url('assets/optimized/food-colours-red-amber-flows.jpg.webp'); }
.catalog-flavors { --hero-image:url('assets/optimized/v4-product-flavors-user.png.webp'); }
.catalog-stabilizing { --hero-image:url('assets/optimized/v4-product-stabilizers-user.png.webp'); }
.catalog-ingredients { --hero-image:url('assets/optimized/v4-product-ingredients-user.png.webp'); }
.catalog-ingredients .catalog-hero::before { background-image:url('assets/optimized/v4-product-ingredients-user.png.webp') !important; }
.catalog-hero::before { background-image:var(--hero-image); background-position:center; background-size:cover; transform:none; }
.catalog-hero::after { background:linear-gradient(90deg,rgba(16,29,25,.76),rgba(16,29,25,.52) 36%,rgba(16,29,25,.08) 67%,transparent 85%); }
.catalog-hero-inner { padding:44px 20px 52px; }
.catalog-hero h1 { text-shadow:0 2px 16px rgba(0,0,0,.2); }
.breadcrumbs { margin-bottom:36px; color:#fff; font-weight:400; font-size:13px; }
.breadcrumbs span:not(:last-child)::after { color:#e2ebe5; }
.breadcrumbs a:hover { color:#fff; text-decoration:underline; }
h1 { font-size:52px; line-height:1.08; max-width:720px; margin-bottom:20px; overflow-wrap:anywhere; }
.hero-lead { color:#fff; max-width:550px; font-size:18px; text-shadow:0 1px 8px rgba(0,0,0,.35); }
.section { padding:88px 0; }
.section-head { margin-bottom:36px; max-width:900px; }
.eyebrow { font-weight:600; font-size:12px; margin-bottom:16px; }
h2 { font-size:40px; line-height:1.16; }
.category-grid { gap:30px; align-items:start; }
.category-card { display:block; min-height:0; padding-top:64%; padding-bottom:0; overflow:visible; border:0; border-radius:0; background:transparent; color:var(--ink); box-shadow:none; isolation:isolate; }
.category-card::before { inset:0 0 auto; height:0; padding-top:64%; border-radius:8px; z-index:0; transform:none; }
.category-card::after { display:none; }
.category-card:hover { transform:none; border-color:transparent; box-shadow:none; }
.category-card:hover::before { transform:scale(1.015); }
.category-content { width:100%; max-width:none; margin:20px 0 0; padding:0; align-items:flex-start; gap:12px; }
.category-content h3 { max-width:none; min-width:0; color:var(--ink); font-size:28px; line-height:1.2; font-weight:500; text-shadow:none; overflow-wrap:anywhere; }
.category-card:hover .category-content { text-shadow:none; }
.category-arrow { width:30px; height:34px; border:0; border-radius:0; background:none; box-shadow:none; color:var(--red); font-size:25px; }
.category-card:hover .category-arrow { background:none; color:var(--red-dark); }
.catalog-stabilizing .category-grid { gap:20px; }
.catalog-stabilizing .category-content h3 { font-size:23px; }
.catalog-flavors .category-content h3 { font-size:26px; }
.assortment-section,.assortment-section + .assortment-section { padding:72px 0; background:#e5eee7; }
.assortment-section:nth-of-type(even) { background:#f5eeef; }
.assortment-section + .assortment-section { border-top:1px solid #d7dddd; }
.catalog-ingredients .assortment-section,
.catalog-ingredients .assortment-section:nth-of-type(even) { background:#fff; }
.catalog-ingredients .product-grid { display:block; }
.catalog-ingredients .product-card,
.catalog-ingredients .product-card:nth-child(even) { min-height:0; padding:16px 0; border:0; border-bottom:1px solid var(--line); border-radius:0; background:transparent; box-shadow:none; }
.catalog-ingredients .product-card:last-child { border-bottom:0; }
.catalog-ingredients .product-card:hover { transform:none; border-color:var(--line); box-shadow:none; }
.catalog-ingredients .product-card h3 { margin:0; font-size:20px; font-weight:600; }
.assortment-head { margin-bottom:40px; padding-bottom:28px; }
.catalog-group { gap:36px; padding-bottom:38px; border-bottom:0; }
.catalog-group + .catalog-group { padding-top:48px; border-top:1px solid #d2d8d8; }
.catalog-group > * { min-width:0; }
.catalog-group > h2,.catalog-group > h3 { top:110px; color:#385448; font-weight:500; line-height:1.2; overflow-wrap:anywhere; }
.assortment-section:nth-of-type(even) .catalog-group > h2,.assortment-section:nth-of-type(even) .catalog-group > h3 { color:#81263c; }
.catalog-group > h2::before,.catalog-group > h3::before { content:""; display:block; width:44px; height:3px; margin-bottom:22px; background:var(--red); }
.catalog-group > h2 { font-size:30px; max-width:100%; }
.catalog-group > h3 { font-size:25px; }
.colorant-card,.profile-card,.product-card,.drink-profile { border:1px solid #d9dfdf; border-radius:6px; background:#fff; box-shadow:0 3px 12px rgba(29,42,40,.035); }
.catalog-list > .colorant-card:nth-child(even),.profile-card:nth-child(even),.product-card:nth-child(even),.drink-profile:nth-child(even) { background:#fafbfa; }
.profile-card:hover,.product-card:hover,.drink-profile:hover { transform:none; box-shadow:0 5px 16px rgba(29,42,40,.06); border-color:#bfc3c4; }
.profile-card,.product-card { padding:24px; }
.profile-card h3,.product-card h3 { font-size:23px; font-weight:500; }
.profile-grid,.product-grid,.colorant-grid { gap:18px; }
.series-head { margin-bottom:28px; padding-bottom:24px; border-bottom:1px solid #d2d8d8; }
.series-head strong { font-weight:600; }
.series-head p { color:#535d5d; }
.dosage-note { padding:10px 14px; border:0; border-left:2px solid #51715f; border-radius:0; background:#d5e3d8; color:#2d4939; font-weight:500; }
.article { display:table; width:fit-content; padding:4px 9px; border-radius:3px; background:#eef1f0; color:#4d5957; font-size:13px; font-weight:500; font-variant-numeric:tabular-nums; }
.colorant-summary { padding:26px; }
.colorant-main h4 { font-weight:600; margin-bottom:16px; }
.colorant-meta span { background:#e9eeee; border-color:transparent; border-radius:3px; font-weight:500; }
.industry-tags { padding-top:14px; border-top:1px solid #e5e8e8; }
.industry-tags span { background:transparent; border:0; padding:0 10px 0 0; font-weight:400; color:#5d6867; }
.industry-tags span + span { padding-left:10px; border-left:1px solid #d8dddd; border-radius:0; }
.variant-count { border:0; background:#eef1f0; border-radius:3px; font-weight:500; }
.details-label { display:inline-flex; align-items:center; gap:9px; font-weight:600; font-size:14px; }
.details-label::after { content:"+"; font-size:21px; line-height:1; font-weight:400; }
.colorant-card[open] { border-color:#b8c4c1; box-shadow:inset 3px 0 var(--red),0 5px 18px rgba(29,42,40,.05); }
.colorant-card[open] .details-label::after { content:"−"; }
.colorant-card[open] .variants-panel { padding-top:20px; border-top:1px solid #dce2e1; background:#edf1ef; }
.variants-table { border-radius:4px; }
.variant-row:nth-child(odd):not(.variant-head) { background:#f7f9f8; }
.variant-head { background:#e1e8e5; color:#3c4c47; }
.product-meta { border-top:1px solid #e0e5e3; padding-top:16px; }
.drink-profile { border-left:2px solid #c8d3cf; font-weight:500; }
.variants-panel { overflow-x:auto; }
.consult-block { padding:72px 0; background:#941b38; color:#fff; margin-top:0; }
.consult-panel { padding:0; background:none; border:0; border-radius:0; gap:48px; }
.consult-panel h2 { font-size:34px; }
.consult-panel p { font-size:17px; color:#f7e8ec; }
.consult-panel .button-primary { color:#941b38; background:#fff; border-color:#fff; }
.consult-panel .button-primary:hover { background:#f4e6ea; border-color:#f4e6ea; }
.consult-panel a:focus-visible { outline-color:#fff; }
.button { border-radius:2px; font-weight:500; padding:14px 22px; text-align:center; }
.site-footer { background:#2e3332; padding:56px 0; font-size:14px; }
a:focus-visible,summary:focus-visible,button:focus-visible { outline:2px solid var(--red); outline-offset:5px; }
@media(max-width:1100px) and (min-width:981px) {
  .catalog-group > h2 { font-size:28px; }
  .profile-grid,.drink-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .category-content h3,.catalog-flavors .category-content h3 { font-size:24px; }
}
@media(max-width:980px) {
  .site-header { grid-template-columns:1fr auto; min-height:74px; padding:14px 20px; }
  .nav-toggle { display:block; grid-column:2; grid-row:1; }
  .main-nav { display:none; }
  .main-nav.is-open { position:absolute; inset:74px 0 auto; display:flex; flex-direction:column; padding:16px 24px; margin:0; background:#fff; border:1px solid var(--line); border-radius:0; box-shadow:none; gap:0; }
  .main-nav.is-open a { padding:12px 0; }
  .main-nav .nav-dropdown { width:100%; }
  .main-nav .nav-dropdown > button { width:100%; justify-content:space-between; padding:12px 0; }
  .main-nav .nav-dropdown-menu { position:static; display:none; min-width:0; padding:0 0 8px; border:0; box-shadow:none; opacity:1; transform:none; visibility:visible; }
  .main-nav .nav-dropdown.is-open .nav-dropdown-menu { display:block; }
  .main-nav .nav-dropdown-menu a { padding:10px 14px; white-space:normal; }
  .header-cta { display:none; }
  .catalog-group { grid-template-columns:1fr; gap:28px; }
  .catalog-group > h2,.catalog-group > h3 { position:static; max-width:none; }
  .category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .consult-panel { grid-template-columns:1fr; gap:28px; }
  .consult-panel .button { justify-self:start; }
}
@media(max-width:680px) {
  section[id] { scroll-margin-top:94px; }
  .catalog-hero { width:calc(100% - 24px); min-height:360px; border-radius:8px; }
  .catalog-hero-inner { width:100%; padding:32px 20px; }
  .catalog-hero::after { background:linear-gradient(90deg,rgba(16,29,25,.78),rgba(16,29,25,.56) 70%,rgba(16,29,25,.28)); }
  h1 { font-size:34px; }
  h2 { font-size:30px; }
  .hero-lead { font-size:16px; }
  .breadcrumbs { margin-bottom:26px; font-size:12px; }
  .section,.assortment-section,.assortment-section + .assortment-section { padding:48px 0; }
  .category-grid,.catalog-stabilizing .category-grid { grid-template-columns:1fr; gap:32px; }
  .category-card { min-height:0; padding-top:60%; }
  .category-card::before { padding-top:60%; }
  .category-content { margin:16px 0 0; max-width:none; }
  .category-content h3,.catalog-flavors .category-content h3 { font-size:25px; }
  .profile-grid,.drink-grid,.product-grid { grid-template-columns:1fr; }
  .colorant-summary,.profile-card,.product-card { padding:20px; }
  .catalog-group > h2::before,.catalog-group > h3::before { margin-bottom:16px; }
  .catalog-group > h2 { font-size:28px; }
  .consult-block { margin-top:0; padding:48px 0; }
  .consult-panel h2 { font-size:30px; }
  .footer-grid { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .category-card::before,.category-arrow { transition:none; }
}

body.catalog-colorants .catalog-hero::before { background-position:72% center; }
@media(max-width:680px) {
  body.catalog-colorants .catalog-hero::before { background-position:25% center; }
  body.catalog-colorants .catalog-hero h1 { max-width:min(320px,56vw); }
  body.catalog-colorants .catalog-hero .hero-lead { max-width:min(340px,56vw); }
}

/* /colorants-visual.css */
/* The reference affects the presentation, never product data or variant counts. */
.catalog-colorants #natural { --colorant-kind:"Натуральные красители"; }
.catalog-colorants #synthetic { --colorant-kind:"Синтетические красители"; }
.catalog-colorants #catalog { padding:32px 0 0; }
.catalog-colorants #catalog > .container { width:min(1320px,calc(100% - 64px)); }
.colorant-type-nav { display:flex; flex-wrap:wrap; gap:12px 40px; border-bottom:1px solid #e1e4e2; }
.colorant-type-nav a { display:inline-flex; align-items:center; gap:18px; padding:14px 0; border-bottom:2px solid transparent; margin-bottom:-1px; font-size:18px; color:#52565b; transition:color .2s,border-color .2s; }
.colorant-type-nav a span { color:var(--red); }
.colorant-type-nav a:hover,.colorant-type-nav a:focus-visible { color:var(--red); border-bottom-color:var(--red); }
.catalog-colorants :is(#natural, #synthetic) { padding-top:48px; }
.catalog-colorants :is(#natural, #synthetic) { background:#fff; }
.catalog-colorants :is(#natural, #synthetic) > .container { width:min(1320px,calc(100% - 64px)); }
.catalog-colorants :is(#natural, #synthetic) .assortment-head { display:block; margin-bottom:40px; border:0; padding:0; }
.catalog-colorants :is(#natural, #synthetic) .assortment-head h2 { font-size:42px; font-weight:400; }
.catalog-colorants :is(#natural, #synthetic) .catalog-group { display:block; padding:0; }
.catalog-colorants :is(#natural, #synthetic) .catalog-group > h3 { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.catalog-colorants :is(#natural, #synthetic) .catalog-group .colorant-grid { gap:44px; }
.catalog-colorants :is(#natural, #synthetic) .catalog-group .colorant-card { background:none; border:0; border-radius:0; box-shadow:none; overflow:visible; }
.catalog-colorants :is(#natural, #synthetic) .catalog-group .colorant-summary { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); grid-template-rows:1fr auto; column-gap:44px; row-gap:20px; padding:0; align-items:center; cursor:pointer; }
.catalog-colorants :is(#natural, #synthetic) .colorant-photo { display:block; width:100%; height:100%; min-height:350px; max-height:500px; grid-column:1; grid-row:1 / 3; border-radius:0; overflow:hidden; align-self:stretch; -webkit-mask-image:linear-gradient(90deg,#000 0%,#000 55%,rgba(0,0,0,.85) 68%,rgba(0,0,0,.4) 84%,transparent 100%); mask-image:linear-gradient(90deg,#000 0%,#000 55%,rgba(0,0,0,.85) 68%,rgba(0,0,0,.4) 84%,transparent 100%); }
.catalog-colorants :is(#natural, #synthetic) .catalog-group .colorant-main { grid-column:2; grid-row:1; align-self:end; display:flex; flex-direction:column; min-width:0; padding-top:10px; }
.catalog-colorants :is(#natural, #synthetic) .catalog-group .colorant-main::before { content:var(--colorant-kind); order:-3; color:var(--red); font-size:11px; text-transform:uppercase; margin-bottom:18px; }
.catalog-colorants :is(#natural, #synthetic) .catalog-group h4 { order:-2; margin:0 0 8px; font-size:38px; font-weight:400; line-height:1.12; letter-spacing:0; }
.catalog-colorants :is(#natural, #synthetic) .catalog-group .colorant-meta { order:-1; margin:0 0 20px; gap:12px; }
.catalog-colorants :is(#natural, #synthetic) .catalog-group .colorant-meta span { padding:0; min-height:0; font-size:19px; color:#62666d; background:none; border:0; font-weight:400; }
.catalog-colorants :is(#natural, #synthetic) .catalog-group .colorant-main p { margin:0 0 16px; font-size:16px; line-height:1.5; color:#62666d; }
.catalog-colorants :is(#natural, #synthetic) .catalog-group .color-range { order:2; max-width:none; margin:12px 0 0; gap:5px; }
.catalog-colorants :is(#natural, #synthetic) .catalog-group .range-track { height:6px; border-radius:3px; }
.catalog-colorants :is(#natural, #synthetic) .catalog-group .range-caption { font-size:12px; font-weight:400; color:#62666d; }
.catalog-colorants :is(#natural, #synthetic) .catalog-group .industry-tags { padding:0; border:0; gap:4px 10px; }
.catalog-colorants :is(#natural, #synthetic) .catalog-group .industry-tags span { padding:0; min-height:0; border:0; font-size:12px; line-height:1.5; color:#62666d; }
.catalog-colorants :is(#natural, #synthetic) .catalog-group .colorant-action { grid-column:2; grid-row:2; display:flex; align-items:center; gap:12px; padding:15px 18px; margin-bottom:10px; min-width:0; border:1px solid #dfc9cf; border-radius:5px; background:#fcf9fa; color:#941b38; transition:background .2s,border-color .2s; }
.catalog-colorants :is(#natural, #synthetic) .catalog-group .variant-count { background:none; padding:0; min-height:0; color:inherit; font-size:14px; font-weight:400; }
.catalog-colorants :is(#natural, #synthetic) .catalog-group .details-label { margin-left:auto; color:inherit; font-size:14px; font-weight:400; }
.catalog-colorants :is(#natural, #synthetic) .catalog-group .colorant-summary:hover .colorant-action { background:#f5ebee; border-color:#b77487; }
.catalog-colorants :is(#natural, #synthetic) .catalog-group article .colorant-summary { cursor:default; }
.catalog-colorants :is(#natural, #synthetic) .catalog-group article .colorant-main { grid-row:1 / 3; align-self:center; }
.catalog-colorants :is(#natural, #synthetic) .catalog-group .variants-panel { margin-top:24px; padding:20px; border:1px solid #e1e4e2; border-radius:6px; background:#fff; }
.catalog-colorants :is(#natural, #synthetic) .catalog-group .variants-table { border-radius:0; }
.catalog-colorants :is(#natural, #synthetic) .catalog-groups { gap:26px; }
.catalog-colorants :is(#natural, #synthetic) .catalog-group + .catalog-group { padding-top:0; border-top:0; }
@media(max-width:1000px) {
  .catalog-colorants #catalog > .container { width:calc(100% - 40px); }
  .catalog-colorants :is(#natural, #synthetic) > .container { width:calc(100% - 40px); }
  .catalog-colorants :is(#natural, #synthetic) .catalog-group .colorant-summary { column-gap:28px; }
  .catalog-colorants :is(#natural, #synthetic) .catalog-group h4 { font-size:30px; }
  .catalog-colorants :is(#natural, #synthetic) .colorant-photo { min-height:330px; }
}
/* Compact desktop rows allow two closed products to share a laptop viewport. */
@media(min-width:761px) {
  .catalog-colorants :is(#natural, #synthetic) { padding-top:32px; }
  .catalog-colorants :is(#natural, #synthetic) .assortment-head { margin-bottom:24px; }
  .catalog-colorants :is(#natural, #synthetic) .assortment-head h2 { font-size:34px; }
  .catalog-colorants :is(#natural, #synthetic) .assortment-head .eyebrow { margin-bottom:8px; }
  .catalog-colorants :is(#natural, #synthetic) .catalog-group .colorant-grid { gap:26px; }
  .catalog-colorants :is(#natural, #synthetic) .catalog-group .colorant-summary { grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); row-gap:12px; column-gap:32px; }
  .catalog-colorants :is(#natural, #synthetic) .colorant-photo { min-height:280px; max-height:340px; }
  .catalog-colorants :is(#natural, #synthetic) .catalog-group .colorant-main { padding-top:0; }
  .catalog-colorants :is(#natural, #synthetic) .catalog-group .colorant-main::before { font-size:10px; margin-bottom:8px; }
  .catalog-colorants :is(#natural, #synthetic) .catalog-group h4 { font-size:30px; margin-bottom:6px; }
  .catalog-colorants :is(#natural, #synthetic) .catalog-group .colorant-meta { margin-bottom:10px; }
  .catalog-colorants :is(#natural, #synthetic) .catalog-group .colorant-meta span { font-size:16px; }
  .catalog-colorants :is(#natural, #synthetic) .catalog-group .colorant-main p { font-size:14px; line-height:1.45; margin-bottom:10px; }
  .catalog-colorants :is(#natural, #synthetic) .catalog-group .industry-tags { gap:3px 10px; }
  .catalog-colorants :is(#natural, #synthetic) .catalog-group .industry-tags span { line-height:1.35; }
  .catalog-colorants :is(#natural, #synthetic) .catalog-group .color-range { margin-top:8px; gap:4px; }
  .catalog-colorants :is(#natural, #synthetic) .catalog-group .colorant-action { padding:10px 16px; min-height:42px; margin-bottom:0; }
}
@media(max-width:760px) {
  .catalog-colorants :is(#natural, #synthetic) .catalog-groups { gap:40px; }
  .catalog-colorants #catalog > .container { width:calc(100% - 32px); }
  .catalog-colorants #catalog { padding-top:20px; }
  .colorant-type-nav { gap:0 24px; }
  .colorant-type-nav a { font-size:16px; padding:12px 0; }
  .catalog-colorants :is(#natural, #synthetic) > .container { width:calc(100% - 32px); }
  .catalog-colorants :is(#natural, #synthetic) .assortment-head h2 { font-size:32px; }
  .catalog-colorants :is(#natural, #synthetic) .catalog-group .colorant-summary { grid-template-columns:minmax(0,1fr); grid-template-rows:auto auto auto; gap:18px; }
  .catalog-colorants :is(#natural, #synthetic) .catalog-group .colorant-photo { grid-column:1; grid-row:1; height:auto; min-height:0; max-height:none; aspect-ratio:1.72; -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 62%,transparent 100%); mask-image:linear-gradient(180deg,#000 0%,#000 62%,transparent 100%); }
  .catalog-colorants :is(#natural, #synthetic) .catalog-group .colorant-main { grid-column:1; grid-row:2; padding:0 4px; }
  .catalog-colorants :is(#natural, #synthetic) .catalog-group .colorant-action { grid-column:1; grid-row:3; margin:0; }
  .catalog-colorants :is(#natural, #synthetic) .catalog-group .colorant-main::before { margin-bottom:12px; }
  .catalog-colorants :is(#natural, #synthetic) .catalog-group .variants-panel { padding:12px; }
  .catalog-colorants :is(#natural, #synthetic) .catalog-group .colorant-grid { gap:40px; }
}

/* /catalog-alignment.css */
/* Shared outer grid for photo-led catalog pages. */
:root { --catalog-gutter:32px; --catalog-width:min(1320px,calc(100% - var(--catalog-gutter) * 2)); --catalog-corner:16px; }
.catalog-colorants .container,
:is(.catalog-flavors,.catalog-stabilizing) .container,
.catalog-colorants #catalog > .container,
.catalog-colorants :is(#natural,#synthetic) > .container,
:is(.catalog-flavors,.catalog-stabilizing) .flavor-navigation .container,
:is(.catalog-flavors,.catalog-stabilizing) .assortment-section .container { width:var(--catalog-width); }
:is(.catalog-colorants,.catalog-flavors,.catalog-stabilizing) .site-header { padding-inline:max(var(--catalog-gutter),calc((100% - 1320px) / 2)); border-bottom:0; box-shadow:none; }
:is(.catalog-colorants,.catalog-flavors,.catalog-stabilizing) .catalog-hero { width:var(--catalog-width); max-width:1320px; border-radius:var(--catalog-corner); }
:is(.catalog-colorants,.catalog-flavors,.catalog-stabilizing) .catalog-hero-inner { width:100%; padding-inline:40px; }
.catalog-colorants :is(#natural,#synthetic) .colorant-photo,
:is(.catalog-flavors,.catalog-stabilizing) .flavor-photo { border-top-left-radius:var(--catalog-corner); border-bottom-left-radius:var(--catalog-corner); }
:is(.catalog-flavors,.catalog-stabilizing) .catalog-group > h2 { overflow-wrap:anywhere; }
@media(max-width:1000px) { :root { --catalog-gutter:20px; } }
@media(max-width:760px) {
  :root { --catalog-gutter:16px; --catalog-corner:8px; }
  :is(.catalog-colorants,.catalog-flavors,.catalog-stabilizing) .catalog-hero-inner { padding-inline:24px; }
}

/* /site-shell.css */
/* Shared header and edge-to-edge hero geometry on active pages. */
body .site-header { position:sticky !important; inset:0 0 auto !important; z-index:50; display:block !important; width:100% !important; height:82px !important; min-height:82px !important; padding:0 !important; background:#fff !important; color:#2d3031 !important; border:0 !important; box-shadow:none !important; backdrop-filter:none !important; font-family:Arial,Helvetica,sans-serif; }
body .site-header .header-inner { display:flex !important; align-items:center !important; gap:40px !important; width:min(1360px,calc(100% - 72px)) !important; max-width:none !important; height:100% !important; margin:0 auto !important; padding:0 !important; }
body .site-header .brand { display:flex; min-width:0; padding:0; border:0; background:none; }
body .site-header .brand img { width:148px; height:auto; display:block; }
body .site-header .nav { display:flex; align-items:center; justify-content:flex-end; gap:30px; margin-left:auto; font-size:14px; font-weight:400; }
body .site-header a { text-decoration:none; color:inherit; opacity:1; }
body .site-header .header-button { display:inline-flex; align-items:center; justify-content:center; width:auto; min-height:44px; padding:11px 22px; border:1px solid #bfc3c4; border-radius:2px; color:#2d3031; background:transparent; font-size:14px; font-weight:600; }
body .site-header .menu-toggle { display:none; }
body .site-header .nav-dropdown { position:relative; }
body .site-header .nav-dropdown > button { display:flex; align-items:center; gap:7px; border:0; padding:12px 0; background:none; color:inherit; font:inherit; cursor:pointer; }
body .site-header .nav-dropdown > button span { font-size:12px; }
body .site-header .nav-dropdown-menu { position:absolute; top:100%; right:0; left:auto; width:340px; max-width:90vw; padding:10px 0; background:white; border:1px solid #e4e6e7; box-shadow:0 10px 24px #00000010; visibility:hidden; opacity:0; transform:none; }
body .site-header .nav-dropdown:hover .nav-dropdown-menu,body .site-header .nav-dropdown:focus-within .nav-dropdown-menu,body .site-header .nav-dropdown.is-open .nav-dropdown-menu { visibility:visible; opacity:1; }
body .site-header .nav-dropdown-menu a { display:block; padding:10px 18px; white-space:normal; line-height:1.4; }
body .site-header .nav-industries-menu { width:300px; padding:10px 0; }
body .site-header .nav-industry-groups { display:block; }
body .site-header .nav-industry-group { position:relative; min-width:0; }
body .site-header .nav-industries-menu .nav-industry-parent { padding:10px 52px 10px 18px; font-weight:400; }
body .site-header .nav-industry-toggle { position:absolute; right:8px; top:4px; width:36px; height:32px; border:0; background:transparent; color:inherit; cursor:pointer; }
body .site-header .nav-industry-toggle::after { content:""; display:inline-block; width:7px; height:7px; border-top:1px solid; border-right:1px solid; transform:rotate(45deg); }
body .site-header .nav-industries-menu .nav-industry-children { display:none; position:absolute; left:100%; top:-1px; width:300px; padding:8px 0; background:#fff; border:1px solid #e4e6e7; box-shadow:0 10px 24px #00000010; }
body .site-header .nav-industry-group.is-expanded > .nav-industry-children { display:block; }
body .site-header .nav-industries-menu .nav-industry-children a { padding:10px 18px; font-size:14px; }
body .site-header .nav-industry-other { display:block; }
body .site-header .nav-industries-menu .nav-industry-other a { padding:10px 18px; font-size:14px; }
body .site-header .nav-industries-menu a:hover { color:#a91232; }
body .site-header a:hover { color:#a91232; }
body .site-header .language-switcher { display:inline-flex; align-items:center; gap:0; margin-left:2px; padding:3px; border:1px solid #dfe2e3; border-radius:3px; white-space:nowrap; font-size:12px; line-height:1; letter-spacing:.04em; }
body .site-header .language-switcher a,body .site-header .language-switcher span { display:inline-flex; align-items:center; justify-content:center; min-width:31px; min-height:26px; padding:0 6px; border-radius:2px; color:#656a6c; text-decoration:none; }
body .site-header .language-switcher [aria-current="page"] { color:#fff; background:#a91232; font-weight:700; }
body .site-header .language-switcher a:hover { color:#a91232; }
body .site-header .language-switcher-status:not(:empty) { position:fixed; top:92px; right:24px; z-index:100; max-width:min(360px,calc(100vw - 32px)); padding:12px 16px; border-radius:3px; color:#fff; background:#2d3031; box-shadow:0 8px 24px #0003; font-size:14px; line-height:1.45; white-space:normal; }
/* Override the older category-specific framed hero rules. */
body :is(.catalog-hero,.ingredients-hero,.industry-hero,.company-intro-hero) { width:100% !important; max-width:none !important; height:360px !important; min-height:360px !important; margin-left:0 !important; margin-right:0 !important; border-radius:0 !important; box-sizing:border-box; }
body .company-intro { padding-top:0; }
body :is(.catalog-hero-inner,.ingredients-hero-copy,.industry-hero-copy,.hero-content) { width:min(1320px,calc(100% - 64px)) !important; margin-inline:auto; padding:28px 0 !important; }
body .industry-hero { display:flex; align-items:center; padding:0; }
body .industry-hero > img { width:100%; }
body .company-intro-copy { padding-left:max(32px,calc((100% - 1320px)/2)); width:60%; max-width:850px; }
/* The homepage keeps its existing hero scale and image framing. */
body .hero { width:calc(100% - 32px); max-width:1680px; height:510px; min-height:0; margin:0 auto; border-radius:16px; }
body .hero-content { width:auto; margin:0; padding:48px 72px; }
@media(max-width:1000px) {
 body .site-header { height:74px; min-height:74px; }
 body .site-header .header-inner { width:calc(100% - 40px); gap:20px; }
 body .site-header .brand img { width:132px; }
 body .site-header .header-button { margin-left:auto; }
 body .site-header .menu-toggle { display:flex; flex-direction:column; justify-content:center; gap:6px; width:32px; height:42px; padding:4px; border:0; background:none; }
 body .site-header .menu-toggle span { width:24px; height:2px; background:#2d3031; }
 body .site-header .nav { display:none; position:absolute; inset:74px 0 auto; padding:16px 24px; margin:0; background:#fff; }
 body .site-header .nav.is-open { display:flex; flex-direction:column; align-items:stretch; gap:0; max-height:calc(100dvh - 74px); overflow:auto; }
 body .site-header .nav > a { padding:12px 0; }
 body .site-header .nav .language-switcher { align-self:flex-start; margin:12px 0 4px; }
 body .site-header .language-switcher-status:not(:empty) { top:82px; right:16px; }
 body .site-header .nav-dropdown > button { width:100%; justify-content:space-between; }
 body .site-header .nav-dropdown-menu { position:static; display:none; width:100%; max-width:none; border:0; box-shadow:none; }
 body .site-header .nav-dropdown.is-open .nav-dropdown-menu { display:block; }
 body .site-header .nav-industries-menu { width:100%; padding:0 0 8px; }
 body .site-header .nav-industries-menu .nav-industry-children { position:static; width:auto; margin-left:18px; padding:0 0 6px; border:0; border-left:1px solid #e4e6e7; box-shadow:none; }
 body .site-header .nav-industry-toggle::after { transform:rotate(135deg); }
 body .site-header .nav-industry-toggle[aria-expanded="true"]::after { transform:rotate(-45deg); }
}
@media(max-width:760px) {
 body :is(.catalog-hero,.ingredients-hero,.industry-hero,.company-intro-hero) { height:320px !important; min-height:320px !important; }
 body :is(.catalog-hero-inner,.ingredients-hero-copy,.industry-hero-copy,.hero-content) { width:calc(100% - 40px) !important; padding:24px 0 !important; }
 body .industry-hero > img { position:absolute; inset:0; height:100%; margin:0; z-index:-2; }
 body .industry-hero::after { display:block; background:linear-gradient(90deg,#f4f5f4ed,#f4f5f4b0 55%,#f4f5f420); }
 body .hero { width:calc(100% - 24px); height:500px; margin:0 auto; border-radius:14px; }
 body .hero-content { width:auto !important; padding:32px; }
 body .company-intro-copy { width:100%; padding:32px 20px; }
 body .company-intro-copy h1 { font-size:32px; }
 body .site-header .header-button { display:none; }
 body .site-header .menu-toggle { margin-left:auto; }
}

/* /colorants-editorial.css */
.colorants-intro { display:grid; grid-template-columns:1fr 1fr; gap:64px; padding-block:56px 16px; align-items:start; }
.colorants-intro h2,.colorants-selection h2 { font-size:36px; line-height:1.2; font-weight:500; letter-spacing:0; margin:12px 0 0; }
.colorants-intro > p,.colorants-paths p,.colorants-selection p { color:var(--muted); font-size:17px; line-height:1.6; }
.colorants-intro { row-gap:32px; }
.colorants-intro-copy p { margin:0; color:var(--muted); font-size:17px; line-height:1.6; }
.colorants-intro-copy p + p { margin-top:16px; }
.catalog-colorants #catalog { padding-top:28px; }
.catalog-colorants #catalog .colorants-types-label { margin-bottom:18px; font-size:12px; }
.colorants-paths { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; padding-block:0 40px; }
.colorants-paths a { display:flex; flex-direction:column; min-width:0; padding:8px 48px 8px 0; color:inherit; text-decoration:none; }
.colorants-paths a + a { padding:8px 0 8px 48px; border-left:1px solid #e1e4e2; }
.colorants-paths h2 { font-size:32px; line-height:1.2; font-weight:500; margin:0 0 12px; letter-spacing:0; }
.colorants-paths p { max-width:460px; margin:0 0 18px; }
.colorants-path-spectrum { display:block; height:6px; flex-shrink:0; border-radius:3px; margin-top:auto; margin-bottom:16px; }
.colorants-section-label { color:var(--red); font-size:12px; font-weight:600; margin:0 0 12px; }
.spectrum-natural { background:linear-gradient(90deg,#303130,#537745,#d8b83e,#db8937,#bb413c,#772940); }
.spectrum-synthetic { background:linear-gradient(90deg,#dec43d,#df8a36,#c63e43,#3d6498,#408366); }
.colorants-path-link { display:flex; align-items:center; gap:18px; font-size:15px; }
.colorants-path-link span { display:inline-block; color:var(--red); transition:transform .2s ease; }
.colorants-paths a:hover .colorants-path-link { color:var(--red); }
.colorants-paths a:hover .colorants-path-link span { transform:translateX(4px); }
.colorants-paths a:focus-visible { outline:2px solid var(--red); outline-offset:6px; }
.catalog-colorants #natural .colorants-feature { margin-top:48px; padding-top:40px; border-top:1px solid #e1e4e2; }
.catalog-colorants #natural .colorants-feature > h3 { position:static; width:auto; height:auto; padding:0; margin:12px 0 28px; overflow:visible; clip-path:none; white-space:normal; font-size:34px; line-height:1.2; font-weight:500; letter-spacing:0; }
.catalog-colorants #natural .colorants-feature .colorant-main::before { display:none; }
.catalog-colorants #natural .colorants-ecoblend .colorant-photo { min-height:360px; max-height:440px; }
.catalog-colorants #natural .colorants-ecoblend .range-track { height:9px; }
.colorants-selection { padding-block:56px; border-top:1px solid #e1e4e2; }
.colorants-selection .selection-intro { max-width:840px; margin:22px 0 36px; }
.colorants-selection ol { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; list-style:none; padding:0; margin:0; }
.colorants-selection li { min-width:0; border-top:1px solid #e1e4e2; padding-top:20px; }
.colorants-selection li > span { color:var(--red); font-size:14px; }
.colorants-selection h3 { margin:20px 0 12px; font-size:23px; line-height:1.3; font-weight:500; letter-spacing:0; }
.colorants-selection li p { font-size:16px; margin:0; }
@media(max-width:1000px) { .colorants-selection ol { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:760px) {
 .colorants-intro,.colorants-paths { grid-template-columns:1fr; gap:24px; }
 .colorants-intro { padding-top:40px; }
 .colorants-paths { gap:0; padding-bottom:32px; }
 .colorants-paths a { padding:8px 0 24px; }
 .colorants-paths a + a { padding:24px 0 8px; border-left:0; border-top:1px solid #e1e4e2; }
 .colorants-intro h2,.colorants-selection h2,.catalog-colorants #natural .colorants-feature > h3 { font-size:28px; }
 .colorants-paths h2 { font-size:32px; }
 .catalog-colorants #natural .colorants-ecoblend .colorant-photo { min-height:0; max-height:none; }
 .colorants-selection { padding-block:40px; }
}
@media(max-width:480px) { .colorants-selection ol { grid-template-columns:1fr; } }
@media(prefers-reduced-motion:reduce) { .colorants-path-link span { transition:none; } }

/* Shared product composition; catalogue data and native details stay intact. */
body.catalog-colorants :is(#natural,#synthetic) .catalog-group .colorant-summary {
 grid-template-columns:minmax(0,.37fr) minmax(0,.63fr);
 grid-template-rows:auto auto;
 column-gap:36px; row-gap:16px; align-items:start;
}
body.catalog-colorants :is(#natural,#synthetic) .catalog-group .colorant-photo {
 height:auto; min-height:0; max-height:none; aspect-ratio:auto; align-self:start;
 object-fit:contain; border-radius:6px;
 -webkit-mask-image:none; mask-image:none;
}
body.catalog-colorants :is(#natural,#synthetic) .catalog-group .colorant-main,
body.catalog-colorants :is(#natural,#synthetic) .catalog-group article .colorant-main {
 align-self:start; padding-top:0;
}
body.catalog-colorants :is(#natural,#synthetic) .catalog-group .colorant-main::before { content:none; display:none; }
body.catalog-colorants :is(#natural,#synthetic) .catalog-group h4 { font-size:36px; line-height:1.15; margin-bottom:10px; }
body.catalog-colorants :is(#natural,#synthetic) .catalog-group .colorant-meta { margin-bottom:14px; }
body.catalog-colorants :is(#natural,#synthetic) .catalog-group .colorant-meta span { font-size:17px; }
body.catalog-colorants :is(#natural,#synthetic) .catalog-group .colorant-main p { font-size:17px; line-height:1.55; margin-bottom:14px; max-width:760px; }
body.catalog-colorants :is(#natural,#synthetic) .catalog-group .industry-tags { gap:4px 0; }
body.catalog-colorants :is(#natural,#synthetic) .catalog-group .industry-tags::before { content:"Применение"; flex-basis:100%; color:#62666d; font-size:13px; margin-bottom:3px; }
body.catalog-colorants :is(#natural,#synthetic) .catalog-group .industry-tags span { font-size:14px; line-height:1.5; }
body.catalog-colorants :is(#natural,#synthetic) .catalog-group .industry-tags span + span::before { content:"·"; margin-inline:8px; }
body.catalog-colorants :is(#natural,#synthetic) .catalog-group .color-range { width:100%; margin-top:16px; gap:7px; }
body.catalog-colorants :is(#natural,#synthetic) .catalog-group .range-track { height:6px; }
body.catalog-colorants :is(#natural,#synthetic) .catalog-group .range-caption { font-size:13px; line-height:1.45; }
body.catalog-colorants :is(#natural,#synthetic) .catalog-group .colorant-action,
body.catalog-colorants :is(#natural,#synthetic) .catalog-group .colorant-summary:hover .colorant-action {
 border:0; border-top:1px solid #e1e4e2; border-radius:0;
 background:transparent; padding:14px 0 0; margin:0; min-height:44px; box-shadow:none;
}
body.catalog-colorants :is(#natural,#synthetic) .catalog-group .variant-count { color:#62666d; font-size:15px; }
body.catalog-colorants :is(#natural,#synthetic) .catalog-group .details-label { font-size:15px; color:var(--red); }
body.catalog-colorants :is(#natural,#synthetic) .catalog-group .colorant-summary:hover .details-label { text-decoration:underline; text-underline-offset:4px; }
body.catalog-colorants :is(#natural,#synthetic) .catalog-group summary:focus-visible { outline:2px solid var(--red); outline-offset:6px; }
body.catalog-colorants :is(#natural,#synthetic) .catalog-group .variants-panel {
 margin-top:20px; padding:0; border:0; border-top:1px solid #e1e4e2;
 border-radius:0; background:#fff; box-shadow:none;
}
body.catalog-colorants :is(#natural,#synthetic) .catalog-group .variant-row { background:#fff; }
body.catalog-colorants :is(#natural,#synthetic) .catalog-group .colorant-grid { gap:36px; }
@media(max-width:1000px) {
 body.catalog-colorants :is(#natural,#synthetic) .catalog-group .colorant-summary { column-gap:26px; }
 body.catalog-colorants :is(#natural,#synthetic) .catalog-group h4 { font-size:32px; }
}
@media(max-width:760px) {
 body.catalog-colorants :is(#natural,#synthetic) .catalog-group .colorant-summary { grid-template-columns:minmax(0,1fr); grid-template-rows:auto auto auto; gap:20px; }
 body.catalog-colorants :is(#natural,#synthetic) .catalog-group .colorant-photo { height:auto; aspect-ratio:auto; grid-column:1; grid-row:1; }
 body.catalog-colorants :is(#natural,#synthetic) .catalog-group .colorant-main,
 body.catalog-colorants :is(#natural,#synthetic) .catalog-group article .colorant-main { grid-column:1; grid-row:2; padding:0; }
 body.catalog-colorants :is(#natural,#synthetic) .catalog-group .colorant-action { grid-column:1; grid-row:3; }
 body.catalog-colorants :is(#natural,#synthetic) .catalog-group h4 { font-size:30px; }
 body.catalog-colorants :is(#natural,#synthetic) .catalog-group .colorant-main p { font-size:16px; }
}

/* /brand-tagline.css */
/* Shared brand lockup; footer branding remains unchanged. */
body .site-header .brand {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:4px;
  flex-shrink:0;
}
body .site-header .brand .brand-tagline {
  display:block;
  margin:0;
  padding:0;
  color:#52565b;
  font-family:Arial,Helvetica,sans-serif;
  font-size:10px;
  font-weight:400;
  line-height:1.2;
  letter-spacing:0;
  text-transform:none;
  white-space:nowrap;
}
@media(max-width:1000px) {
  body .site-header .brand .brand-tagline { font-size:9px; }
}

/* /site-grid.css */
/* One content grid across product, industry and company pages. */
:root { --site-content-max:1400px; --site-gutter:50px; --site-content-width:min(var(--site-content-max),calc(100% - var(--site-gutter) * 2)); }
body .container,
body .site-header .header-inner,
body .catalog-hero-inner,
body .ingredients-hero-copy,
body .industry-hero-copy {
  width:var(--site-content-width) !important;
  max-width:var(--site-content-max) !important;
  margin-inline:auto !important;
  box-sizing:border-box;
}
body .site-header .header-inner { padding-inline:0 !important; }
body .catalog-hero-inner,
body .ingredients-hero-copy,
body .industry-hero-copy { padding-inline:0 !important; }
/* Account for the homepage hero's narrow outer frame. */
body .hero .hero-content {
  width:auto !important;
  max-width:none !important;
  margin-inline:0 !important;
  padding-left:max(calc(var(--site-gutter) - 16px),calc((100vw - var(--site-content-max)) / 2 - (100vw - 100%) / 2)) !important;
  padding-right:var(--site-gutter) !important;
}
body .company-intro-copy { padding-left:max(var(--site-gutter),calc((100vw - var(--site-content-max)) / 2)) !important; }
@media(max-width:760px) {
  body .hero .hero-content { padding-inline:38px !important; }
}

/* /product-links.css */
.product-catalog-entry { min-width:0; }
.product-page-link { display:inline-flex; align-items:center; gap:16px; margin-top:12px; padding:8px 0; color:#b1112b; font-size:16px; }
.product-page-link:hover { text-decoration:underline; }
.product-page-link:focus-visible { outline:2px solid currentColor; outline-offset:4px; }

/* /site-fonts.css */
/* Inter: compact Latin/Cyrillic files; complete WOFF2 fallback preserves other glyphs. */
@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url("/assets/inter-400.woff2") format("woff2");}
@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url("/assets/inter-400-common-v2.woff2") format("woff2");unicode-range:U+0020-00FF,U+0400-045F,U+2000-206F,U+20AC,U+2116,U+2190-2193,U+2212,U+2304,U+FFFD;}
@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url("/assets/inter-500.woff2") format("woff2");}
@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url("/assets/inter-500-common-v2.woff2") format("woff2");unicode-range:U+0020-00FF,U+0400-045F,U+2000-206F,U+20AC,U+2116,U+2190-2193,U+2212,U+2304,U+FFFD;}
@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url("/assets/inter-600.woff2") format("woff2");}
@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url("/assets/inter-600-common-v2.woff2") format("woff2");unicode-range:U+0020-00FF,U+0400-045F,U+2000-206F,U+20AC,U+2116,U+2190-2193,U+2212,U+2304,U+FFFD;}
@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url("/assets/inter-700.woff2") format("woff2");}
@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url("/assets/inter-700-common-v2.woff2") format("woff2");unicode-range:U+0020-00FF,U+0400-045F,U+2000-206F,U+20AC,U+2116,U+2190-2193,U+2212,U+2304,U+FFFD;}
body,body button,body input,body textarea,body select,body .site-header,body .site-header .brand .brand-tagline,body .product-selector{font-family:Inter,Arial,Helvetica,sans-serif;}

/* /product-hero-light.css */
/* Light treatment used only by the four primary product directions. */
body.catalog-colorants {
  --hero-image: url('assets/optimized/food-colours-red-amber-flows.jpg.webp');
}

.product-carousel .product {
  color: #2d2d2d;
}

.product-carousel .product::before,
body.catalog-colorants .catalog-hero::after,
body.catalog-flavors .catalog-hero::after,
body.catalog-stabilizing .catalog-hero::after,
.ingredients-hero::after {
  background: linear-gradient(
    90deg,
    rgba(255, 255, 255, .90) 0%,
    rgba(255, 255, 255, .70) 30%,
    rgba(255, 255, 255, .20) 55%,
    rgba(255, 255, 255, 0) 75%
  );
}

.product-carousel .product h3,
.product-carousel .product p,
body.catalog-colorants .catalog-hero,
body.catalog-flavors .catalog-hero,
body.catalog-stabilizing .catalog-hero,
body.catalog-colorants .catalog-hero h1,
body.catalog-flavors .catalog-hero h1,
body.catalog-stabilizing .catalog-hero h1,
body.catalog-colorants .catalog-hero .hero-lead,
body.catalog-flavors .catalog-hero .hero-lead,
body.catalog-stabilizing .catalog-hero .hero-lead,
body.catalog-colorants .catalog-hero .breadcrumbs,
body.catalog-flavors .catalog-hero .breadcrumbs,
body.catalog-stabilizing .catalog-hero .breadcrumbs,
.ingredients-hero,
.ingredients-hero h1,
.ingredients-hero p,
.ingredients-hero .ingredients-breadcrumbs {
  color: #2d2d2d;
  text-shadow: none;
}

body.catalog-colorants .catalog-hero .breadcrumbs span:not(:last-child)::after,
body.catalog-flavors .catalog-hero .breadcrumbs span:not(:last-child)::after,
body.catalog-stabilizing .catalog-hero .breadcrumbs span:not(:last-child)::after {
  color: #707476;
}

@media (max-width: 680px) {
  .product-carousel .product::before,
  body.catalog-flavors .catalog-hero::after,
  body.catalog-stabilizing .catalog-hero::after,
  .ingredients-hero::after {
    background: linear-gradient(
      90deg,
      rgba(255, 255, 255, .94) 0%,
      rgba(255, 255, 255, .82) 48%,
      rgba(255, 255, 255, .36) 78%,
      rgba(255, 255, 255, .12) 100%
    );
  }
}

/* The approved colourants artwork has a light text area built into the image. */
body.catalog-colorants .catalog-hero::after { content:none !important; background:none !important; }
.product-carousel .product.product-colorants::before { background:none !important; }

body.catalog-colorants .catalog-hero::before { background-position:72% center !important; }
@media (max-width:680px) {
  body.catalog-colorants .catalog-hero::before { background-position:25% center !important; }
  body.catalog-colorants .catalog-hero h1 { max-width:min(320px,56vw); }
  body.catalog-colorants .catalog-hero .hero-lead { max-width:min(340px,56vw); }
}
/* Homepage colourants slide: the artwork already has a light left text area. */
.product-carousel .product[href$="pishchevyye-krasiteli"]::before,
.product-carousel .product[href="colorants.html"]::before {
  content:none !important;
  background:none !important;
}
.product-carousel .product[href$="pishchevyye-krasiteli"] .photo img,
.product-carousel .product[href="colorants.html"] .photo img {
  object-position:18% center !important;
}
.product-carousel .product[href$="pishchevyye-krasiteli"] h3,
.product-carousel .product[href$="pishchevyye-krasiteli"] p,
.product-carousel .product[href="colorants.html"] h3,
.product-carousel .product[href="colorants.html"] p {
  max-width:440px;
}
@media(max-width:680px) {
  .product-carousel .product[href$="pishchevyye-krasiteli"] h3,
  .product-carousel .product[href$="pishchevyye-krasiteli"] p,
  .product-carousel .product[href="colorants.html"] h3,
  .product-carousel .product[href="colorants.html"] p {
    max-width:53vw;
  }
}
