/* =========================================================
   BlissV Theme
   EC-CUBE 4.3
   Wide / Responsive
========================================================= */

:root {

    --bv-text: #262d29;
    --bv-sub: #657069;

    --bv-accent: #264b40;
    --bv-accent-hover: #365c4e;

    --bv-bg: #ffffff;

    --bv-warm: #fbfaf7;
    --bv-soft: #f5f4ef;

    --bv-border: #e4e6df;

    --bv-width: 1440px;

    --bv-pad: clamp(18px, 3vw, 48px);

}


/* =========================================================
   Base
========================================================= */

html,
body {

    margin: 0;
    padding: 0;

}


body {

    color: var(--bv-text);

    background: var(--bv-bg);

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Noto Sans JP",
        "Yu Gothic",
        sans-serif;

    -webkit-font-smoothing: antialiased;

    -moz-osx-font-smoothing: grayscale;

}


a {

    color: inherit;

    transition:
        color .18s ease,
        background-color .18s ease,
        border-color .18s ease,
        opacity .18s ease;

}


a:hover {

    color: var(--bv-accent);

}


a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
summary:focus-visible {

    outline: 2px solid var(--bv-accent);

    outline-offset: 3px;

}


img {

    max-width: 100%;

    height: auto;

}


/* =========================================================
   Common Content Width
========================================================= */

.bv-container,
.ec-role,
.ec-shelfRole,
.ec-productRole,
.ec-cartRole,
.ec-mypageRole,
.ec-searchnavRole,
.ec-orderRole {

    box-sizing: border-box;

    width: 100%;

    max-width: var(--bv-width);

    margin-left: auto;
    margin-right: auto;

    padding-left: var(--bv-pad);
    padding-right: var(--bv-pad);

}


/* =========================================================
   EC-CUBE Layout
========================================================= */

.ec-layoutRole {

    width: 100%;

    max-width: none;

}


.ec-layoutRole__contents {

    width: 100%;

    max-width: var(--bv-width);

    margin-left: auto;
    margin-right: auto;

}


.ec-layoutRole .ec-layoutRole__contents {

    max-width: var(--bv-width);

}


.bv-home .ec-layoutRole__contents,
.bv-home .ec-layoutRole .ec-layoutRole__contents {

    max-width: none;

}


.ec-layoutRole__main {

    min-width: 0;

}


.ec-layoutRole__header {

    position: relative;

    width: 100%;

    background: #fff;

    overflow: visible;

}


/* =========================================================
   Utility Header
========================================================= */

.bv-utility {

    position: relative;

    width: 100%;

    padding-top: 12px;
    padding-bottom: 12px;

    background: #fff;

    overflow: visible !important;

}


.bv-utility .ec-headerNaviRole {

    box-sizing: border-box;

    width: 100%;

    max-width: var(--bv-width);

    margin-left: auto;
    margin-right: auto;

    padding-left: var(--bv-pad);
    padding-right: var(--bv-pad);

    overflow: visible !important;

}


.bv-utility .ec-headerNaviRole__left,
.bv-utility .ec-headerNaviRole__right {

    align-items: center;

    overflow: visible !important;

}


.bv-utility .ec-headerNaviRole__search {

    max-width: 340px;

    margin-top: 0;

    overflow: visible !important;

}


/* =========================================================
   Brand
========================================================= */

.bv-brand {

    box-sizing: border-box;

    width: 100%;

    padding:
        24px
        var(--bv-pad)
        30px;

    background: #fff;

    text-align: center;

}


.bv-brand a {

    display: inline-flex;

    flex-direction: column;

    gap: 14px;

    text-decoration: none;

}


.bv-wordmark {

    color: var(--bv-accent);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 52px;

    font-weight: 400;

    line-height: 1.1;

    letter-spacing: .035em;

}


.bv-tagline {

    color: var(--bv-sub);

    font-size: 11px;

    font-weight: 400;

    letter-spacing: .22em;

}


/* =========================================================
   Custom Header Search
========================================================= */

.bv-search {

    position: relative;

    z-index: 6000;

    overflow: visible !important;

}


.bv-search__form {

    display: flex;

    align-items: stretch;

    margin: 0;

    padding: 0;

    overflow: visible !important;

}


/* ---------------------------------------------------------
   Search Category
--------------------------------------------------------- */

.bv-searchCategory {

    position: relative;

    width: 145px;

    flex: 0 0 145px;

    margin: 0;

    padding: 0;

    overflow: visible !important;

}


.bv-searchCategory__toggle {

    box-sizing: border-box;

    width: 145px;

    height: 40px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    margin: 0;

    padding: 0 12px;

    color: #222;

    background: var(--bv-soft);

    border: 1px solid #d2d2cc;

    border-radius: 0;

    box-shadow: none;

    font-size: 13px;

    font-weight: 500;

    line-height: 1;

    cursor: pointer;

    list-style: none;

}


.bv-searchCategory__toggle::-webkit-details-marker {

    display: none;

}


.bv-searchCategory__toggle::marker {

    content: "";

}


.bv-searchCategory__toggle:hover {

    background: #efefeb;

}


/* Search arrow */

.bv-searchCategory__arrow {

    width: 7px;

    height: 7px;

    flex: 0 0 7px;

    margin-top: -4px;

    margin-left: 12px;

    border-right: 1px solid #555;

    border-bottom: 1px solid #555;

    transform: rotate(45deg);

    transition: transform .15s ease;

}


.bv-searchCategory[open]
.bv-searchCategory__arrow {

    margin-top: 4px;

    transform: rotate(225deg);

}


/* Search dropdown */

.bv-searchCategory__menu {

    position: absolute;

    top: 40px;

    left: 0;

    z-index: 9999;

    width: 220px;

    background: #fff;

    border: 1px solid #d2d2cc;

    border-top: 0;

    border-radius: 0;

    box-shadow:
        0 8px 20px
        rgba(38, 45, 41, .08);

}


.bv-searchCategory__menu ul {

    margin: 0;

    padding: 5px 0;

    list-style: none;

}


.bv-searchCategory__menu li {

    margin: 0;

    padding: 0;

    list-style: none;

}


.bv-searchCategory__item {

    box-sizing: border-box;

    display: block;

    width: 100%;

    padding:
        8px
        14px
        8px
        calc(
            14px +
            (
                var(
                    --bv-category-level,
                    0
                ) * 18px
            )
        );

    color: #262626;

    background: #fff;

    border: 0;

    border-radius: 0;

    font-size: 13px;

    line-height: 1.4;

    text-align: left;

    text-decoration: none;

}


.bv-searchCategory__item:hover {

    color: var(--bv-accent);

    background: var(--bv-soft);

    text-decoration: none;

}


/* ---------------------------------------------------------
   Search Keyword
--------------------------------------------------------- */

.bv-searchKeyword {

    width: 190px;

}


.bv-searchKeyword__input {

    box-sizing: border-box;

    width: 190px !important;

    height: 40px !important;

    margin: 0 !important;

    padding: 0 13px !important;

    color: #222 !important;

    background: #fff !important;

    border-top:
        1px solid #d2d2cc !important;

    border-right:
        1px solid #d2d2cc !important;

    border-bottom:
        1px solid #d2d2cc !important;

    border-left:
        0 !important;

    border-radius:
        0 !important;

    box-shadow:
        none !important;

    font-size:
        13px !important;

}


.bv-searchKeyword__input::placeholder {

    color: #aaa;

}


.bv-searchKeyword__input:focus {

    outline: none !important;

    border-color:
        #999 !important;

    box-shadow:
        none !important;

}


/* =========================================================
   Global Navigation Role
   Header から完全独立
========================================================= */

.bv-globalNavRole {

    position: relative;

    width: 100%;

    z-index: 2000;

    background: var(--bv-warm);

    overflow: visible;

}


/* =========================================================
   Main Navigation
========================================================= */

.bv-nav {

    position: relative;

    width: 100%;

    margin: 0;

    background: var(--bv-warm);

    border-top:
        1px solid #ecece6;

    border-bottom:
        1px solid var(--bv-border);

    border-radius: 0;

    overflow: visible;

}


.bv-nav__inner {

    box-sizing: border-box;

    width: 100%;

    max-width: var(--bv-width);

    margin-left: auto;
    margin-right: auto;

    padding-left: var(--bv-pad);
    padding-right: var(--bv-pad);

    background: transparent;

    overflow: visible;

}


/* =========================================================
   Fixed Navigation
========================================================= */

.bv-nav.is-fixed {

    position: fixed;

    top: 0;

    left: 0;

    right: 0;

    width: 100%;

    z-index: 5000;

    background:
        rgba(
            251,
            250,
            247,
            .98
        );

    border-top: 0;

    border-bottom:
        1px solid #dedfd8;

    box-shadow:
        0 4px 18px
        rgba(
            38,
            45,
            41,
            .055
        );

    -webkit-backdrop-filter:
        blur(10px);

    backdrop-filter:
        blur(10px);

}


.bv-nav-spacer {

    width: 100%;

    height: 0;

}


/* =========================================================
   Main Navigation List
========================================================= */

.bv-nav__list {

    display: flex;

    flex-wrap: nowrap;

    align-items: center;

    justify-content: center;

    gap:
        clamp(
            30px,
            3vw,
            50px
        );

    width: 100%;

    margin: 0;

    padding: 0;

    list-style: none;

}


.bv-nav__item {

    position: relative;

    margin: 0;

    padding: 0;

    list-style: none;

}


.bv-nav__link {

    position: relative;

    display: block;

    padding:
        18px
        3px
        16px;

    color: #303833;

    background: transparent;

    border: 0;

    font-size: 12px;

    font-weight: 500;

    line-height: 1.4;

    letter-spacing: .12em;

    text-decoration: none;

    white-space: nowrap;

}


.bv-nav__item
>
.bv-nav__link::after {

    content: "";

    position: absolute;

    left: 50%;

    bottom: 9px;

    width: 0;

    height: 1px;

    background:
        var(--bv-accent);

    transform:
        translateX(-50%);

    transition:
        width .18s ease;

}


.bv-nav__item
>
.bv-nav__link:hover {

    color:
        var(--bv-accent);

}


.bv-nav__item
>
.bv-nav__link:hover::after {

    width: 100%;

}


/* =========================================================
   Navigation Dropdown
========================================================= */

.bv-nav__item
>
.bv-nav__submenu {

    display: none;

    position: absolute;

    top: 100%;

    left: 50%;

    z-index: 5200;

    min-width: 220px;

    width: max-content;

    max-width: 320px;

    margin: 0;

    padding: 7px 0;

    background: #fff;

    border:
        1px solid
        var(--bv-border);

    border-radius: 0;

    box-shadow:
        0 10px 26px
        rgba(
            38,
            45,
            41,
            .08
        );

    transform:
        translateX(-50%);

    list-style: none;

}


.bv-nav__item:hover
>
.bv-nav__submenu,

.bv-nav__item:focus-within
>
.bv-nav__submenu {

    display: block;

}


/* Dropdown rows */

.bv-nav__submenuItem {

    position: relative;

    display: block;

    width: 100%;

    margin: 0;

    padding: 0;

    background: #fff;

    list-style: none;

}


/* First level submenu */

.bv-nav__submenu
>
.bv-nav__submenuItem
>
.bv-nav__link {

    box-sizing: border-box;

    width: 100%;

    padding:
        11px
        18px;

    color: #303833;

    background: #fff;

    border: 0;

    font-size: 12px;

    font-weight: 400;

    line-height: 1.5;

    letter-spacing: .06em;

    text-decoration: none;

    white-space: nowrap;

}


.bv-nav__submenu
>
.bv-nav__submenuItem
>
.bv-nav__link:hover {

    color:
        var(--bv-accent);

    background:
        var(--bv-soft);

}


/* =========================================================
   Nested Navigation
========================================================= */

.bv-nav__submenu
.bv-nav__submenu {

    display: block;

    position: static;

    width: 100%;

    min-width: 0;

    max-width: none;

    margin: 0;

    padding: 0;

    background: #fff;

    border: 0;

    box-shadow: none;

    transform: none;

    list-style: none;

}


/* Level 1 */

.bv-nav__link--level1 {

    box-sizing: border-box;

    width: 100%;

    padding:
        9px
        18px
        9px
        32px !important;

    color:
        var(--bv-sub) !important;

    background: #fff;

    font-size: 12px;

    font-weight: 400;

    letter-spacing: .04em;

}


.bv-nav__link--level1:hover {

    color:
        var(--bv-accent) !important;

    background:
        var(--bv-soft);

}


/* Level 2+ */

.bv-nav__link--level2,
.bv-nav__link--level3,
.bv-nav__link--level4 {

    box-sizing: border-box;

    width: 100%;

    padding:
        8px
        18px
        8px
        48px !important;

    color:
        #858d87 !important;

    background: #fff;

    font-size:
        11px !important;

    font-weight: 400;

    letter-spacing: .03em;

}


.bv-nav__link--level2:hover,
.bv-nav__link--level3:hover,
.bv-nav__link--level4:hover {

    color:
        var(--bv-accent) !important;

    background:
        var(--bv-soft);

}


/* =========================================================
   Hero
========================================================= */

.bv-hero {

    display: grid;

    grid-template-columns:
        1fr
        1fr;

    min-height:
        clamp(
            450px,
            40vw,
            680px
        );

    background:
        #eeeee6;

    overflow: hidden;

}


.bv-hero__copy {

    align-self: center;

    padding:
        clamp(
            40px,
            6vw,
            100px
        )
        max(
            var(--bv-pad),
            calc(
                (
                    100vw -
                    1344px
                ) / 2
            )
        );

    padding-right:
        40px;

}


.bv-kicker {

    font-size: 11px;

    letter-spacing: .16em;

}


.bv-hero h1 {

    margin: 26px 0;

    font-family:
        "Yu Mincho",
        "Hiragino Mincho ProN",
        serif;

    font-size:
        clamp(
            36px,
            4vw,
            64px
        );

    font-weight: 400;

    line-height: 1.5;

}


.bv-hero__copy
>
p:not(.bv-kicker) {

    color: var(--bv-sub);

    font-size: 14px;

    line-height: 2.1;

}


.bv-link {

    display: inline-flex;

    gap: 48px;

    margin-top: 18px;

    padding: 16px 0;

    border-bottom:
        1px solid currentColor;

    font-size: 13px;

    text-decoration: none;

}


/* =========================================================
   Hero Artwork
========================================================= */

.bv-hero__art {

    position: relative;

    min-height: 420px;

    background:
        #d9ddce;

    overflow: hidden;

}


.bv-art-label,
.bv-art-caption {

    position: absolute;

    left: 8%;

    z-index: 2;

    font-size: 10px;

    letter-spacing: .12em;

}


.bv-art-label {

    top: 9%;

}


.bv-art-caption {

    bottom: 8%;

}


.bv-vessel {

    position: absolute;

    bottom: 19%;

    border-radius:
        48%
        48%
        12%
        12%;

    box-shadow:
        18px
        24px
        30px
        #3d49341c;

}


.bv-vessel--one {

    width: 30%;

    height: 49%;

    left: 21%;

    background:
        #f4f1e6;

    border:
        1px solid
        #e0ddcf;

}


.bv-vessel--two {

    width: 24%;

    height: 31%;

    left: 53%;

    background:
        #858f76;

    border:
        1px solid
        #78866d;

}


.bv-orbit {

    position: absolute;

    width: 70%;

    height: 26%;

    left: 15%;

    bottom: 10%;

    border:
        1px solid
        #889579;

    border-radius: 50%;

    transform:
        rotate(-8deg);

}


/* =========================================================
   Sections
========================================================= */

.bv-section {

    padding-top: 80px;

    padding-bottom: 36px;

}


.bv-heading,
.ec-secHeading {

    margin: 0 0 32px;

    text-align: left;

}


.bv-heading h2,
.ec-secHeading__en {

    margin: 0;

    font-size: 23px;

    font-weight: 400;

    letter-spacing: .13em;

}


.bv-heading p,
.ec-secHeading__ja {

    margin-top: 10px;

    color:
        var(--bv-sub);

    font-size: 12px;

}


.ec-secHeading__line {

    display: none;

}


/* =========================================================
   New Items
========================================================= */

.ec-newItemRole {

    padding: 0;

}


.ec-newItemRole
.ec-newItemRole__list {

    display: grid;

    grid-template-columns:
        repeat(
            4,
            minmax(
                0,
                1fr
            )
        );

    gap: 28px;

}


.ec-newItemRole
.ec-newItemRole__listItem,

.ec-newItemRole
.ec-newItemRole__listItem:nth-child(n) {

    width: auto;

    margin: 0;

    padding: 0;

}


.ec-newItemRole__listItem:first-child {

    grid-column:
        1 / -1;

}


.ec-newItemRole__listItemHeading {

    min-height: 0;

}


.ec-newItemRole
.ec-newItemRole__listItemHeading {

    margin-top: 0;

    margin-bottom: 6px;

}


.ec-newItemRole__listItemHeading
.ec-secHeading__en,

.ec-newItemRole__listItemHeading
.ec-secHeading__ja {

    display: block;

}


.ec-newItemRole__listItem img {

    width: 100%;

    aspect-ratio: 1;

    object-fit: contain;

    background:
        var(--bv-soft);

}


.ec-newItemRole__listItemTitle {

    margin-top: 16px;

    font-size: 14px;

    font-weight: 400;

}


.ec-newItemRole__listItemPrice {

    font-size: 13px;

    font-weight: 400;

}


.bv-empty {

    grid-column:
        1 / -1;

    padding: 30px;

    background:
        var(--bv-soft);

}


/* =========================================================
   Categories
========================================================= */

.bv-categories {

    display: grid;

    grid-template-columns:
        repeat(
            3,
            minmax(
                0,
                1fr
            )
        );

    gap: 16px;

}


.bv-category {

    display: flex;

    align-items: center;

    gap: 24px;

    padding: 28px;

    color:
        var(--bv-text);

    background:
        var(--bv-soft);

    border:
        1px solid transparent;

    text-decoration: none;

}


.bv-category:hover {

    border-color:
        var(--bv-accent);

}


.bv-category h3 {

    flex: 1;

    margin: 0;

    font-size: 16px;

    font-weight: 400;

    overflow-wrap: anywhere;

}


.bv-category__number {

    color: #8b958b;

    font-family:
        Georgia,
        serif;

    font-size: 28px;

}


/* =========================================================
   Features
========================================================= */

.bv-features {

    display: grid;

    grid-template-columns:
        1fr
        1fr;

    gap: 24px;

}


.bv-feature {

    min-height: 290px;

    padding: 48px;

    text-decoration: none;

}


.bv-feature--green {

    color: #fff;

    background:
        #294b40;

}


.bv-feature--green:hover {

    color: #fff;

    background:
        #34594c;

}


.bv-feature--sand {

    background:
        #e9e3d8;

}


.bv-feature h3 {

    margin: 25px 0;

    font-family:
        "Yu Mincho",
        "Hiragino Mincho ProN",
        serif;

    font-size: 32px;

    font-weight: 400;

    line-height: 1.6;

}


.bv-feature p {

    font-size: 13px;

}


/* =========================================================
   News
========================================================= */

.ec-newsRole {

    padding: 80px 0;

}


.ec-newsRole__newsHeading {

    padding: 22px 0;

}


.ec-newsRole__newsItem {

    border-color:
        var(--bv-border);

}


/* =========================================================
   Footer
========================================================= */

.bv-footer {

    margin-top: 80px;

    padding:
        60px
        0
        24px;

    background:
        var(--bv-soft);

}


.bv-footer__inner {

    display: grid;

    grid-template-columns:
        1.3fr
        1fr
        1fr;

    gap: 48px;

}


.bv-footer
.bv-wordmark {

    font-size: 38px;

    text-decoration: none;

}


.bv-footer p {

    margin-top: 18px;

    color:
        var(--bv-sub);

    font-size: 12px;

}


.bv-footer nav {

    display: flex;

    flex-direction: column;

    gap: 16px;

    font-size: 12px;

}


.bv-footer__bottom {

    margin-top: 44px;

    padding-top: 24px;

    color:
        var(--bv-sub);

    border-top:
        1px solid
        var(--bv-border);

    font-size: 10px;

}


/* =========================================================
   Page Header
========================================================= */

.ec-pageHeader h1 {

    padding-top: 40px;

    border-color:
        var(--bv-border);

    font-size: 26px;

    font-weight: 400;

}


/* =========================================================
   Buttons
========================================================= */

.ec-blockBtn--action,
.ec-blockBtn--primary,
.ec-inlineBtn--primary,
.ec-blockBtn--top {

    color: #fff;

    background:
        var(--bv-accent);

    border-color:
        var(--bv-accent);

    border-radius: 0;

}


.ec-blockBtn--action:hover,
.ec-blockBtn--primary:hover,
.ec-blockBtn--top:hover {

    color: #fff;

    background:
        var(--bv-accent-hover);

    border-color:
        var(--bv-accent-hover);

}


.ec-blockBtn--cancel,
.ec-inlineBtn--cancel {

    border-radius: 0;

}


/* =========================================================
   Forms
========================================================= */

.ec-input input,
.ec-input textarea,
.ec-select select,
.ec-numberInput input {

    border-color:
        #cbd1c8;

    border-radius: 0;

    box-shadow: none;

}


/* =========================================================
   Product List
========================================================= */

.ec-shelfGrid {

    display: grid;

    grid-template-columns:
        repeat(
            4,
            minmax(
                0,
                1fr
            )
        );

    gap:
        40px
        24px;

    margin: 0;

}


.ec-shelfGrid
.ec-shelfGrid__item,

.ec-shelfGrid
.ec-shelfGrid__item:nth-child(n) {

    width: auto;

    min-width: 0;

    margin: 0;

    padding: 0;

}


.ec-shelfGrid__item-image img {

    width: 100%;

    aspect-ratio: 1;

    object-fit: contain;

    background:
        var(--bv-soft);

}


/* =========================================================
   Product Detail
========================================================= */

.ec-productRole {

    padding-top: 40px;

}


.ec-productRole__title h2 {

    font-size: 28px;

    font-weight: 400;

}


.ec-productRole__price {

    color:
        var(--bv-accent);

}


/* =========================================================
   Cart / MyPage / Checkout
========================================================= */

.ec-cartRole,
.ec-mypageRole {

    padding-top: 24px;

}


.ec-cartRow,
.ec-historyRole,
.ec-borderedDefs,
.ec-mypageNav {

    border-color:
        var(--bv-border);

}


.ec-progress
.is-complete
.ec-progress__number {

    background:
        var(--bv-accent);

}


/* =========================================================
   Tablet
========================================================= */

@media (
    max-width:
    1023px
) {

    .ec-newItemRole
    .ec-newItemRole__list,

    .ec-shelfGrid {

        grid-template-columns:
            repeat(
                3,
                minmax(
                    0,
                    1fr
                )
            );

    }


    .bv-categories {

        grid-template-columns:
            repeat(
                2,
                minmax(
                    0,
                    1fr
                )
            );

    }


    .bv-hero__copy {

        padding:
            48px
            30px;

    }


    .bv-footer__inner {

        gap: 28px;

    }


    .bv-feature {

        padding: 30px;

    }


    .bv-nav__list {

        gap: 28px;

    }

}


/* =========================================================
   Mobile
========================================================= */

@media (
    max-width:
    767px
) {

    .bv-brand {

        padding:
            20px
            18px;

    }


    .bv-wordmark {

        font-size: 40px;

    }


    /* Utility */

    .bv-utility {

        padding-top: 10px;

        padding-bottom: 10px;

    }


    .bv-utility
    .ec-headerRole__navSP {

        position: relative;

        top: auto;

        right: auto;

        width: 44px;

        height: 40px;

    }


    .bv-utility
    .ec-headerNaviRole__left {

        width: 44px;

    }


    .bv-utility
    .ec-headerNaviRole__right {

        width: auto;

        flex: 1;

    }


    .bv-utility
    .ec-headerNav__item {

        padding:
            0
            8px;

    }


    /* Desktop Search */

    .bv-search {

        display: none;

    }


    /* Desktop Global Navigation */

    .bv-globalNavRole {

        display: none;

    }


    .bv-nav-spacer {

        display: none;

    }


    /* Hero */

    .bv-hero {

        grid-template-columns:
            1fr;

    }


    .bv-hero__copy {

        padding:
            40px
            var(--bv-pad);

    }


    .bv-hero h1 {

        margin:
            18px
            0;

        font-size: 38px;

    }


    .bv-hero__art {

        min-height: 300px;

    }


    /* Sections */

    .bv-section {

        padding-top: 48px;

        padding-bottom: 16px;

    }


    .ec-newItemRole
    .ec-newItemRole__list,

    .ec-shelfGrid {

        grid-template-columns:
            repeat(
                2,
                minmax(
                    0,
                    1fr
                )
            );

        gap:
            28px
            14px;

    }


    .ec-secHeading__en,
    .bv-heading h2 {

        font-size: 20px;

    }


    /* Categories */

    .bv-categories {

        gap: 10px;

    }


    .bv-category {

        gap: 10px;

        padding:
            20px
            14px;

    }


    .bv-category h3 {

        font-size: 13px;

    }


    .bv-category__number {

        font-size: 22px;

    }


    /* Features */

    .bv-features {

        grid-template-columns:
            1fr;

        gap: 14px;

    }


    .bv-feature {

        min-height: 240px;

        padding: 30px;

    }


    .bv-feature h3 {

        font-size: 28px;

    }


    /* News */

    .ec-newsRole {

        padding:
            48px
            0;

    }


    /* Footer */

    .bv-footer {

        margin-top: 48px;

        padding-top: 40px;

    }


    .bv-footer__inner {

        grid-template-columns:
            1fr;

        gap: 28px;

    }


    .bv-footer nav {

        gap: 12px;

    }


    /* Product */

    .ec-productRole {

        padding-top: 24px;

    }


    .ec-productRole__title h2 {

        font-size: 23px;

    }


    .ec-pageHeader h1 {

        font-size: 22px;

    }


    /* Layout */

    .ec-layoutRole__contents,
    .ec-layoutRole__mainWithColumn,
    .ec-layoutRole__mainBetweenColumn {

        min-width: 0;

    }

}


/* =========================================================
   Reduced Motion
========================================================= */

@media (
    prefers-reduced-motion:
    reduce
) {

    a,
    .bv-searchCategory__arrow,
    .bv-nav__item
    >
    .bv-nav__link::after {

        transition: none;

    }


    html {

        scroll-behavior: auto;

    }

}