/* Arctic Store - Home Collections v0.3
   Standalone homepage stylesheet. The 16-card PageBuilder CMS block remains untouched.
   Intended for Magento_Cms::css/ with cms_index_index layout.
   Legacy block CSS is inline and may load after this stylesheet;
   homepage-scoped specificity below deliberately wins without !important.
 */
body.cms-index-index .category-title {
    margin: 34px auto 12px;
    padding: 0;
    border: 0;
    color: #252321;
    font-family: inherit;
    font-size: clamp(20px, 2.2vw, 29px);
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: .07em;
    text-align: center;
    text-transform: uppercase;
}
body.cms-index-index .category-subtitle {
    max-width: 680px;
    margin: 0 auto 28px;
    color: #77726b;
    font-family: inherit;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.55;
    text-align: center;
}
body.cms-index-index .custom-category-grid {
    display: grid;
    width: 100%;
    max-width: 1200px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    column-gap: 26px;
    row-gap: 42px;
    align-items: start;
    margin: 0 auto;
    padding: 12px 0 48px;
}
body.cms-index-index .custom-category-grid > .category-item {
    position: relative;
    z-index: 0;
    min-width: 0;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    transform: none;
    transition: none;
}
body.cms-index-index .custom-category-grid > .category-item > a {
    display: block;
    min-width: 0;
    color: #2c2925;
    text-decoration: none;
}
body.cms-index-index .custom-category-grid > .category-item > a:visited {
    color: #2c2925;
}
body.cms-index-index .custom-category-grid > .category-item > a > img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    object-position: center;
    box-sizing: border-box;
    border: 1px solid #c5b387;
    border-radius: 0;
    background: #f5f3ee;
    box-shadow: none;
    filter: none;
    opacity: 1;
    transform: none;
    transition: border-color .28s ease, box-shadow .28s ease;
}
/* The label is in normal flow AFTER the image. Long browser translations
   extend down into white space, never across the photograph. */
body.cms-index-index .custom-category-grid > .category-item > a > .category-hover {
    position: static;
    inset: auto;
    left: auto;
    bottom: auto;
    right: auto;
    top: auto;
    display: block;
    width: 100%;
    max-width: none;
    height: auto;
    min-height: 0;
    box-sizing: border-box;
    margin: 0;
    padding: 14px 6px 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: #292623;
    font-family: inherit;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.43;
    letter-spacing: .01em;
    text-align: center;
    text-decoration: none;
    text-shadow: none;
    text-transform: none;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: normal;
    opacity: 1;
    visibility: visible;
    transform: none;
    transition: color .25s ease;
}
body.cms-index-index .custom-category-grid > .category-item > a > .category-hover::before {
    content: none;
    display: none;
}
body.cms-index-index .custom-category-grid > .category-item > a > .category-hover::after {
    content: "";
    display: block;
    width: 40px;
    height: 1px;
    margin: 11px auto 0;
    background: #b59a60;
    transition: width .28s ease, background .28s ease;
}
body.cms-index-index .custom-category-grid > .category-item:hover > a > img,
body.cms-index-index .custom-category-grid > .category-item:focus-within > a > img {
    transform: none;
    filter: none;
    opacity: 1;
}
body.cms-index-index .custom-category-grid > .category-item:hover > a > .category-hover,
body.cms-index-index .custom-category-grid > .category-item:focus-within > a > .category-hover {
    position: static;
    bottom: auto;
    left: auto;
    background: transparent;
    color: #8c6a2b;
    transform: none;
}
body.cms-index-index .custom-category-grid > .category-item > a:focus-visible {
    outline: 2px solid #a58748;
    outline-offset: 4px;
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
    body.cms-index-index .custom-category-grid > .category-item {
        transition: transform .32s cubic-bezier(.22,.61,.36,1);
    }
    body.cms-index-index .custom-category-grid > .category-item:hover {
        z-index: 4;
        transform: scale(1.05);
        box-shadow: none;
    }
    body.cms-index-index .custom-category-grid > .category-item:hover > a > img {
        border-color: #b18a45;
        box-shadow: 0 9px 22px rgba(36,30,19,.12);
    }
    body.cms-index-index .custom-category-grid > .category-item:hover > a > .category-hover::after {
        width: 64px;
        background: #a47c34;
    }
}
@media (max-width: 1024px) {
    body.cms-index-index .custom-category-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        column-gap: 19px;
        row-gap: 34px;
    }
}
@media (max-width: 768px) {
    body.cms-index-index .category-title {
        margin-top: 20px;
        font-size: 20px;
        letter-spacing: .04em;
    }
    body.cms-index-index .category-subtitle {
        font-size: 13px;
        margin-bottom: 18px;
    }
    body.cms-index-index .custom-category-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 12px;
        row-gap: 28px;
        padding: 9px 0 28px;
    }
    body.cms-index-index .custom-category-grid > .category-item > a > .category-hover {
        font-size: 13px;
        padding: 11px 2px 0;
        line-height: 1.45;
    }
    body.cms-index-index .custom-category-grid > .category-item > a > .category-hover::after {
        width: 34px;
        margin-top: 9px;
    }
}
@media (max-width: 359px) {
    body.cms-index-index .custom-category-grid {
        column-gap: 9px;
        row-gap: 26px;
    }
    body.cms-index-index .custom-category-grid > .category-item > a > .category-hover {
        font-size: 12px;
    }
}
@media (prefers-reduced-motion: reduce) {
    body.cms-index-index .custom-category-grid > .category-item,
    body.cms-index-index .custom-category-grid > .category-item > a > img,
    body.cms-index-index .custom-category-grid > .category-item > a > .category-hover,
    body.cms-index-index .custom-category-grid > .category-item > a > .category-hover::after {
        transition: none;
    }
    body.cms-index-index .custom-category-grid > .category-item:hover {
        transform: none;
    }
}
