.procurement { --procurement-line: rgb(from var(--clr-black) r g b / 14%); }
.procurement__filters { margin-top: clamp(1.5rem, 2vw, 2.5rem); }
.procurement__filter-list { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0; padding: 0; list-style: none; }
.procurement__filters button { padding: .55rem .875rem; border: .0625rem solid rgb(from var(--clr-black) r g b / 18%); border-radius: var(--border-radius-full); background: transparent; color: inherit; font: inherit; font-size: var(--fs-body-sm); cursor: pointer; transition: background var(--t-fast) ease, color var(--t-fast) ease, border-color var(--t-fast) ease; }
.procurement__filters button:hover, .procurement__filters button.is-active { border-color: var(--clr-primary); background: var(--clr-primary); color: var(--color-basic-white); }
.procurement__stage { position: relative; height: min(68vh, 45rem); margin-top: clamp(2rem, 3vw, 3.5rem); overflow: hidden; }
.procurement__reel { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 1.25vw, 2rem); height: 100%; }
.procurement__column { position: relative; overflow: hidden; }
.procurement__track { display: flex; flex-direction: column; gap: clamp(1rem, 1.25vw, 2rem); animation: procurement-scroll var(--procurement-duration, 76s) linear infinite; }
.procurement__column:nth-child(2) .procurement__track { animation-direction: reverse; }
.procurement__column:hover .procurement__track, .procurement.is-paused .procurement__track { animation-play-state: paused; }
@keyframes procurement-scroll { to { transform: translateY(-50%); } }
.procurement__items { display: flex; flex-direction: column; gap: clamp(1rem, 1.25vw, 2rem); padding-bottom: clamp(1rem, 1.25vw, 2rem); }
.procurement__pagination { display: flex; align-items: center; justify-content: center; gap: .45rem; margin: clamp(2rem, 3vw, 3.5rem) 0 clamp(1rem, 2vw, 2rem); }
.procurement__pagination button { display: grid; width: 2.8rem; height: 2.8rem; place-items: center; padding: 0; border: .0625rem solid rgb(from var(--clr-black) r g b / 18%); border-radius: var(--border-radius-full); background: transparent; color: inherit; font: inherit; font-size: var(--fs-body-sm); cursor: pointer; transition: background var(--t-fast) ease, color var(--t-fast) ease, border-color var(--t-fast) ease; }
.procurement__pagination button:hover, .procurement__pagination button.is-active { border-color: var(--clr-primary); background: var(--clr-primary); color: var(--color-basic-white); }
.procurement__pagination button:disabled { opacity: .3; cursor: default; }
.procurement__pagination button:disabled:hover { border-color: rgb(from var(--clr-black) r g b / 18%); background: transparent; color: inherit; }
.procurement__pagination-gap { width: 1.25rem; color: rgb(from var(--clr-black) r g b / 52%); text-align: center; }
.procurement__stage .procurement-card { display: block; width: 100%; padding: 0; overflow: hidden; border: .0625rem solid rgb(from var(--clr-black) r g b / 12%); border-radius: var(--border-radius-default); background: var(--clr-light-beige); color: var(--clr-black); text-align: left; text-decoration: none; cursor: pointer; transition: background var(--t-fast) ease, border-color var(--t-fast) ease; }
.procurement-card:hover { border-color: rgb(from var(--clr-primary) r g b / 55%); background: var(--clr-beige); }
.procurement-card__body { display: block; min-height: 15.5rem; padding: clamp(1.1rem, 1.5vw, 1.65rem); }
.procurement-card__meta { display: flex; align-items: center; justify-content: space-between; gap: 1rem; color: rgb(from var(--clr-black) r g b / 52%); font-size: .7rem; letter-spacing: .08em; line-height: 1.2; text-transform: uppercase; }
.procurement-card__meta span:first-child::before { display: inline-block; width: .45rem; height: .45rem; margin: 0 .5rem .05rem 0; border-radius: 50%; background: var(--clr-primary); content: ""; }
.procurement-card h3 { display: -webkit-box; margin: 1.25rem 0 0; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; font-family: var(--ff-title); font-size: var(--fs-m); line-height: 1; }
.procurement-card__ru { display: block; min-height: 1.3em; margin-top: .45rem; overflow: hidden; color: rgb(from var(--clr-black) r g b / 56%); font-size: var(--fs-body-sm); line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.procurement-card__details { display: flex; align-items: center; gap: .55rem; margin-top: 1rem; overflow: hidden; color: rgb(from var(--clr-black) r g b / 58%); font-size: var(--fs-body-sm); line-height: 1.25; white-space: nowrap; }
.procurement-card__details span { overflow: hidden; text-overflow: ellipsis; }
.procurement-card__details i { width: .22rem; height: .22rem; flex: 0 0 auto; border-radius: 50%; background: currentColor; }
.procurement-card__products { display: -webkit-box; min-height: 3.75em; margin-top: 1rem; overflow: hidden; color: rgb(from var(--clr-black) r g b / 68%); -webkit-box-orient: vertical; -webkit-line-clamp: 3; font-size: var(--fs-body-sm); line-height: 1.25; }
.procurement-card__footer { display: flex; justify-content: space-between; margin-top: 1rem; padding-top: .85rem; border-top: .0625rem solid rgb(from var(--clr-black) r g b / 12%); color: rgb(from var(--clr-black) r g b / 52%); font-size: var(--fs-body-sm); line-height: 1.25; }
.procurement-card__footer span:last-child { color: var(--clr-primary); }
.procurement-dialog { width: min(54rem, calc(100% - 2rem)); max-height: min(49rem, calc(100vh - 2rem)); padding: 0; border: 0; background: transparent; color: var(--clr-black); }
.procurement-dialog::backdrop { background: rgb(from var(--clr-black) r g b / 68%); }
.procurement-dialog.is-open { position: fixed; z-index: 1000; inset: 1rem; width: auto; max-width: 76rem; margin: auto; }
.procurement-dialog.is-open::before { position: fixed; z-index: -1; inset: 0; background: rgb(from var(--clr-black) r g b / 68%); content: ""; }
.procurement-dialog__surface { position: relative; max-height: inherit; overflow: auto; background: var(--clr-light-beige); border-radius: var(--border-radius-default); }
.procurement-dialog__close { position: absolute; z-index: 2; top: 1.25rem; right: 1.25rem; display: grid; width: 3rem; height: 3rem; place-items: center; border: 0; border-radius: var(--border-radius-full); background: var(--clr-off-white); color: var(--clr-black); font-size: 2rem; line-height: 1; cursor: pointer; transition: background var(--t-fast) ease, color var(--t-fast) ease; }
.procurement-dialog__close:hover { background: var(--clr-primary); color: var(--color-basic-white); }
.procurement-dialog__content { padding: clamp(2.5rem, 5vw, 5rem); }
.procurement-dialog__label { margin: 0 0 1rem; color: var(--clr-primary); font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.procurement-dialog h2 { max-width: 22ch; margin: 0; font-size: var(--fs-xl); line-height: 1; }
.procurement-dialog__russian { margin: .75rem 0 2rem; color: rgb(from var(--clr-black) r g b / 58%); font-size: var(--fs-body); line-height: 1.35; }
.procurement-dialog__facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin: 0 0 2rem; padding: 1px; background: rgb(from var(--clr-black) r g b / 12%); }
.procurement-dialog__facts div { min-width: 0; padding: 1rem; background: var(--clr-beige); }
.procurement-dialog__facts dt { margin-bottom: .45rem; color: rgb(from var(--clr-black) r g b / 55%); font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; }
.procurement-dialog__facts dd { overflow-wrap: anywhere; margin: 0; font-size: var(--fs-body-sm); line-height: 1.35; }
.procurement-dialog section + section { margin-top: 1.7rem; }
.procurement-dialog h3 { margin: 0; padding-bottom: .75rem; border-bottom: .0625rem solid rgb(from var(--clr-black) r g b / 14%); font-size: var(--fs-body-sm); }
.procurement-dialog section p { margin: .85rem 0 0; color: rgb(from var(--clr-black) r g b / 68%); font-size: var(--fs-body); line-height: 1.55; }
@media (max-width: 800px) { .procurement__reel { grid-template-columns: repeat(2, minmax(0, 1fr)); } .procurement__column:nth-child(3) { display: none; } }
@media (max-width: 720px) { .procurement-dialog__content { padding: 4rem 1.5rem 2rem; } .procurement-dialog__facts { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .procurement__stage { height: 36rem; } .procurement__reel { grid-template-columns: 1fr; } .procurement__column:nth-child(2) { display: none; } .procurement-dialog__close { top: .75rem; right: .75rem; width: 2.6rem; height: 2.6rem; } }
.procurement-dialog + .footer { display: none; }
@media (prefers-reduced-motion: reduce) { .procurement__track { animation: none; } }
