/
merulaalba
/
RestoApp
Обзор
Документация
Войти
/
merulaalba
/
RestoApp
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
main
src/components/blocks/modal.css
243 строки
5 KB
merulaalba
Bug fixes
19 июл 2026, 16:36
19 июл 2026, 16:36
84230d2
Код
Авторство
О чём код?
.modal { margin-inline-start: max((100vw - 1024px - 64px) / 2, 32px); padding: 0; max-height: calc(100vh - 2 * var(--main-spacing)); color: var(--color-neutral-100); background-color: transparent; border: none; border-radius: var(--small-spacing); scrollbar-width: thin; scrollbar-color: var(--badge-active) transparent; overflow-y: hidden; overflow-x: visible; } .modal__wrapper { display: flex; align-items: flex-start; gap: var(--small-spacing); min-width: 1024px; } .modal__content-wrapper { width: 1024px; background-color: var(--color-neutral-800); border-radius: var(--small-spacing); height: fit-content; } .modal::backdrop { backdrop-filter: blur(10px); } .modal__close { align-self: flex-start; padding: 19px; background-color: var(--color-neutral-800); border: none; border-radius: var(--small-spacing); box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); z-index: 1; cursor: pointer; &:focus-visible { outline-offset: -2px; } &:hover svg { color: var(--badge-active); } } .modal__image-wrapper { position: sticky; top: 0; left: 0; } .modal__image, .modal__image-close { display: block; } .modal__image { width: 422px; } .modal__image-close { color: var(--color-neutral-400); } .modal__title { position: sticky; top: 0; font-size: 32px; line-height: 40px; background-color: var(--color-neutral-800); } .modal__text { font-size: var(--medium-text-size); line-height: var(--medium-line-height); } .modal__content { position: relative; margin-block: var(--main-spacing); padding-inline-start: var(--main-spacing); padding-inline-end: calc(var(--main-spacing) - 14px); min-width: 1024px; width: fit-content; max-height: calc(100vh - 4 * var(--main-spacing)); scrollbar-width: thin; scrollbar-color: var(--badge-active) transparent; overflow: auto; border-right: 4px solid transparent; &::-webkit-scrollbar { width: 6px; height: 6px; } &::-webkit-scrollbar-track { background: transparent; border-right: 4px solid transparent; } &::-webkit-scrollbar-button { display: none; width: 0; height: 0; } & scrollbar { display: none; width: 0; height: 0; } &::-webkit-scrollbar-thumb { background-color: var(--badge-active); border-radius: 2px; border-right: 4px solid transparent; } } .modal__image-wrapper { align-self: flex-start; border-radius: var(--small-spacing); overflow: hidden; } .modal__info { position: relative; display: flex; flex-direction: column; gap: var(--main-spacing); } .modal__info-title-wrapper { display: flex; flex-direction: column; gap: var(--smallest-spacing); } .modal__info-title { font-size: 32px; line-height: 40px; } .modal__info-weight { color: var(--color-neutral-400); } .modal__info-top { position: sticky; top: 0; left: 0; display: flex; flex-direction: column; gap: var(--small-spacing); background-color: var(--color-neutral-800); z-index: 300; } .modal__info-description { font-size: var(--medium-text-size); line-height: var(--medium-line-height); flex: 1; } .modal__form { display: flex; flex-direction: column; gap: var(--main-spacing); } .modal__sizes { display: flex; flex-direction: column; gap: var(--small-spacing); } .modal__sizes-title { font-size: var(--big-text-size); line-height: var(--big-line-height); } .modal__sizes-switcher { width: fit-content; display: flex; flex-wrap: wrap; gap: var(--tiny-spacing); padding: var(--tiny-spacing); background-color: var(--color-neutral-700); border-radius: 12px; } .modal::backdrop { backdrop-filter: blur(10px); } .modal__total-price-button { display: flex; justify-content: space-between; align-items: center; width: 100%; margin-block-start: auto; padding: var(--small-spacing) var(--medium-spacing); font-size: var(--medium-text-size); line-height: var(--medium-line-height); font-weight: 600; background-color: var(--badge-active); border: none; border-radius: var(--small-spacing); cursor: pointer; transition: all 0.2s ease-in-out; &:hover { color: var(--color-neutral-800); background-color: var(--color-neutral-100); } &:focus-visible { outline-offset: -1px; } } .modal__footer { position: sticky; bottom: 0; display: flex; padding-block-start: var(--main-spacing); background-color: var(--color-neutral-800); } .modal__my-modal { --image-container: 422px; --info-container: 506px; display: grid; grid-template-columns: var(--image-container) var(--info-container); gap: var(--main-spacing); }