.page-layout-1column {
    .page-title-wrapper {
        margin-bottom: 2rem;
        text-align: center;

        .page-title {
            font-size: 2.4rem;
            font-weight: 600;
            color: #333;
            margin: 0;
        }

        .toolbar-amount {
            color: #666;
            font-size: 1.4rem;
        }
    }

    .products {
        &.wrapper {
            margin: 0 -15px;

            .product-items {
                display: flex;
                flex-wrap: wrap;
                list-style: none;
                padding: 0;
                margin: 0;

                .product-item {
                    padding: 15px;
                    width: 100%;

                    @media (min-width: 768px) {
                        width: 50%;
                    }

                    @media (min-width: 1024px) {
                        width: 33.333%;
                    }

                    .product-item-info {
                        background: #fff;
                        border: 1px solid #e8e8e8;
                        border-radius: 4px;
                        padding: 15px;
                        transition: all 0.3s ease;

                        &:hover {
                            box-shadow: 0 2px 8px rgba(0,0,0,0.1);
                        }

                        .product-item-photo {
                            display: block;
                            margin-bottom: 15px;

                            img {
                                width: 100%;
                                height: auto;
                                border-radius: 4px;
                            }
                        }

                        .product-item-details {
                            .product-item-name {
                                margin: 0 0 10px;

                                a {
                                    color: #333;
                                    font-size: 1.6rem;
                                    text-decoration: none;

                                    &:hover {
                                        color: #000;
                                    }
                                }
                            }

                            .price-box {
                                margin-bottom: 15px;

                                .price {
                                    color: #333;
                                    font-size: 1.8rem;
                                    font-weight: 600;
                                }
                            }

                            .product-item-inner {
                                .product-item-actions {
                                    display: flex;
                                    justify-content: space-between;
                                    align-items: center;
                                    margin-top: 15px;

                                    .actions-primary {
                                        .action.tocart {
                                            background: #000;
                                            border: none;
                                            border-radius: 4px;
                                            color: #fff;
                                            font-size: 1.4rem;
                                            padding: 10px 20px;
                                            transition: all 0.3s ease;

                                            &:hover {
                                                background: #333;
                                            }
                                        }
                                    }

                                    .actions-secondary {
                                        .action {
                                            color: #666;
                                            font-size: 1.4rem;
                                            margin-left: 15px;
                                            text-decoration: none;

                                            &:hover {
                                                color: #000;
                                            }
                                        }
                                    }
                                }

                                .product-item-description {
                                    margin-top: 15px;
                                    font-size: 1.4rem;
                                    color: #666;

                                    .action.more {
                                        color: #000;
                                        font-weight: 600;
                                        margin-left: 10px;
                                        text-decoration: none;

                                        &:hover {
                                            text-decoration: underline;
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }

    .toolbar {
        margin-bottom: 2rem;

        .toolbar-sorter {
            .sorter-action {
                color: #666;
                font-size: 1.4rem;
                text-decoration: none;

                &:hover {
                    color: #000;
                }
            }
        }

        .modes {
            .modes-mode {
                color: #666;
                font-size: 1.4rem;
                margin-left: 10px;
                text-decoration: none;

                &.active {
                    color: #000;
                }

                &:hover {
                    color: #000;
                }
            }
        }
    }

    .message {
        &.info {
            background: #f8f8f8;
            border: 1px solid #e8e8e8;
            border-radius: 4px;
            padding: 15px;
            margin-bottom: 2rem;

            div {
                color: #666;
                font-size: 1.4rem;
            }
        }
    }
}

.message.notice {
    background-color: #f8f8f8;
    border: 1px solid #e3e3e3;
    border-radius: 4px;
    padding: 1rem;
    margin-bottom: 2rem;
    text-align: center;
    color: #666;
}

.search-results {
    padding: 2rem 0;

    &-header {
        margin-bottom: 2rem;
        text-align: center;
    }

    &-title {
        font-size: 2rem;
        margin-bottom: 1rem;
        color: var(--color-text);
    }

    &-count {
        font-size: 1.1rem;
        color: var(--color-text-light);
    }

    &-content {
        .product-items {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
            gap: 2rem;
            margin: 0;
            padding: 0;
            list-style: none;
        }

        .product-item {
            margin: 0;
            padding: 0;
            background: var(--color-white);
            border-radius: 8px;
            box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
            transition: transform 0.2s ease-in-out;

            &:hover {
                transform: translateY(-5px);
            }

            .product-item-info {
                padding: 1rem;
            }

            .product-item-photo {
                display: block;
                position: relative;
                padding-top: 100%;
                overflow: hidden;
                border-radius: 8px 8px 0 0;

                img {
                    position: absolute;
                    top: 0;
                    left: 0;
                    width: 100%;
                    height: 100%;
                    object-fit: cover;
                }
            }

            .product-item-details {
                padding: 1rem;
            }

            .product-item-link {
                color: var(--color-text);
                text-decoration: none;
                font-weight: 500;

                &:hover {
                    color: var(--color-primary);
                }
            }

            .price-box {
                margin: 0.5rem 0;
            }

            .price {
                color: var(--color-primary);
                font-weight: 600;
            }
        }
    }
}

.toolbar {
    margin-bottom: 2rem;
    padding: 1rem;
    background: var(--color-white);
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);

    .toolbar-amount {
        margin-bottom: 1rem;
    }

    .sorter {
        display: flex;
        align-items: center;
        gap: 1rem;
    }

    .modes {
        display: flex;
        gap: 0.5rem;
    }

    .limiter {
        display: flex;
        align-items: center;
        gap: 0.5rem;
    }
}

.pages {
    margin-top: 2rem;
    text-align: center;

    .items {
        display: flex;
        justify-content: center;
        gap: 0.5rem;
        list-style: none;
        padding: 0;
        margin: 0;
    }

    .item {
        a {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 2.5rem;
            height: 2.5rem;
            border-radius: 4px;
            background: var(--color-white);
            color: var(--color-text);
            text-decoration: none;
            transition: all 0.2s ease-in-out;

            &:hover {
                background: var(--color-primary);
                color: var(--color-white);
            }
        }

        &.current {
            a {
                background: var(--color-primary);
                color: var(--color-white);
            }
        }
    }
}
