:root {
    --blue:#168bd2;
    --blue2:#5b67e8;
    --ink:#172033;
    --muted:#6d7788;
    --line:#e7eaf0;
    --bg:#f6f8fb;
    --card:#fff;
    --ok:#1f9d66;
    --warn:#d97706;
    --danger:#c44545;
    --shadow:0 12px 32px rgba(31,48,75,.08)
}
* {
    box-sizing:border-box
}
html {
    scroll-behavior:smooth
}
body {
    margin:0;
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",Arial,sans-serif;
    background:var(--bg);
    color:var(--ink);
    line-height:1.75
}
a {
    color:var(--blue);
    text-decoration:none
}
a:hover {
    text-decoration:underline
}
img {
    max-width:100%;
    height:auto
}
.wrap {
    width:min(1180px,calc(100% - 32px));
    margin:auto
}
.topbar {
    background:#101827;
    color:#dce5f1;
    font-size:13px;
    padding:7px 0
}
.site-header {
    background:#fff;
    border-bottom:1px solid var(--line);
    position:sticky;
    top:0;
    z-index:20
}
.header-inner {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    min-height:74px
}
.brand {
    display:flex;
    align-items:center;
    gap:12px;
    color:var(--ink);
    font-weight:800;
    font-size:21px
}
.brand img {
    width:44px;
    height:44px
}
.nav {
    display:flex;
    gap:22px;
    align-items:center
}
.nav a {
    color:#344054;
    font-weight:600
}
.menu-btn {
    display:none;
    border:1px solid var(--line);
    background:#fff;
    border-radius:9px;
    padding:8px 12px
}
.hero {
    padding:54px 0 34px;
    background:linear-gradient(135deg,#eef8ff,#f3f1ff)
}
.hero-grid {
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:34px;
    align-items:center
}
.hero h1 {
    font-size:42px;
    line-height:1.18;
    margin:0 0 15px
}
.hero p {
    font-size:17px;
    color:var(--muted);
    max-width:700px
}
.hero img {
    border-radius:24px;
    box-shadow:var(--shadow)
}
.btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:10px;
    padding:11px 18px;
    background:var(--blue);
    color:#fff;
    font-weight:700;
    border:0
}
.btn.alt {
    background:#fff;
    color:var(--blue);
    border:1px solid #cfe5f6
}
.notice {
    margin:24px auto;
    background:#fff8e8;
    border:1px solid #f5d792;
    border-radius:14px;
    padding:16px 18px
}
.notice strong {
    color:#8a5b00
}
.section {
    padding:28px 0
}
.section h2 {
    font-size:26px;
    margin:0 0 16px
}
.section-head {
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:20px
}
.muted {
    color:var(--muted)
}
.tabs {
    display:flex;
    gap:9px;
    flex-wrap:wrap;
    margin:0 0 18px
}
.tab {
    background:#fff;
    border:1px solid var(--line);
    border-radius:999px;
    padding:8px 13px;
    color:#344054
}
.tab.active,.tab:hover {
    background:#edf7ff;
    border-color:#b8ddf5;
    color:#087abf;
    text-decoration:none
}
.product-section {
    background:#fff;
    border:1px solid var(--line);
    border-radius:16px;
    margin:18px 0;
    overflow:hidden;
    box-shadow:0 4px 18px rgba(31,48,75,.04)
}
.product-section h3 {
    margin:0;
    padding:15px 18px;
    border-bottom:1px solid var(--line);
    background:#fbfcfe
}
.product-table {
    width:100%;
    border-collapse:collapse
}
.product-table th,.product-table td {
    padding:12px 14px;
    border-bottom:1px solid var(--line);
    text-align:left;
    vertical-align:middle
}
.product-table th {
    font-size:13px;
    color:var(--muted);
    background:#fbfcfd
}
.product-table tr:last-child td {
    border-bottom:0
}
.thumb {
    width:66px;
    height:48px;
    object-fit:cover;
    border-radius:8px;
    border:1px solid var(--line)
}
.price {
    font-weight:800;
    color:#e55c36;
    white-space:nowrap
}
.stock {
    white-space:nowrap
}
.badge {
    display:inline-block;
    border-radius:999px;
    padding:3px 8px;
    font-size:12px;
    background:#edf7ff;
    color:#087abf
}
.badge.out {
    background:#fff0f0;
    color:#b42318
}
.searchbar {
    display:flex;
    gap:8px;
    margin:16px 0
}
.searchbar input {
    width:100%;
    padding:12px 14px;
    border:1px solid var(--line);
    border-radius:10px;
    background:#fff;
    font-size:15px
}
.cards {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px
}
.card {
    background:#fff;
    border:1px solid var(--line);
    border-radius:15px;
    padding:19px;
    box-shadow:0 5px 22px rgba(31,48,75,.04)
}
.card img {
    border-radius:11px;
    aspect-ratio:16/10;
    object-fit:cover
}
.card h3 {
    line-height:1.45
}
.breadcrumbs {
    font-size:14px;
    color:var(--muted);
    padding:18px 0
}
.detail {
    display:grid;
    grid-template-columns:.9fr 1.1fr;
    gap:30px;
    align-items:start
}
.panel {
    background:#fff;
    border:1px solid var(--line);
    border-radius:16px;
    padding:22px;
    box-shadow:var(--shadow)
}
.detail-title {
    font-size:30px;
    line-height:1.35;
    margin:5px 0 12px
}
.detail-price {
    font-size:30px;
    font-weight:900;
    color:#e55c36
}
.specs {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin:18px 0
}
.spec {
    background:#f7f9fc;
    border-radius:10px;
    padding:11px
}
.content {
    background:#fff;
    border:1px solid var(--line);
    border-radius:16px;
    padding:28px;
    box-shadow:0 5px 24px rgba(31,48,75,.04)
}
.content h1 {
    line-height:1.35
}
.content h2 {
    margin-top:30px;
    line-height:1.4
}
.content h3 {
    margin-top:22px
}
.content p,.content li {
    color:#3d4758
}
.content table {
    width:100%;
    border-collapse:collapse
}
.content th,.content td {
    border:1px solid var(--line);
    padding:10px
}
.article-meta {
    color:var(--muted);
    font-size:14px
}
.faq details {
    background:#fff;
    border:1px solid var(--line);
    border-radius:12px;
    padding:13px 15px;
    margin:9px 0
}
.footer {
    margin-top:44px;
    background:#101827;
    color:#c8d3e0;
    padding:34px 0
}
.footer-grid {
    display:grid;
    grid-template-columns:2fr 1fr 1fr;
    gap:24px
}
.footer a {
    color:#d9e5f2
}
.copyright {
    border-top:1px solid #2b3443;
    margin-top:26px;
    padding-top:16px;
    font-size:13px
}
.kpis {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:12px
}
.kpi {
    background:#fff;
    border:1px solid var(--line);
    border-radius:14px;
    padding:17px
}
.kpi b {
    display:block;
    font-size:24px
}
.empty {
    text-align:center;
    padding:30px;
    color:var(--muted)
}
@media(max-width:850px) {
    .hero-grid,.detail {
        grid-template-columns:1fr
    }
    .cards {
        grid-template-columns:1fr 1fr
    }
    .nav {
        display:none
    }
    .nav.open {
        display:flex;
        position:absolute;
        top:74px;
        left:0;
        right:0;
        background:#fff;
        flex-direction:column;
        align-items:flex-start;
        padding:18px 24px;
        border-bottom:1px solid var(--line)
    }
    .menu-btn {
        display:block
    }
    .hero h1 {
        font-size:34px
    }
    .product-table th:nth-child(3),.product-table td:nth-child(3) {
        display:none
    }
    .footer-grid {
        grid-template-columns:1fr
    }
    .kpis {
        grid-template-columns:1fr 1fr
    }
}
@media(max-width:560px) {
    .wrap {
        width:min(100% - 20px,1180px)
    }
    .cards {
        grid-template-columns:1fr
    }
    .hero {
        padding-top:34px
    }
    .hero h1 {
        font-size:30px
    }
    .product-table th:nth-child(4),.product-table td:nth-child(4) {
        display:none
    }
    .product-table th,.product-table td {
        padding:10px 8px
    }
    .thumb {
        width:52px;
        height:42px
    }
    .content {
        padding:20px
    }
    .detail-title {
        font-size:25px
    }
    .specs {
        grid-template-columns:1fr
    }
}
/* storefront homepage rebuilt to match the live  catalog instead of the previous invented landing-page layout */
.storefront-home {
    background:#f5f6f8;
    color:#333;
    line-height:1.55
}
.storefront-home a {
    text-decoration:none
}
.store-wrap {
    width:min(1120px,calc(100% - 24px));
    margin:0 auto
}
.store-head {
    background:#fff;
    border-bottom:1px solid #e6e8eb;
    box-shadow:0 1px 4px rgba(0,0,0,.04)
}
.head-row {
    height:62px;
    display:flex;
    align-items:center;
    justify-content:space-between
}
.store-brand {
    display:flex;
    align-items:center;
    gap:9px;
    font-size:20px;
    font-weight:700;
    color:#333
}
.store-brand .plane {
    display:grid;
    place-items:center;
    width:34px;
    height:34px;
    border-radius:50%;
    background:#27a7e7;
    color:#fff;
    transform:rotate(-18deg)
}
.head-links {
    display:flex;
    gap:18px;
    font-size:14px
}
.head-links a {
    color:#666
}
.home-main {
    padding:18px 0 30px
}
.category-strip {
    display:flex;
    gap:8px;
    overflow:auto;
    padding:10px 12px;
    background:#fff;
    border:1px solid #e7e7e7;
    border-radius:5px;
    white-space:nowrap
}
.category-strip a {
    padding:7px 13px;
    color:#555;
    border-radius:4px;
    font-size:14px
}
.category-strip a:hover,.category-strip .active {
    background:#2597d5;
    color:#fff
}
.product-search {
    margin:12px 0
}
.product-search input {
    width:100%;
    height:42px;
    border:1px solid #dedede;
    border-radius:4px;
    background:#fff;
    padding:0 13px;
    font-size:14px;
    outline:none
}
.product-search input:focus {
    border-color:#41a9df;
    box-shadow:0 0 0 2px rgba(65,169,223,.10)
}
.goods-block {
    background:#fff;
    border:1px solid #e5e5e5;
    border-radius:5px;
    margin:13px 0;
    overflow:hidden
}
.goods-block h2 {
    font-size:16px;
    font-weight:600;
    margin:0;
    padding:13px 15px;
    border-bottom:1px solid #e9e9e9;
    color:#333;
    background:#fff
}
.goods-block table {
    width:100%;
    border-collapse:collapse;
    font-size:14px
}
.goods-block th {
    background:#fafafa;
    color:#666;
    font-weight:500;
    text-align:left;
    border-bottom:1px solid #e7e7e7;
    padding:10px 12px
}
.goods-block td {
    padding:9px 12px;
    border-bottom:1px solid #eee;
    vertical-align:middle
}
.goods-block tbody tr:last-child td {
    border-bottom:0
}
.goods-block tbody tr:hover {
    background:#fbfdff
}
.goods-block .imgcol {
    width:74px
}
.goods-block .imgcol img {
    width:54px;
    height:42px;
    object-fit:cover;
    border-radius:3px;
    border:1px solid #eee;
    display:block
}
.goods-block .namecol a {
    color:#333
}
.goods-block .namecol a:hover {
    color:#238fc9
}
.money {
    color:#f15a24;
    font-weight:600;
    white-space:nowrap
}
.buy,.soldout {
    display:inline-block;
    min-width:46px;
    text-align:center;
    border-radius:3px;
    padding:5px 9px;
    font-size:13px
}
.buy {
    background:#2196d3;
    color:#fff!important
}
.soldout {
    background:#eee;
    color:#999
}
.stock-zero {
    color:#aaa
}
.orig-footer {
    text-align:center;
    color:#888;
    font-size:13px;
    padding:22px 12px 30px
}
.table-scroll {
    overflow:auto
}
.announce-mask {
    position:fixed;
    z-index:9999;
    inset:0;
    background:rgba(0,0,0,.42);
    display:flex;
    align-items:center;
    justify-content:center;
    padding:16px
}
.announce-mask.hide {
    display:none
}
.announce {
    width:min(760px,100%);
    max-height:min(86vh,820px);
    overflow:auto;
    background:#fff;
    border-radius:7px;
    box-shadow:0 18px 50px rgba(0,0,0,.28);
    position:relative
}
.announce h2 {
    font-size:18px;
    margin:0;
    padding:15px 18px;
    border-bottom:1px solid #eee;
    font-weight:600
}
.announce-close {
    position:absolute;
    right:12px;
    top:8px;
    border:0;
    background:none;
    font-size:27px;
    color:#999;
    cursor:pointer
}
.announce-body {
    padding:14px 18px 4px;
    font-size:14px;
    color:#444
}
.announce-body p {
    margin:0 0 10px
}
.announce-body a {
    color:#238fc9
}
.announce-ok {
    display:block;
    margin:8px 18px 18px auto;
    border:0;
    border-radius:4px;
    background:#238fc9;
    color:#fff;
    padding:8px 20px;
    cursor:pointer
}
@media(max-width:720px) {
    .store-head {
        position:static
    }
    .head-row {
        height:54px
    }
    .head-links {
        gap:10px;
        font-size:13px
    }
    .goods-block th,.goods-block td {
        padding:8px 7px;
        font-size:12px
    }
    .goods-block th:nth-child(3),.goods-block td:nth-child(3) {
        display:none
    }
    .goods-block .imgcol {
        width:58px
    }
    .goods-block .imgcol img {
        width:46px;
        height:34px
    }
    .buy,.soldout {
        min-width:40px;
        padding:4px 6px
    }
    .category-strip {
        border-radius:0;
        margin-left:-12px;
        margin-right:-12px;
        border-left:0;
        border-right:0
    }
    .announce {
        max-height:90vh
    }
    .announce-body {
        font-size:13px
    }
}
