/* 基础字体大小 - 提升可读性 */
html {
    font-size: 16px;
}

/*
 * Site content width — match Rebel Walls max-w-screen-2xl (96rem = 1536px).
 * Overrides Bootstrap 5.3 stepped container max-widths (1140 / 1320).
 */
.container,
.container-sm,
.container-md,
.container-lg,
.container-xl,
.container-xxl {
    max-width: 1536px;
}

@media (min-width: 576px) {
    .container,
    .container-sm,
    .container-md,
    .container-lg,
    .container-xl,
    .container-xxl {
        max-width: 1536px;
    }
}

@media (min-width: 768px) {
    .container,
    .container-sm,
    .container-md,
    .container-lg,
    .container-xl,
    .container-xxl {
        max-width: 1536px;
    }
}

@media (min-width: 992px) {
    .container,
    .container-sm,
    .container-md,
    .container-lg,
    .container-xl,
    .container-xxl {
        max-width: 1536px;
    }
}

@media (min-width: 1200px) {
    .container,
    .container-sm,
    .container-md,
    .container-lg,
    .container-xl,
    .container-xxl {
        max-width: 1536px;
    }
}

@media (min-width: 1400px) {
    .container,
    .container-sm,
    .container-md,
    .container-lg,
    .container-xl,
    .container-xxl {
        max-width: 1536px;
    }
}

body {
    font-size: 1rem;
    line-height: 1.6;
    color: #111111;
    background-color: #ffffff;
    background-image: none;
    min-height: 100vh;
    font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
}

/* Bootstrap字体大小调整 */
h1, .h1 {
    font-size: 2rem; /* 原来2.5rem */
}

h2, .h2 {
    font-size: 1.75rem; /* 原来2rem */
}

h3, .h3 {
    font-size: 1.5rem; /* 原来1.75rem */
}

h4, .h4 {
    font-size: 1.25rem; /* 原来1.5rem */
}

h5, .h5 {
    font-size: 1.125rem; /* 原来1.25rem */
}

h6, .h6 {
    font-size: 1rem; /* 原来1.125rem */
}

/* 导航栏字体调整 */
.navbar-brand-custom {
    font-size: 1.6rem !important; /* 原来1.85rem */
}

.navbar-menu-row .nav-link {
    font-size: 0.85rem !important; /* 原来0.9rem */
}

.navbar-top-row .nav-link {
    font-size: 0.85rem !important; /* 原来0.9rem */
}

/* 按钮字体调整 */
.btn {
    font-size: 0.875rem; /* 默认 */
}

.btn-sm {
    font-size: 0.8rem; /* 原来0.875rem */
}

.btn-lg {
    font-size: 1rem; /* 原来1.125rem */
}

/* 卡片和内容区域 */
.card-title {
    font-size: 1.125rem; /* 原来1.25rem */
}

.card-text {
    font-size: 0.875rem; /* 默认 */
}

/* 价格显示 */
.price {
    font-size: 1.125rem !important; /* 原来1.25rem */
}

.compare-price {
    font-size: 0.9rem !important; /* 原来1rem */
}

/* 表单元素 */
.form-control {
    font-size: 0.875rem; /* 原来0.9rem */
}

.form-label {
    font-size: 0.875rem; /* 原来0.9rem */
}

/* 徽章和标签 */
.badge {
    font-size: 0.75rem; /* 原来0.8rem */
}

/* 覆盖 Bootstrap 默认的 primary 颜色 → Minimal Mono */
:root {
    --bs-primary: #111111;
    --bs-primary-rgb: 17, 17, 17;
}

/* Bootstrap primary 颜色覆盖 */
.bg-primary {
    background-color: #111111 !important;
}

.btn-primary {
    background-color: #111111 !important;
    border-color: #111111 !important;
    border-radius: 0 !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active {
    background-color: #333333 !important;
    border-color: #333333 !important;
}

.btn-outline-primary {
    color: #000000 !important;
    border-color: #000000 !important;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:active {
    background-color: #000000 !important;
    border-color: #000000 !important;
    color: #fff !important;
}

.text-primary {
    color: #000000 !important;
}

.border-primary {
    border-color: #000000 !important;
}

.link-primary {
    color: #000000 !important;
}

.link-primary:hover,
.link-primary:focus {
    color: #262626 !important;
}

.alert-primary {
    color: #084298;
    background-color: #cfe2ff;
    border-color: #b6d4fe;
}

.alert-primary .alert-link {
    color: #06357a;
}

.badge.bg-primary {
    background-color: #000000 !important;
}

.list-group-item-primary {
    color: #084298;
    background-color: #cfe2ff;
}

.table-primary {
    --bs-table-bg: #cfe2ff;
    --bs-table-striped-bg: #c5d7f2;
    --bs-table-striped-color: #000;
    --bs-table-active-bg: #bacbe6;
    --bs-table-active-color: #000;
    --bs-table-hover-bg: #bfd1ec;
    --bs-table-hover-color: #000;
    color: #000;
    border-color: #bacbe6;
}

/* 覆盖 Bootstrap 5 的 CSS 变量 */
[data-bs-theme="light"] {
    --bs-primary: #000000;
    --bs-primary-rgb: 0, 0, 0;
}

/* 表格 */
.table {
    font-size: 0.875rem;
}

.table th {
    font-size: 0.875rem;
}

.table td {
    font-size: 0.875rem;
}

/* 面包屑 */
.breadcrumb {
    font-size: 0.8rem; /* 原来0.875rem */
}

/* 页脚 */
.footer {
    font-size: 0.875rem;
}

.footer h2.footer-column-title {
    font-size: 1rem; /* 与原先 h5 视觉效果一致 */
}

.footer h6 {
    font-size: 0.9rem; /* 原来1rem */
}

/* 产品卡片 */
.product-card .card-title {
    font-size: 1rem; /* 原来1.125rem */
}

/* 搜索框 */
#navbarSearchForm .form-control {
    font-size: 1.125rem !important; /* 增大一个码号 */
}

/* 货币选择器 */
.currency-switcher select {
    font-size: 0.75rem !important; /* 原来0.8rem */
}

/* 全局按钮 — Minimal Mono 纯色无渐变 */
.btn-primary {
    background: #111111 !important;
    border: 1px solid #111111 !important;
    color: white;
    border-radius: 0 !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
    background: #333333 !important;
    border-color: #333333 !important;
    color: white;
}

/* 响应式调整 */
@media (max-width: 991.98px) {
    html {
        font-size: 15px;
    }
    
    .navbar-brand-custom {
        font-size: 1.4rem !important;
    }
}

@media (max-width: 575.98px) {
    html {
        font-size: 14px;
    }
    
    .navbar-brand-custom {
        font-size: 1.25rem !important;
    }
    
    h1, .h1 {
        font-size: 1.75rem;
    }
    
    h2, .h2 {
        font-size: 1.5rem;
    }
    
    h3, .h3 {
        font-size: 1.25rem;
    }
}

/* Cloudflare Turnstile — normal = horizontal bar; wrapper avoids narrow-viewport overflow */
.turnstile-widget-wrap {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
}

.turnstile-widget-wrap .cf-turnstile {
    min-height: 70px;
}

.turnstile-widget-wrap iframe {
    max-width: 100%;
}

/* GD image captcha */
.image-captcha-wrap .img-captcha {
    max-width: 100%;
    height: auto;
    display: block;
}

/* Refresh: state 1 = outline (Bootstrap); state 2 = loading — solid dark, white text */
.image-captcha-wrap .captcha-refresh-btn.is-loading {
    color: #fff !important;
    background-color: #5c636a !important;
    border-color: #5c636a !important;
}

/* Product card image slot: fixed aspect + solid background so lazy-load decode delay is not “empty/transparent” */
.product-card .product-card-media {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background-color: #e8ebe6;
    background-image: linear-gradient(145deg, #FAFAFA 0%, #F5F5F5 55%, #EEEEEE 100%);
    border-radius: 4px;
}

.product-card .product-card-media > a {
    position: absolute;
    inset: 0;
    display: block;
    z-index: 1;
}

.product-card .product-card-media picture {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
}

.product-card .product-card-media img,
.product-card .product-card-media picture img {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    object-fit: cover;
    display: block;
    aspect-ratio: unset;
}

.product-card .product-card-media img[loading="lazy"],
.product-card .product-card-media img[loading="eager"] {
    opacity: 1;
}









