/* 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; 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; } }