Files
fabric_trade_user/src/assets/styles/responsive.css
T

341 lines
6.2 KiB
CSS
Raw Normal View History

/* Responsive breakpoints:
Mobile: < 768px
Tablet: 768px – 1199px
Desktop: >= 1200px
Large desktop: >= 1440px
*/
@media (min-width: 768px) {
:root {
--page-padding: var(--page-padding-tablet);
--nav-height: 0px;
}
html,
body {
overflow: auto;
height: auto;
}
#app {
height: 100dvh;
overflow: hidden;
}
* {
scrollbar-width: thin;
scrollbar-color: #cbd5e1 transparent;
}
*::-webkit-scrollbar {
width: 6px;
height: 6px;
display: block;
}
*::-webkit-scrollbar-thumb {
background: #cbd5e1;
border-radius: 999px;
}
.sticky-footer {
bottom: 0;
max-width: min(var(--content-max-width), calc(100% - 2 * var(--page-padding)));
}
.no-nav .sticky-footer {
bottom: 0;
}
/* Auth pages */
.auth-page__scroll {
display: flex;
flex-direction: column;
align-items: center;
2026-08-06 17:12:57 +03:30
justify-content: center;
padding-block: 48px;
}
.auth-header,
.auth-page .card,
.auth-footer {
width: 100%;
max-width: var(--form-max-width);
}
/* Company selection */
.company-select-page__list {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 20px;
align-content: start;
}
.company-brand-card {
min-height: 220px;
}
/* Catalog & product grids */
.catalog-list {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: var(--page-gap);
}
.product-list {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: var(--page-gap);
align-items: start;
}
.product-page__scroll {
padding-bottom: 88px;
}
/* Settlement & check mode */
.settlement-options,
.mode-options {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 20px;
max-width: 720px;
margin-inline: auto;
}
/* Company page container */
.company-select-page {
max-width: var(--content-max-width);
margin-inline: auto;
width: 100%;
padding-inline: var(--page-padding);
}
.company-select-page__header {
max-width: 560px;
margin-inline: auto;
}
/* Catalog & orders page containers */
.catalog-page .page__scroll,
.orders-page__scroll,
.product-page .product-page__scroll {
max-width: var(--content-max-width);
margin-inline: auto;
width: 100%;
}
/* Cart two-column layout */
.cart-page {
max-width: var(--content-max-width);
margin-inline: auto;
width: 100%;
padding-inline: var(--page-padding);
}
.cart-page__body {
display: grid;
grid-template-columns: minmax(0, 1fr) minmax(260px, 300px);
grid-template-rows: auto 1fr;
gap: 16px 20px;
align-items: start;
}
.cart-page__company {
grid-column: 1 / -1;
font-size: 0.9375rem;
margin-bottom: 0;
}
.cart-page__scroll {
grid-column: 1;
max-height: none;
overflow: visible;
}
.cart-page__footer {
grid-column: 2;
grid-row: 1 / -1;
position: sticky;
top: 16px;
margin: 0;
padding: 16px;
border-top: none;
box-shadow: var(--shadow-md);
border-radius: var(--radius-md);
border: 1px solid var(--color-border);
}
.cart-table__head {
position: static;
}
/* Check list */
.check-list-page {
max-width: var(--content-max-width);
margin-inline: auto;
width: 100%;
padding-inline: var(--page-padding);
}
.check-list-page__scroll {
max-width: var(--content-max-width);
margin-inline: auto;
width: 100%;
}
.summary-cards {
gap: 16px;
}
.checks-list {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 12px;
align-items: start;
}
.rass-panel {
max-width: 480px;
margin-inline: auto;
}
/* Profile */
.profile-page__scroll {
max-width: var(--content-max-width);
margin-inline: auto;
width: 100%;
}
.profile-menu {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 12px;
}
.profile-menu__item {
border-radius: var(--radius-md);
border: 1px solid var(--color-border);
background: var(--color-surface);
box-shadow: var(--shadow-sm);
}
/* Order detail & tracking */
.order-detail-page__body {
max-width: none;
margin-inline: 0;
width: 100%;
overflow-y: auto;
-webkit-overflow-scrolling: touch;
}
.order-detail-page__footer {
max-width: none;
margin-inline: 0;
width: 100%;
}
/* Checkout forms */
.checkout-page__scroll,
.cash-page__scroll,
.settlement-page__scroll,
.check-mode-page__scroll {
max-width: var(--form-max-width);
margin-inline: auto;
width: 100%;
}
/* Cash settlement desktop */
.cash-page {
max-width: var(--content-max-width);
margin-inline: auto;
width: 100%;
}
.cash-page__footer {
max-width: var(--form-max-width);
margin-inline: auto;
width: 100%;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 12px;
border-top: none;
box-shadow: none;
padding-top: 16px;
}
.accounts-panel {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 12px;
}
.bank-card + .bank-card {
margin-top: 0;
}
.cash-page__submit {
margin-top: 0;
}
.order-info-card {
max-width: 520px;
margin-inline: auto;
}
/* Profile edit */
.profile-edit-page .page__scroll {
max-width: var(--form-max-width);
margin-inline: auto;
width: 100%;
}
/* Success page */
.success-page__scroll {
display: flex;
flex-direction: column;
align-items: center;
max-width: var(--form-max-width);
margin-inline: auto;
width: 100%;
}
/* Dialogs */
.dialog-overlay .dialog,
.dialog-overlay .card.dialog {
max-width: 480px;
width: 100%;
}
.dialog-actions {
flex-direction: row;
justify-content: flex-end;
}
}
@media (min-width: 1200px) {
:root {
--page-padding: var(--page-padding-desktop);
}
.catalog-list {
grid-template-columns: repeat(3, minmax(0, 1fr));
}
.checks-list {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
}
@media (min-width: 1440px) {
.product-list {
grid-template-columns: repeat(3, minmax(0, 1fr));
}
}
@media (min-width: 1920px) {
:root {
--content-max-width: 1120px;
}
}