/*
Theme Name: Twenty Twenty-Three
Theme URI: https://wordpress.org/themes/twentytwentythree
Author: the WordPress team
Author URI: https://wordpress.org
Description: Twenty Twenty-Three is designed to take advantage of the new design tools introduced in WordPress 6.1. With a clean, blank base as a starting point, this default theme includes ten diverse style variations created by members of the WordPress community. Whether you want to build a complex or incredibly simple website, you can do it quickly and intuitively through the bundled styles or dive into creation and full customization yourself.
Requires at least: 6.1
Tested up to: 7.0
Requires PHP: 5.6
Version: 1.6
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html
Text Domain: twentytwentythree
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready, wide-blocks, block-styles, style-variations, accessibility-ready, blog, portfolio, news
*/


/* Zappos category menu */
.zappos-category-menu {
    list-style: none;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 0.9rem 1rem;
    width: 100%;
    max-width: var(--wp--style--global--wide-size);
    margin: 0 auto 2rem auto !important;
    padding: 0;
}
.wp-block-group.is-layout-constrained > .zappos-category-menu {
    margin-left: auto !important;
    margin-right: auto !important;
}
.zappos-category-menu li {
    list-style: none;
    margin: 0;
    padding: 0;
}
.zappos-category-menu > li {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.45rem;
    width: 100%;
}
.zappos-category-menu a {
    display: inline-flex;
    align-items: center;
    min-height: 2.35rem;
    padding: 0.42rem 0.82rem;
    border: 1px solid #cbd5e1;
    border-radius: 999px;
    background: #ffffff;
    color: #0f172a;
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
}
.zappos-category-menu > li > a {
    min-width: 6.5rem;
    justify-content: center;
    border-color: #0f172a;
    background: #0f172a;
    color: #ffffff;
    font-weight: 800;
}
.zappos-category-menu > .cat-item-23 > a {
    border-color: #1d4ed8;
    background: #2563eb;
}
.zappos-category-menu > .cat-item-22 > a {
    border-color: #be185d;
    background: #db2777;
}
.zappos-category-menu .children {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem;
    margin: 0;
    padding: 0;
}
.zappos-category-menu .children a {
    min-height: 2.1rem;
    padding: 0.34rem 0.72rem;
    border-color: #dbe3ea;
    background: #f8fafc;
    color: #334155;
    font-size: 0.84rem;
    font-weight: 600;
}
.zappos-category-menu a:hover,
.zappos-category-menu .current-cat > a,
.zappos-category-menu .current-cat-parent > a,
.zappos-category-menu .current-cat-ancestor > a {
    border-color: #020617;
    background: #020617;
    color: #ffffff;
}
body.category .zappos-category-menu > li:not(.current-cat):not(.current-cat-parent):not(.current-cat-ancestor) {
    display: none;
}
@media (max-width: 700px) {
    .zappos-category-menu {
        gap: 0.7rem;
    }
    .zappos-category-menu > li {
        align-items: flex-start;
    }
    .zappos-category-menu > li > a {
        min-width: 5.9rem;
    }
    .zappos-category-menu a {
        min-height: 2.18rem;
        padding: 0.38rem 0.7rem;
        font-size: 0.84rem;
    }
}

/* Zappos category labels on product cards */
.zappos-card-categories {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
    margin: -0.4rem 0 0.85rem;
    color: #64748b;
    font-size: 0.82rem;
    line-height: 1.2;
}
.zappos-card-categories .wp-block-post-terms__prefix {
    margin-right: 0.1rem;
    color: #64748b;
    font-weight: 600;
}
.zappos-card-categories .wp-block-post-terms__separator {
    display: none;
}
.zappos-card-categories a {
    display: inline-flex;
    align-items: center;
    min-height: 1.75rem;
    padding: 0.24rem 0.52rem;
    border: 1px solid #e2e8f0;
    border-radius: 999px;
    background: #f8fafc;
    color: #334155;
    font-size: 0.78rem;
    font-weight: 600;
    text-decoration: none;
}
.zappos-card-categories a:hover {
    border-color: #0f172a;
    background: #0f172a;
    color: #ffffff;
}

/* Zappos numbered pagination */
.zappos-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-top: 2.4rem;
}
.zappos-pagination .wp-block-query-pagination-numbers {
    display: inline-flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.35rem;
    margin: 0;
}
.zappos-pagination .page-numbers,
.zappos-pagination .wp-block-query-pagination-next {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2rem;
    color: #0f172a;
    font-size: 0.95rem;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
}
.zappos-pagination .page-numbers::before,
.zappos-pagination .wp-block-query-pagination-next::before {
    content: "[";
}
.zappos-pagination .page-numbers::after,
.zappos-pagination .wp-block-query-pagination-next::after {
    content: "]";
}
.zappos-pagination .page-numbers.current {
    color: #db2777;
}
.zappos-pagination a:hover {
    color: #2563eb;
    text-decoration: none;
}

/* Zappos product search under pagination */
.zappos-product-search {
    width: min(100%, 720px);
    margin: 1.4rem auto 0;
    padding: 1rem;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    background: #ffffff;
}
.zappos-product-search__row {
    display: flex;
    gap: 0.65rem;
    align-items: stretch;
}
.zappos-product-search__input {
    flex: 1;
    min-width: 0;
    padding: 0.85rem 1rem;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    color: #0f172a;
    font-size: 1rem;
    line-height: 1.2;
}
.zappos-product-search__input:focus {
    border-color: #2563eb;
    outline: 2px solid rgba(37, 99, 235, 0.18);
    outline-offset: 0;
}
.zappos-product-search__button {
    flex: 0 0 auto;
    padding: 0.85rem 1.25rem;
    border: 1px solid #0f172a;
    border-radius: 8px;
    background: #0f172a;
    color: #ffffff;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.2;
    cursor: pointer;
}
.zappos-product-search__button:hover,
.zappos-product-search__button:focus {
    background: #2563eb;
    border-color: #2563eb;
}
.zappos-product-search__hint {
    margin: 0.55rem 0 0;
    color: #64748b;
    font-size: 0.88rem;
}

@media (max-width: 600px) {
    .zappos-product-search {
        padding: 0.85rem;
    }
    .zappos-product-search__row {
        flex-direction: column;
    }
    .zappos-product-search__button {
        width: 100%;
    }
}

/* Zappos product grid */
.wp-block-query.alignwide {
    max-width: min(100%, 1180px);
}
.wp-block-post-template.is-layout-grid,
.wp-block-post-template.wp-block-post-template-is-layout-grid {
    gap: 1.15rem 1.1rem;
}
.wp-block-post-template .wp-block-post-featured-image,
.wp-block-post-template .wp-block-post-featured-image a,
.wp-block-post-template .wp-block-post-featured-image img {
    height: clamp(120px, 12vw, 210px) !important;
}
.wp-block-post-template .wp-block-post-featured-image {
    margin-bottom: 0.75rem;
    background: #ffffff;
}
.wp-block-post-template .wp-block-post-featured-image img {
    object-fit: contain !important;
    background: #ffffff;
}
@media (min-width: 960px) {
    .wp-block-post-template.is-layout-grid,
    .wp-block-post-template.wp-block-post-template-is-layout-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
}
@media (min-width: 601px) and (max-width: 959px) {
    .wp-block-post-template.is-layout-grid,
    .wp-block-post-template.wp-block-post-template-is-layout-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
    .wp-block-post-template .wp-block-post-featured-image,
    .wp-block-post-template .wp-block-post-featured-image a,
    .wp-block-post-template .wp-block-post-featured-image img {
        height: clamp(150px, 28vw, 230px) !important;
    }
}
@media (max-width: 600px) {
    .wp-block-post-template .wp-block-post-featured-image,
    .wp-block-post-template .wp-block-post-featured-image a,
    .wp-block-post-template .wp-block-post-featured-image img {
        height: clamp(170px, 55vw, 260px) !important;
    }
}

/* Zappos main title sizing */
body.home .wp-block-heading.alignwide {
    margin-bottom: 1.1rem !important;
    font-size: 22px !important;
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: 0;
}
.wp-block-post-template .wp-block-post-title {
    margin: 0 0 0.45rem;
    font-size: 22px !important;
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: 0;
}
.wp-block-post-template .wp-block-post-title a {
    color: inherit;
    text-decoration: none;
}
.wp-block-post-template .wp-block-post-title a:hover,
.wp-block-post-template .wp-block-post-title a:focus {
    text-decoration: underline;
    text-underline-offset: 0.16em;
}
@media (max-width: 600px) {
    body.home .wp-block-heading.alignwide {
        font-size: 22px !important;
        font-weight: 700;
    }
    .wp-block-post-template .wp-block-post-title {
        font-size: 22px !important;
        font-weight: 700;
    }
}
