@media (max-width: 760px) {
  :root {
    --mobile-page-gap: 10px;
    --mobile-page-pad: 14px;
    --mobile-card-pad: 14px;
    --mobile-touch: 44px;
  }

  html,
  body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }

  body {
    background-size: 140px 140px, 140px 140px, auto, auto, auto;
  }

  body::before {
    opacity: .28;
    background-size: 132px 132px, 132px 132px;
  }

  img,
  video,
  iframe,
  table {
    max-width: 100%;
  }

  input,
  select,
  textarea,
  button {
    font-size: 16px;
  }

  .page {
    width: 100%;
    margin: 0;
    border-left: 0;
    border-right: 0;
    border-radius: 0;
    box-shadow: none;
  }

  .top {
    padding: 14px var(--mobile-page-pad) 16px;
    border-radius: 0;
    gap: 14px;
  }

  .brand {
    width: 100%;
    flex-direction: row;
    align-items: center;
    gap: 12px;
  }

  .logo {
    width: 76px;
    height: 76px;
  }

  .brand-title {
    min-width: 0;
  }

  .brand-title h1 {
    font-size: clamp(28px, 10vw, 40px);
    line-height: 1.05;
    white-space: normal;
  }

  .brand-title p {
    margin-top: 4px;
    font-size: clamp(16px, 5vw, 21px);
    line-height: 1.2;
    white-space: normal;
  }

  .header-right {
    align-items: stretch;
    gap: 10px;
  }

  .auth-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    justify-content: stretch;
  }

  .login-btn,
  .auth-btn,
  .show-btn,
  .pc-search button,
  .pd2-search-form button,
  .pd-search-form button,
  .orders-search button {
    min-height: var(--mobile-touch);
    width: 100%;
    padding: 11px 12px;
    font-size: 15px;
    line-height: 1.2;
    white-space: normal;
  }

  .login-btn .material-symbols-outlined {
    font-size: 19px;
  }

  .support {
    font-size: 14px;
    line-height: 1.35;
    overflow-wrap: anywhere;
  }

  .search,
  .pc-search,
  .orders-search,
  .pd-search-form,
  .pd-album-form,
  .pd2-search-form,
  .pd2-album-form {
    width: 100%;
  }

  .search input,
  .pc-search input,
  .orders-search input,
  .pd-search-form input,
  .pd-album-form select,
  .pd2-search-form input,
  .pd2-album-form select {
    width: 100%;
    min-width: 0;
    height: var(--mobile-touch);
  }

  .nav {
    padding: 0;
    overflow: hidden;
  }

  .menu,
  .pc-tabs,
  .pd-tabs,
  .pd2-tabs,
  .orders-tabs {
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .menu {
    padding: 10px var(--mobile-page-pad);
  }

  .menu::-webkit-scrollbar,
  .pc-tabs::-webkit-scrollbar,
  .pd-tabs::-webkit-scrollbar,
  .pd2-tabs::-webkit-scrollbar,
  .orders-tabs::-webkit-scrollbar {
    display: none;
  }

  .menu-item {
    flex: 0 0 auto;
  }

  .menu-item > a,
  .pc-tab,
  .pd-tab,
  .pd2-tab,
  .orders-tab {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    border-radius: var(--radius-sm);
    white-space: nowrap;
  }

  .menu-item > a {
    padding: 10px 12px;
    font-size: 15px;
    background: rgba(255, 255, 255, .09);
  }

  .menu-item .dot {
    display: none;
  }

  .menu-dropdown,
  .cat-dropdown {
    display: none;
  }

  .content {
    display: flex;
    flex-direction: column;
    min-height: 0;
  }

  .main {
    order: 1;
    padding: 18px var(--mobile-page-pad) 28px;
  }

  .sidebar {
    order: 2;
    padding: 18px var(--mobile-page-pad) 24px;
    border-right: 0;
    border-top: 1px solid rgba(143, 113, 80, .12);
  }

  .sidebar h2,
  .main h2,
  .forum-title,
  .polls-title,
  .news-title,
  .section-title {
    font-size: 22px;
    line-height: 1.15;
  }

  .cat-list > li {
    padding: 12px 0;
  }

  .cat-main,
  .cat-label {
    min-width: 0;
  }

  .side-section {
    margin-top: 22px;
    padding-top: 18px;
  }

  .cards-row,
  .cards-grid,
  .top-picks,
  .pc-list,
  .pd-products,
  .pd2-products,
  .orders-list,
  .bm-list,
  .profile-purchases-list {
    gap: 14px;
    margin-bottom: 22px;
  }

  .cards-row,
  .cards-grid,
  .pc-products {
    grid-template-columns: 1fr;
  }

  .top-picks {
    display: grid;
    grid-template-columns: 1fr;
  }

  .top-picks .product-card,
  .product-card {
    width: 100%;
    padding: var(--mobile-card-pad);
  }

  .thumb,
  .thumb.small {
    height: auto;
    aspect-ratio: 4 / 3;
    margin-bottom: 12px;
  }

  .title,
  .purchase-home-title {
    min-height: 0;
    font-size: 16px;
  }

  .show-all-wrap {
    margin: 18px 0 8px;
  }

  .footer {
    margin-top: 0;
    padding: 18px var(--mobile-page-pad) 22px;
    border-radius: 0;
    gap: 12px;
  }

  .footer-left {
    display: grid;
    gap: 8px;
  }

  .footer a {
    margin-right: 0;
  }

  .to-top {
    right: 14px;
    bottom: 14px;
    width: 38px;
    height: 38px;
    font-size: 20px;
  }

  .toast-container {
    left: 10px;
    right: 10px;
    bottom: 12px;
    transform: none;
  }

  .toast {
    min-width: 0;
    max-width: none;
    width: 100%;
  }

  .auth-shell,
  .profile-shell,
  .profile-page {
    max-width: none;
  }

  .auth-card,
  .profile-card,
  .profile-section,
  .profile-side-card,
  .pc-card,
  .pd-organizer-card,
  .pd-status-card,
  .pd-side-box,
  .pd-product-card,
  .pd2-product-card,
  .pd2-side-card,
  .pd2-empty,
  .prd-block,
  .prd-side-card,
  .bm-card,
  .bm-empty,
  .order-card,
  .order-info-card,
  .order-items-card,
  .orders-empty {
    padding: var(--mobile-card-pad);
    border-radius: var(--radius-md);
  }

  .auth-title,
  .pc-title,
  .pd-title,
  .pd2-title,
  .prd-title,
  .profile-name,
  .bm-title,
  .orders-title,
  .order-detail-title {
    font-size: clamp(26px, 8vw, 30px);
    line-height: 1.12;
  }

  .auth-subtitle,
  .pc-card-description,
  .pd-description,
  .pd2-description,
  .prd-description,
  .profile-description,
  .bm-subtitle,
  .orders-summary {
    font-size: 15px;
    line-height: 1.6;
  }

  .auth-grid,
  .profile-layout,
  .profile-header,
  .profile-content,
  .profile-edit-grid,
  .avatar-upload-layout,
  .pc-products,
  .pd-top,
  .pd-product-main,
  .pd2-layout,
  .pd2-product-main,
  .prd-top,
  .prd-top-grid,
  .order-detail-top,
  .order-detail-top-top {
    grid-template-columns: 1fr;
  }

  .auth-actions,
  .auth-form,
  .profile-actions,
  .profile-edit-actions,
  .avatar-upload-actions,
  .order-success-actions,
  .order-modal-footer {
    align-items: stretch;
  }

  .auth-actions > *,
  .profile-actions > *,
  .profile-edit-actions > *,
  .avatar-upload-actions > *,
  .order-success-actions > *,
  .order-modal-footer > * {
    width: 100%;
  }

  .pc-header,
  .pc-card-head,
  .pd2-topbar,
  .orders-header,
  .bm-header,
  .order-detail-head,
  .order-items-head {
    flex-direction: column;
    align-items: stretch;
  }

  .pc-card-title a,
  .pd-product-title,
  .pd2-product-title,
  .prd-block-title,
  .bm-card-title,
  .profile-section-title,
  .order-info-card-title,
  .order-items-title,
  .orders-empty-title {
    font-size: clamp(21px, 6.4vw, 25px);
  }

  .pc-card-organizer,
  .pd-organizer,
  .pd2-organizer,
  .prd-organizer {
    min-width: 0;
    width: 100%;
  }

  .pc-footer,
  .pc-footer-left {
    align-items: stretch;
    flex-direction: column;
  }

  .pc-progress,
  .pd-progress,
  .pd2-progress,
  .prd-progress,
  .bm-progress,
  .profile-purchase-progress {
    width: 100%;
    max-width: none;
  }

  .pc-link,
  .pd2-bookmark-btn,
  .pd2-order-btn,
  .pd-order-btn,
  .prd-btn,
  .bm-open-btn,
  .bm-remove-btn,
  .profile-edit-btn,
  .profile-secondary-btn,
  .profile-danger-btn {
    width: 100%;
    min-height: var(--mobile-touch);
  }

  .pd-product-photo,
  .pd2-product-photo,
  .profile-purchase-cover,
  .bm-card-cover {
    width: 100%;
    height: auto;
    min-height: 0;
    aspect-ratio: 4 / 3;
  }

  .pd-product-buy,
  .pd2-product-buy,
  .order-card-right {
    align-items: stretch;
  }

  .pd-product-price,
  .pd2-product-price,
  .prd-price,
  .order-sum {
    font-size: 24px;
    text-align: left;
  }

  .pd-rows-wrap,
  .pd2-rows-wrap,
  .prd-rows-wrap,
  .order-items-table-wrap {
    overflow-x: auto;
    margin-inline: calc(var(--mobile-card-pad) * -1);
    padding-inline: var(--mobile-card-pad);
    -webkit-overflow-scrolling: touch;
  }

  .pd-rows-table,
  .pd2-rows-table,
  .prd-rows-table,
  .order-items-table {
    min-width: 620px;
  }

  .prd-back,
  .prd-nav-links {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .prd-main-image {
    aspect-ratio: 1 / 1;
  }

  .prd-thumbs {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 2px;
  }

  .prd-thumb {
    flex: 0 0 68px;
    width: 68px;
    height: 68px;
  }

  .prd-lightbox-dialog {
    grid-template-columns: 44px minmax(0, 1fr) 44px;
    padding: 12px;
    gap: 8px;
  }

  .prd-lightbox-thumbs {
    justify-content: flex-start;
    flex-wrap: nowrap;
    overflow-x: auto;
    padding: 0 6px 4px;
  }

  .profile-header,
  .profile-content {
    padding: 0;
  }

  .profile-avatar,
  .profile-avatar-placeholder {
    width: 150px;
    height: 150px;
    border-radius: 16px;
  }

  .profile-name-row,
  .profile-head-main {
    justify-content: center;
    align-items: center;
    text-align: center;
  }

  .profile-purchase-card,
  .bm-card,
  .order-card {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .profile-purchase-top,
  .bm-card-top {
    flex-direction: column;
    align-items: flex-start;
  }

  .bm-card-actions,
  .order-card-right {
    min-width: 0;
  }

  .order-preview {
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
  }

  .order-meta-products {
    overflow-x: auto;
    padding-bottom: 4px;
  }

  .order-info-row,
  .order-info-row--stack,
  .order-info-delivery-row {
    flex-direction: column;
    gap: 5px;
  }

  .order-detail-status {
    width: 100%;
    border-radius: var(--radius-md);
  }

  .order-modal {
    align-items: stretch;
    padding: 8px;
  }

  .order-modal-dialog,
  .order-success-dialog {
    width: 100%;
    max-height: calc(100dvh - 16px);
    padding: 14px;
  }

  .order-modal-head {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 10px;
  }

  .order-modal-product {
    grid-column: 1 / -1;
  }

  .order-modal-close {
    grid-column: 2;
    grid-row: 1;
  }

  .order-modal-thumb {
    width: 76px;
    height: 76px;
    flex-basis: 76px;
  }

  .order-modal-title,
  .order-success-title {
    font-size: 22px;
  }

  .order-modal-section,
  .order-modal-summary {
    padding: 12px 0;
  }

  .order-modal-summary {
    overflow-x: auto;
  }

  .order-modal-summary-table {
    min-width: 520px;
  }

  .order-modal-summary-total {
    position: sticky;
    left: 0;
  }

  .profile-modal-dialog {
    width: calc(100% - 16px);
    max-height: calc(100dvh - 24px);
    overflow-y: auto;
    margin: 12px auto;
  }
}

@media (max-width: 420px) {
  .auth-actions {
    grid-template-columns: 1fr;
  }

  .brand {
    align-items: flex-start;
  }

  .logo {
    width: 62px;
    height: 62px;
  }

  .main,
  .sidebar,
  .top,
  .footer {
    --mobile-page-pad: 12px;
  }

  .pc-card-title a,
  .pd-product-title,
  .pd2-product-title,
  .bm-card-title,
  .order-purchase-title,
  .order-number {
    font-size: 21px;
  }
}
