.fcc-companyshop-page,
.fcc-companyshop-detail-page {
    padding-bottom: 2.8rem;
}
.fcc-companyshop-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.9fr) minmax(24rem, .9fr);
    gap: 1.8rem;
    padding: 2.6rem;
    margin-bottom: 2rem;
    border: 1px solid #e8decf;
    border-radius: 2.8rem;
    background:
        radial-gradient(circle at top right, rgba(23, 130, 87, .18), transparent 28%),
        linear-gradient(135deg, #f6f1e7 0%, #fffdfa 46%, #edf7f1 100%);
}
.fcc-companyshop-hero-kicker,
.fcc-companyshop-storefront-kicker {
    display: inline-flex;
    align-items: center;
    height: 3rem;
    padding: 0 1.1rem;
    border-radius: 99rem;
    background: #fff;
    color: #0b7a53;
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.fcc-companyshop-hero-main h1 {
    margin: 1rem 0 .8rem;
    font-size: 3.4rem;
    line-height: 1.2;
    color: #213126;
}
.fcc-companyshop-hero-main p {
    margin: 0;
    max-width: 66rem;
    color: #657065;
    line-height: 1.9;
}
.fcc-companyshop-hero-pills {
    display: flex;
    flex-wrap: wrap;
    gap: .9rem;
    margin-top: 1.4rem;
}
.fcc-companyshop-hero-pills span {
    display: inline-flex;
    align-items: center;
    padding: .65rem 1.1rem;
    border-radius: 99rem;
    background: rgba(255, 255, 255, .82);
    border: 1px solid rgba(228, 218, 203, .95);
    color: #556257;
}
.fcc-companyshop-hero-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}
.fcc-companyshop-stat {
    padding: 1.5rem 1.6rem;
    border-radius: 1.8rem;
    background: rgba(255, 255, 255, .9);
    border: 1px solid #ecdfce;
}
.fcc-companyshop-stat strong {
    display: block;
    color: #223127;
    font-size: 2.4rem;
}
.fcc-companyshop-stat span {
    display: block;
    margin-top: .5rem;
    color: #889087;
    font-size: 1.2rem;
}
.fcc-companyshop-layout,
.fcc-companyshop-detail-shell {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(28rem, .88fr);
    gap: 2.4rem;
    align-items: start;
}
.fcc-companyshop-main,
.fcc-companyshop-side,
.fcc-companyshop-detail-main,
.fcc-companyshop-detail-side {
    min-width: 0;
}
.fcc-companyshop-side-wrap,
.fcc-companyshop-detail-side-wrap {
    position: sticky;
    top: 2rem;
}
.fcc-companyshop-filter,
.fcc-companyshop-panel,
.fcc-companyshop-detail-panel {
    border: 1px solid #eee4d8;
    border-radius: 2.2rem;
    background: #fff;
    padding: 1.8rem;
}
.fcc-companyshop-filter {
    margin-bottom: 1.8rem;
    background: linear-gradient(180deg, #fff 0%, #fcfaf7 100%);
}
.fcc-companyshop-panel + .fcc-companyshop-panel,
.fcc-companyshop-detail-panel + .fcc-companyshop-detail-panel {
    margin-top: 1.8rem;
}
.fcc-companyshop-panel-head,
.fcc-companyshop-detail-panel-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.4rem;
}
.fcc-companyshop-panel-head h2,
.fcc-companyshop-panel-head h3,
.fcc-companyshop-detail-panel-head h2,
.fcc-companyshop-detail-panel-head h3 {
    margin: 0;
    color: #203026;
}
.fcc-companyshop-panel-head span,
.fcc-companyshop-detail-panel-head span {
    color: #8b918a;
    font-size: 1.2rem;
}
.fcc-companyshop-filter-grid {
    display: grid;
    grid-template-columns: 1.8fr 1fr 1fr 1fr;
    gap: 1.2rem;
}
.fcc-companyshop-filter-actions {
    display: flex;
    gap: 1rem;
    margin-top: 1rem;
}
.fcc-companyshop-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.4rem;
}
.fcc-companyshop-featured-card,
.fcc-companyshop-store-card {
    border: 1px solid #ece2d5;
    border-radius: 2rem;
    background: #fffdfa;
    overflow: hidden;
    box-shadow: 0 .8rem 2.2rem rgba(49, 45, 38, .05);
}
.fcc-companyshop-store-card {
    display: grid;
    grid-template-columns: minmax(24rem, .88fr) minmax(0, 1.6fr) minmax(20rem, .72fr);
    gap: 0;
}
.fcc-companyshop-featured-media,
.fcc-companyshop-store-cover {
    position: relative;
    display: block;
    height: 20rem;
    overflow: hidden;
    background: linear-gradient(135deg, #e5ece7 0%, #f7f2e8 100%);
}
.fcc-companyshop-store-cover {
    height: 100%;
    min-height: 24rem;
}
.fcc-companyshop-featured-media img,
.fcc-companyshop-store-cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
}
.fcc-companyshop-featured-media img.is-default-cover,
.fcc-companyshop-store-cover img.is-default-cover,
.fcc-companyshop-storefront-cover img.is-default-cover {
    object-fit: cover;
    padding: 0;
    background: transparent;
}
.fcc-companyshop-featured-media:hover img,
.fcc-companyshop-store-cover:hover img {
    transform: scale(1.04);
}
.fcc-companyshop-featured-media span,
.fcc-companyshop-store-cover span,
.fcc-companyshop-storefront-cover span {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    padding: 2rem;
    color: #456154;
    font-size: 2.2rem;
    font-weight: 700;
    text-align: center;
}
.fcc-companyshop-featured-body,
.fcc-companyshop-store-card-body,
.fcc-companyshop-store-card-side {
    padding: 1.6rem;
}
.fcc-companyshop-store-card-body {
    border-left: 1px solid #f1e7dc;
    border-right: 1px solid #f1e7dc;
}
.fcc-companyshop-store-card-side {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: .9rem;
    background: linear-gradient(180deg, #fffdfa 0%, #f9f4ec 100%);
}
.fcc-companyshop-store-head {
    display: flex;
    gap: 1.1rem;
    align-items: flex-start;
}
.fcc-companyshop-store-logo-wrap,
.fcc-companyshop-storefront-logo-wrap {
    flex: 0 0 6.2rem;
}
.fcc-companyshop-store-logo,
.fcc-companyshop-storefront-logo {
    width: 6.2rem;
    height: 6.2rem;
    border-radius: 1.7rem;
    object-fit: cover;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #0d9966 0%, #0b6a49 100%);
    color: #fff;
    font-size: 2rem;
    font-weight: 700;
    overflow: hidden;
}
.fcc-companyshop-store-logo.is-default-logo,
.fcc-companyshop-storefront-logo.is-default-logo {
    object-fit: contain;
    padding: .7rem;
    background: #fff;
}
.fcc-companyshop-store-base {
    min-width: 0;
    flex: 1;
}
.fcc-companyshop-store-title-row {
    display: flex;
    align-items: center;
    gap: .8rem;
    flex-wrap: wrap;
}
.fcc-companyshop-store-title-row strong {
    color: #223127;
    font-size: 1.95rem;
    line-height: 1.45;
}
.fcc-companyshop-store-subline {
    display: flex;
    flex-wrap: wrap;
    gap: .8rem;
    margin-top: .45rem;
    color: #7c857c;
    line-height: 1.7;
}
.fcc-companyshop-store-subline span + span:before {
    content: "/";
    margin-right: .8rem;
    color: #c5bbad;
}
.fcc-companyshop-store-copy,
.fcc-companyshop-storefront-summary {
    margin-top: 1rem;
    color: #576157;
    line-height: 1.9;
}
.fcc-companyshop-store-info-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .9rem;
    margin-top: 1.2rem;
}
.fcc-companyshop-store-info-item {
    padding: 1rem 1.1rem;
    border: 1px solid #efe4d7;
    border-radius: 1.3rem;
    background: #fff;
}
.fcc-companyshop-store-info-item.is-wide {
    grid-column: 1 / -1;
}
.fcc-companyshop-store-info-item label {
    display: block;
    color: #8a908a;
    font-size: 1.2rem;
}
.fcc-companyshop-store-info-item strong {
    display: block;
    margin-top: .45rem;
    color: #223127;
    line-height: 1.75;
    word-break: break-word;
}
.fcc-companyshop-store-shelf {
    display: flex;
    align-items: center;
    gap: .8rem;
    flex-wrap: wrap;
    margin-top: 1.1rem;
}
.fcc-companyshop-store-shelf.is-wide {
    align-items: flex-start;
}
.fcc-companyshop-store-shelf strong,
.fcc-companyshop-store-shelf em {
    color: #8c928a;
    font-style: normal;
    font-size: 1.2rem;
}
.fcc-companyshop-store-shelf-list {
    display: flex;
    flex-wrap: wrap;
    gap: .7rem;
}
.fcc-companyshop-store-shelf-thumb {
    width: 4.6rem;
    height: 4.6rem;
    border-radius: 1rem;
    overflow: hidden;
    border: 1px solid #ece2d5;
    background: #fff;
}
.fcc-companyshop-store-shelf-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.fcc-companyshop-store-tags,
.fcc-companyshop-storefront-tags {
    display: flex;
    flex-wrap: wrap;
    gap: .7rem;
    margin-top: 1.1rem;
}
.fcc-companyshop-store-tags span,
.fcc-companyshop-storefront-tags span {
    display: inline-flex;
    align-items: center;
    padding: .45rem .95rem;
    border-radius: 99rem;
    background: #f5efe5;
    color: #886a46;
    font-size: 1.2rem;
}
.fcc-companyshop-storefront-tags .is-top {
    background: #fff1f0;
    color: #cf1322;
}
.fcc-companyshop-store-actions {
    display: flex;
    gap: .9rem;
    margin-top: 1.2rem;
}
.fcc-companyshop-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 4.2rem;
    padding: 0 1.5rem;
    border-radius: 1.2rem;
    border: 1px solid #dfd2c2;
    background: #fff;
    color: #2e3b32;
    transition: all .2s ease;
}
.fcc-companyshop-btn:hover {
    color: #1f2f24;
    border-color: #cdb08b;
}
.fcc-companyshop-btn.is-primary {
    background: linear-gradient(135deg, #0b9965 0%, #087851 100%);
    border-color: #0b9965;
    color: #fff;
}
.fcc-companyshop-btn.is-primary:hover {
    color: #fff;
    box-shadow: 0 1rem 2rem rgba(11, 121, 82, .22);
}
.fcc-companyshop-store-list {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}
.fcc-companyshop-pagination {
    margin-top: 1.8rem;
}
.fcc-companyshop-guide,
.fcc-companyshop-shortcuts,
.fcc-companyshop-detail-actions,
.fcc-companyshop-detail-related {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.fcc-companyshop-guide-item {
    padding: 1.2rem 1.3rem;
    border: 1px solid #f1e7da;
    border-radius: 1.4rem;
    background: #faf7f2;
}
.fcc-companyshop-guide-item strong {
    display: block;
    color: #223127;
    margin-bottom: .45rem;
}
.fcc-companyshop-guide-item p {
    margin: 0;
    color: #7d857d;
    line-height: 1.8;
}
.fcc-companyshop-shortcut-item,
.fcc-companyshop-detail-action,
.fcc-companyshop-detail-related-item {
    display: block;
    padding: 1.1rem 1.2rem;
    border: 1px solid #eadfce;
    border-radius: 1.3rem;
    background: #fff;
    color: #333;
}
.fcc-companyshop-storefront {
    position: relative;
    min-height: 34rem;
    margin-bottom: 2rem;
    border-radius: 2.8rem;
    overflow: hidden;
    background: #f4f4f4;
}
.fcc-companyshop-storefront-cover,
.fcc-companyshop-storefront-mask {
    position: absolute;
    inset: 0;
}
.fcc-companyshop-storefront-cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.fcc-companyshop-storefront-mask {
    background:
        linear-gradient(90deg, rgba(18, 30, 24, .82) 0%, rgba(18, 30, 24, .54) 46%, rgba(18, 30, 24, .28) 100%),
        linear-gradient(180deg, rgba(18, 30, 24, .05) 0%, rgba(18, 30, 24, .55) 100%);
}
.fcc-companyshop-storefront-body {
    position: relative;
    z-index: 1;
    min-height: 34rem;
    display: grid;
    grid-template-columns: minmax(0, 1.8fr) minmax(24rem, .86fr);
    gap: 2rem;
    align-items: end;
    padding: 2.4rem;
    color: #fff;
}
.fcc-companyshop-storefront-brand {
    display: flex;
    gap: 1.4rem;
    align-items: flex-start;
}
.fcc-companyshop-storefront-copy {
    min-width: 0;
}
.fcc-companyshop-storefront-copy h1 {
    margin: 1rem 0 .5rem;
    color: #fff;
    font-size: 3.4rem;
    line-height: 1.2;
}
.fcc-companyshop-storefront-copy p {
    margin: 0;
    color: rgba(255, 255, 255, .82);
    font-size: 1.45rem;
}
.fcc-companyshop-storefront-summary {
    color: rgba(255, 255, 255, .88);
}
.fcc-companyshop-storefront-actions {
    display: flex;
    flex-direction: column;
    gap: .9rem;
}
.fcc-companyshop-storefront-actions .fcc-companyshop-btn {
    background: rgba(255, 255, 255, .14);
    border-color: rgba(255, 255, 255, .28);
    color: #fff;
    backdrop-filter: blur(10px);
}
.fcc-companyshop-storefront-actions .fcc-companyshop-btn.is-primary {
    background: #fff;
    color: #173126;
    border-color: #fff;
}
.fcc-companyshop-storefront-actions .fcc-companyshop-btn:hover {
    border-color: #fff;
}
.fcc-companyshop-store-info-panel {
    margin-top: 0;
}
.fcc-companyshop-detail-products {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}
.fcc-companyshop-detail-product-item {
    display: block;
    padding: 1rem;
    border: 1px solid #eee4d8;
    border-radius: 1.5rem;
    background: #fcfaf7;
    color: #333;
}
.fcc-companyshop-detail-product-item img {
    width: 100%;
    height: 16rem;
    object-fit: cover;
    border-radius: 1rem;
}
.fcc-companyshop-detail-product-item span {
    display: block;
    margin-top: .8rem;
    line-height: 1.7;
}
.fcc-companyshop-detail-gallery {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}
.fcc-companyshop-detail-gallery-item {
    display: block;
    height: 20rem;
    border-radius: 1.6rem;
    overflow: hidden;
    background: #f4f4f4;
}
.fcc-companyshop-detail-gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.fcc-companyshop-detail-content {
    color: #333;
    line-height: 1.9;
    word-break: break-word;
}
.fcc-companyshop-detail-content img {
    max-width: 100%;
    height: auto;
    border-radius: 1.2rem;
}
.fcc-companyshop-detail-cert-list {
    display: flex;
    flex-wrap: wrap;
    gap: .9rem;
}
.fcc-companyshop-detail-cert-item {
    display: flex;
    align-items: center;
    gap: .8rem;
    padding: 1rem 1.1rem;
    border-radius: 1.2rem;
    background: #fff8e8;
    border: 1px solid #f4d77c;
    color: #8b5a00;
}
.fcc-companyshop-detail-cert-item img {
    width: 2.8rem;
    height: 2.8rem;
    object-fit: contain;
}
.fcc-companyshop-detail-related-item strong {
    display: block;
    color: #223127;
}
.fcc-companyshop-detail-related-item span {
    display: block;
    margin-top: .4rem;
    color: #8d938b;
    font-size: 1.2rem;
}
@media screen and (max-width: 1200px) {
    .fcc-companyshop-store-card {
        grid-template-columns: 1fr;
    }
    .fcc-companyshop-store-card-body {
        border-left: 0;
        border-right: 0;
        border-top: 1px solid #f1e7dc;
        border-bottom: 1px solid #f1e7dc;
    }
    .fcc-companyshop-store-cover {
        min-height: 20rem;
    }
}
@media screen and (max-width: 1100px) {
    .fcc-companyshop-hero,
    .fcc-companyshop-layout,
    .fcc-companyshop-detail-shell,
    .fcc-companyshop-storefront-body,
    .fcc-companyshop-filter-grid,
    .fcc-companyshop-detail-products,
    .fcc-companyshop-detail-gallery {
        grid-template-columns: 1fr;
    }
    .fcc-companyshop-side-wrap,
    .fcc-companyshop-detail-side-wrap {
        position: static;
    }
}
@media screen and (max-width: 768px) {
    .fcc-companyshop-hero,
    .fcc-companyshop-storefront-body {
        padding: 1.6rem;
    }
    .fcc-companyshop-hero-main h1,
    .fcc-companyshop-storefront-copy h1 {
        font-size: 2.5rem;
    }
    .fcc-companyshop-grid,
    .fcc-companyshop-hero-stats,
    .fcc-companyshop-store-info-grid {
        grid-template-columns: 1fr;
    }
    .fcc-companyshop-filter,
    .fcc-companyshop-panel,
    .fcc-companyshop-detail-panel {
        padding: 1.4rem;
    }
    .fcc-companyshop-storefront {
        min-height: 28rem;
    }
    .fcc-companyshop-storefront-body {
        min-height: 28rem;
    }
}
