body { background: #f5f7fb; } .navbar { margin-bottom: 25px; position: sticky; top: 0; z-index: 1030; background-color: #ffffff; box-shadow: 0 1px 6px rgba(0, 0, 0, .08); } .card { border: 0; border-radius: 12px; box-shadow: 0 2px 8px rgba(0,0,0,.06); } .page-title { font-weight: 700; } .category-item { display: grid; gap: 1rem; } .category-edit-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1rem; align-items: end; } .category-fields { display: grid; grid-template-columns: 5rem minmax(0, 1fr); gap: .75rem; } .category-icon-input { text-align: center; } .category-actions button { white-space: nowrap; } .product-actions { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; gap: .5rem; margin-top: 1.5rem; align-items: stretch; } .list-check-button { width: 3.25rem; height: 3.25rem; padding: 0; font-size: 1.7rem; line-height: 1; flex-shrink: 0; } .shopping-list-item { position: relative; z-index: 1; cursor: pointer; transition: transform .2s ease; touch-action: pan-y; } .shopping-list-item:hover, .shopping-list-item:focus-visible { background-color: rgba(32, 107, 196, .06); outline: none; } .list-item-amount { margin-left: auto; flex-shrink: 0; } .shopping-list-swipe { position: relative; overflow: hidden; } .swipe-action { position: absolute; inset: 0; display: flex; align-items: center; width: 7rem; padding: 0 1rem; color: #fff; font-weight: 600; opacity: 0; transition: opacity .15s ease; gap: .4rem; } .shopping-list-swipe.is-swiping.swipe-left .swipe-action-check, .shopping-list-swipe.is-swiping.swipe-right .swipe-action-delete { opacity: 1; } .swipe-action-delete { left: 0; right: auto; justify-content: flex-start; background: #d63939; } .swipe-action-check { right: 0; left: auto; justify-content: flex-end; background: #2fb344; } .swipe-action-icon { font-size: 1.5rem; line-height: 1; } .product-actions form, .product-actions button, .product-actions a { width: 100%; } .product-actions a { display: inline-flex; align-items: center; justify-content: center; } .category-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; } .category-actions form, .category-actions button { width: 100%; } @media (max-width: 767.98px) { .category-item { padding: 1rem; } .category-edit-form, .category-fields { grid-template-columns: 1fr; } .category-edit-form { display: contents; } .product-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); } .product-actions a { grid-column: 1 / -1; } } .alert { animation: fadeIn .3s ease; } @keyframes fadeIn { from{ opacity:0; transform:translateY(-10px); } to{ opacity:1; transform:translateY(0); } }