:root {
    --store-member-news-header-start: #de7274;
    --store-member-news-header-end: #f2a088;
    --store-member-news-panel-border: rgba(208, 174, 174, 0.76);
    --store-member-news-card-border: rgba(224, 184, 184, 0.68);
    --store-member-news-accent: #c55356;
    --store-member-news-text: #5f4f4f;
    --store-member-news-copy: #6a5959;
}

body.store-member-news-page {
    background: #f7f3f1;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

.store-member-news-main {
    flex: 1 0 auto;
}

.store-member-news-panel {
    overflow: hidden;
    border: 1px solid var(--store-member-news-panel-border);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 18px 40px rgba(87, 43, 43, 0.12);
}

.store-member-news-header {
    padding: 1.25rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.24);
    background: linear-gradient(135deg, var(--store-member-news-header-start) 0%, var(--store-member-news-header-end) 100%);
    color: #fff;
}

.store-member-news-header-title {
    margin: 0;
    font-size: 1.45rem;
    font-weight: 700;
}

.store-member-news-header-copy {
    margin: 0.35rem 0 0;
    font-size: 0.9rem;
    opacity: 0.94;
}

.store-member-news-panel-body {
    padding: 1rem;
    background: linear-gradient(180deg, #fff5f4 0%, #f7f1ef 100%);
}

.store-member-news-list {
    display: grid;
    gap: 0.85rem;
}

.store-member-news-list-item {
    display: block;
    padding: 1rem;
    border: 1px solid var(--store-member-news-card-border);
    border-radius: 17px;
    background: rgba(255, 255, 255, 0.9);
    color: inherit;
    text-decoration: none;
    box-shadow: 0 8px 20px rgba(109, 61, 61, 0.07);
    transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.store-member-news-list-item:hover,
.store-member-news-list-item:focus {
    border-color: rgba(197, 83, 86, 0.48);
    color: inherit;
    box-shadow: 0 12px 24px rgba(109, 61, 61, 0.11);
    transform: translateY(-1px);
}

.store-member-news-category {
    display: inline-flex;
    align-items: center;
    min-height: 1.65rem;
    padding: 0.24rem 0.65rem;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 700;
}

.store-member-news-category-girl {
    background: #e8edf5;
    color: #64718a;
}

.store-member-news-category-event {
    background: #f0e8f5;
    color: #846895;
}

.store-member-news-category-private {
    background: #f3e9df;
    color: #8b7057;
}

.store-member-news-category-default {
    background: #ece8e6;
    color: #756967;
}

.store-member-news-list-date,
.store-member-news-article-date {
    color: #7a6868;
    font-size: 0.84rem;
}

.store-member-news-list-title {
    margin: 0.55rem 0 0.35rem;
    color: var(--store-member-news-text);
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.5;
}

.store-member-news-list-summary {
    display: -webkit-box;
    overflow: hidden;
    margin: 0;
    color: var(--store-member-news-copy);
    font-size: 0.92rem;
    line-height: 1.65;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.store-member-news-list-chevron {
    color: var(--store-member-news-accent);
    font-size: 1.05rem;
}

.store-member-news-empty {
    padding: 3rem 1rem;
    border: 1px solid var(--store-member-news-card-border);
    border-radius: 17px;
    background: rgba(255, 255, 255, 0.88);
    color: var(--store-member-news-copy);
    text-align: center;
}

.store-member-news-empty-icon {
    color: var(--store-member-news-accent);
    font-size: 2rem;
}

.store-member-news-pagination .page-link {
    min-width: 2.45rem;
    border-color: rgba(224, 184, 184, 0.8);
    color: #8b5f60;
    text-align: center;
}

.store-member-news-pagination .page-item.active .page-link {
    border-color: transparent;
    background: linear-gradient(135deg, var(--store-member-news-header-start) 0%, var(--store-member-news-header-end) 100%);
    color: #fff;
}

.store-member-news-pagination .page-item.disabled .page-link {
    color: #aaa0a0;
}

.store-member-news-article {
    padding: 0.25rem;
    color: var(--store-member-news-text);
}

.store-member-news-article-category {
    display: inline-flex;
    margin: 0 0 0.9rem;
    padding: 0.3rem 0.7rem;
    border-radius: 999px;
    font-size: 0.8rem;
    font-weight: 700;
}

.store-member-news-article-category-girl {
    background: #e8edf5;
    color: #64718a;
}

.store-member-news-article-category-event {
    background: #f0e8f5;
    color: #846895;
}

.store-member-news-article-category-private {
    background: #f3e9df;
    color: #8b7057;
}

.store-member-news-article-category-default {
    background: #ece8e6;
    color: #756967;
}

.store-member-news-article-title {
    margin: 0;
    color: var(--store-member-news-text);
    font-size: clamp(1.4rem, 4.8vw, 2rem);
    font-weight: 700;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.store-member-news-article-date {
    margin: 0.8rem 0 1.25rem;
}

.store-member-news-article-image-wrap {
    margin: 1.25rem 0;
    text-align: center;
}

.store-member-news-article-image {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: 760px;
    margin: 0 auto;
    border-radius: 18px;
    object-fit: contain;
}

.store-member-news-article-body {
    padding-top: 1.35rem;
    border-top: 1px solid rgba(224, 184, 184, 0.72);
    color: var(--store-member-news-copy);
    font-size: 0.96rem;
    line-height: 1.8;
    overflow-wrap: anywhere;
}

.store-member-news-article-body p {
    margin: 0 0 1rem;
}

.store-member-news-bottom-button {
    padding: 0.85rem 1rem;
    border-color: rgba(224, 184, 184, 0.9);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.9);
    color: var(--store-member-news-copy);
    font-weight: 700;
}

.store-member-news-bottom-button:hover,
.store-member-news-bottom-button:focus {
    border-color: rgba(213, 129, 132, 0.75);
    background: #fff;
    color: var(--store-member-news-accent);
}

.store-member-news-notfound {
    padding: 2.5rem 1rem;
    color: var(--store-member-news-copy);
    text-align: center;
}

.store-member-news-notfound-icon {
    color: var(--store-member-news-accent);
    font-size: 2.5rem;
}

@media (min-width: 768px) {
    .store-member-news-header {
        padding: 1.5rem 1.75rem;
    }

    .store-member-news-panel-body {
        padding: 1.5rem;
    }

    .store-member-news-list-item {
        padding: 1.15rem 1.25rem;
    }
}
