.contentCenterPage {
    width: min(calc(100% - 32px), 1180px);
    max-width: 1180px;
    margin: 0 auto;
    padding: 36px 0 80px;
    color: #24201f;
}

.contentCenterTabs {
    display: inline-grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2px;
    margin-bottom: 16px;
    padding: 3px;
    border: 1px solid #ded8d3;
    border-radius: 5px;
    background: #f4f2ef;
}

.contentCenterTabs a {
    min-width: 112px;
    padding: 9px 16px;
    border-radius: 3px;
    color: #69625e;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.2;
    text-align: center;
}

.contentCenterTabs a:hover,
.contentCenterTabs a:focus-visible {
    color: #7d1735;
}

.contentCenterTabs a:focus-visible {
    outline: 2px solid #7d1735;
    outline-offset: 2px;
}

.contentCenterTabs a.active,
.contentCenterTabs a[aria-current="page"] {
    color: #fff;
    background: #8e1d3d;
}

.contentCenterHero {
    padding: 54px 58px;
    border: 1px solid #e5ded9;
    background: #faf8f5;
}

.contentCenterHero.is-stock {
    background: #f5f7f4;
}

.contentCenterEyebrow {
    margin: 0 0 14px;
    color: #960630;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0;
}

.contentCenterHero h1 {
    margin: 0;
    font-size: 34px;
    font-weight: 600;
    line-height: 1.3;
}

.contentCenterIntro {
    max-width: 800px;
    margin: 18px 0 0;
    color: #6d6661;
    font-size: 15px;
    line-height: 1.9;
}

.contentCenterMeta {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    margin-top: 26px;
    color: #706965;
    font-size: 13px;
}

.contentCenterMeta strong {
    color: #960630;
    font-size: 18px;
}

.contentCenterNotice,
.contentCenterEmpty {
    margin-top: 28px;
    padding: 34px;
    border: 1px solid #e7e0db;
    background: #fff;
}

.contentCenterNotice.is-error {
    border-color: #e8c3c9;
    color: #8d2437;
    background: #fff8f8;
}

.contentCenterEmpty h2 {
    margin: 0 0 10px;
    font-size: 20px;
}

.contentCenterEmpty p,
.contentCenterFootnote p {
    margin: 0;
    color: #77706b;
    font-size: 14px;
    line-height: 1.8;
}

.contentShopSection {
    margin-top: 42px;
}

.contentSaleSection {
    margin-top: 42px;
}

.contentSectionTitle {
    margin: 0;
    padding-bottom: 14px;
    border-bottom: 2px solid #960630;
    color: #2d2927;
    font-size: 25px;
    font-weight: 600;
}

.contentShopHeading {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    padding-bottom: 14px;
    border-bottom: 2px solid #2d2927;
}

.contentShopHeading h2 {
    margin: 0;
    font-size: 23px;
    font-weight: 600;
}

.contentShopHeading span {
    color: #837a74;
    font-size: 13px;
}

.contentItemGrid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    padding-top: 18px;
}

.contentItemCard {
    padding: 24px;
    border: 1px solid #e6e0dc;
    background: #fff;
}

.contentItemTopline,
.contentItemFooter {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.contentDiscount,
.contentRestock {
    display: inline-block;
    padding: 5px 9px;
    color: #960630;
    background: #f8eaee;
    font-size: 12px;
    font-weight: 600;
}

.contentRestock {
    color: #376241;
    background: #eaf2eb;
}

.contentStatus {
    color: #47704f;
    font-size: 12px;
}

.contentItemCard h3 {
    margin: 18px 0 0;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.55;
}

.contentProductName {
    margin: 7px 0 0;
    color: #8a827d;
    font-size: 12px;
    line-height: 1.55;
}

.contentFacts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 20px;
    margin: 22px 0 0;
    padding: 18px 0;
    border-top: 1px solid #eee9e5;
    border-bottom: 1px solid #eee9e5;
}

.contentFacts div {
    min-width: 0;
}

.contentFacts dt {
    color: #928a85;
    font-size: 12px;
}

.contentFacts dd {
    margin: 5px 0 0;
    overflow-wrap: anywhere;
    font-size: 14px;
}

.contentOldPrice {
    color: #8d8580;
    text-decoration: line-through;
}

.contentNowPrice {
    color: #960630;
    font-weight: 700;
}

.contentItemFooter {
    margin-top: 18px;
    color: #8b837e;
    font-size: 12px;
}

.contentItemFooter a {
    color: #960630;
    font-weight: 600;
}

.contentCenterFootnote {
    margin-top: 48px;
    padding-top: 24px;
    border-top: 1px solid #ded7d2;
}

.contentCenterFootnote h2 {
    margin: 0 0 10px;
    font-size: 17px;
}

@media (max-width: 760px) {
    .contentCenterPage {
        width: calc(100% - 24px);
        padding: 18px 0 52px;
    }
    .contentCenterTabs {
        display: grid;
        width: 100%;
        margin-bottom: 12px;
    }
    .contentCenterTabs a {
        min-width: 0;
        padding: 10px 8px;
    }
    .contentCenterHero {
        padding: 24px 18px 26px;
    }
    .contentCenterHero h1 {
        font-size: 25px;
        line-height: 1.38;
    }
    .contentCenterIntro {
        margin-top: 12px;
        font-size: 13px;
        line-height: 1.75;
    }
    .contentCenterMeta {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px 14px;
        margin-top: 18px;
        font-size: 12px;
    }
    .contentCenterMeta span:last-child:nth-child(odd),
    .contentCenterMeta span:nth-child(4) {
        grid-column: 1 / -1;
    }
    .contentCenterMeta strong {
        font-size: 16px;
    }
    .contentSaleSection,
    .contentShopSection {
        margin-top: 30px;
    }
    .contentSectionTitle {
        padding-bottom: 10px;
        font-size: 21px;
    }
    .contentShopHeading {
        align-items: center;
        gap: 10px;
        padding-bottom: 10px;
    }
    .contentShopHeading h2 {
        min-width: 0;
        overflow-wrap: anywhere;
        font-size: 18px;
        line-height: 1.35;
    }
    .contentShopHeading span {
        flex: 0 0 auto;
        font-size: 11px;
    }
    .contentItemGrid {
        grid-template-columns: 1fr;
        gap: 12px;
        padding-top: 12px;
    }
    .contentItemCard {
        padding: 17px 16px 16px;
    }
    .contentItemTopline {
        align-items: flex-start;
        flex-wrap: wrap;
        gap: 7px 10px;
    }
    .contentDiscount,
    .contentRestock {
        padding: 4px 7px;
        font-size: 11px;
    }
    .contentItemCard h3 {
        margin-top: 13px;
        font-size: 16px;
        line-height: 1.45;
        overflow-wrap: anywhere;
    }
    .contentProductName {
        margin-top: 5px;
        overflow-wrap: anywhere;
    }
    .contentFacts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px 14px;
        margin-top: 15px;
        padding: 14px 0;
    }
    .contentFacts div:first-child {
        grid-column: 1 / -1;
    }
    .contentFacts dd {
        margin-top: 3px;
        font-size: 13px;
    }
    .contentItemFooter {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        gap: 10px;
        margin-top: 14px;
    }
    .contentItemFooter a {
        min-height: 34px;
        padding: 8px 10px;
        border: 1px solid #d9c8ce;
        border-radius: 3px;
        line-height: 16px;
        text-align: center;
    }
    .contentCenterNotice,
    .contentCenterEmpty {
        margin-top: 20px;
        padding: 24px 18px;
    }
    .contentCenterFootnote {
        margin-top: 34px;
    }
}

@media (max-width: 420px) {
    .contentCenterHero {
        padding: 21px 15px 23px;
    }
    .contentCenterHero h1 {
        font-size: 22px;
    }
    .contentCenterMeta {
        grid-template-columns: minmax(0, 1fr);
    }
    .contentCenterMeta span,
    .contentCenterMeta span:nth-child(4) {
        grid-column: 1;
    }
    .contentItemFooter {
        grid-template-columns: minmax(0, 1fr);
    }
    .contentItemFooter a {
        width: 100%;
    }
}
