/* Corelith member-center theme — loaded last on every page (footer.php) */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

:root {
  --cl-ink: #0F1A2B; --cl-ink2: #22304A; --cl-text: #1E293B; --cl-muted: #55627A;
  --cl-line: #E4E8EF; --cl-line2: #D5DBE5; --cl-soft: #F5F7FB; --cl-soft2: #EEF2F8;
  --cl-night: #0A1120; --cl-night2: #0F1A2E; --cl-night3: #16233B; --cl-nmuted: #9AA8BE;
  --cl-accent: #FF6B1A; --cl-accent-text: #C2410C;
  --cl-font: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'PingFang SC', 'Microsoft YaHei', sans-serif;
}

/* ---------- typography ---------- */
body, .template, .el-button, .el-input__inner, .el-textarea__inner, .el-select-dropdown__item,
.el-menu, .el-menu-item, .el-submenu__title, .el-table, .el-dialog, .el-message, .el-message-box,
.el-tabs__item, .el-form-item__label, .el-pagination, .el-checkbox__label, .el-radio__label,
.el-tooltip__popper, .el-popover, .el-dropdown-menu__item, .el-descriptions, .el-tag, .el-empty__description {
  font-family: var(--cl-font) !important;
}
body { color: var(--cl-text); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

/* ---------- shell ---------- */
.el-main { background: var(--cl-soft); }
.el-aside { background: var(--cl-night) !important; border-right: 1px solid var(--cl-night3); }
.el-aside .el-menu { background: transparent !important; border-right: 0 !important; }
.el-aside .el-menu-item, .el-aside .el-submenu__title {
  color: var(--cl-nmuted) !important; font-weight: 500; border-radius: 8px; margin: 2px 10px;
  height: 40px !important; line-height: 40px !important; transition: background .15s, color .15s;
}
.el-aside .el-menu-item, .el-aside .el-submenu__title { background-color: transparent !important; width: auto !important; padding-left: 14px !important; padding-right: 10px !important; }
.el-aside .el-menu-item.is-active::after { display: none !important; }
.el-aside .aside-menu-text { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.el-aside .el-menu-item:hover, .el-aside .el-submenu__title:hover { background: rgba(255,255,255,.06) !important; color: #fff !important; }
.el-aside .el-menu-item.is-active { background: rgba(255,255,255,.09) !important; color: #fff !important; }
.el-aside .el-menu-item.is-active::before {
  content: ''; position: absolute; left: -10px; top: 10px; bottom: 10px; width: 3px;
  border-radius: 0 3px 3px 0; background: var(--cl-accent);
}
.el-aside .el-menu-item [class*="icon"], .el-aside .el-menu-item img { opacity: .85; }
.el-aside .el-menu-item.is-active [class*="icon"], .el-aside .el-menu-item.is-active img { opacity: 1; }
.el-header { background: #fff !important; border-bottom: 1px solid var(--cl-line) !important; box-shadow: none !important; }

/* ---------- page headings & cards ---------- */
.main-title { font-size: 24px !important; font-weight: 700 !important; color: var(--cl-ink) !important; letter-spacing: -.01em; }
.main-content-box { background: #fff; border: 1px solid var(--cl-line); border-radius: 14px; box-shadow: 0 1px 2px rgba(15,26,43,.04); }

/* ---------- Element UI controls ---------- */
.el-button { border-radius: 8px !important; font-weight: 600 !important; }
.el-button--primary { background: var(--cl-ink) !important; border-color: var(--cl-ink) !important; color: #fff !important; }
.el-button--primary:hover, .el-button--primary:focus { background: var(--cl-ink2) !important; border-color: var(--cl-ink2) !important; }
.el-button--primary.is-plain { background: #fff !important; color: var(--cl-ink) !important; border-color: var(--cl-line2) !important; }
.el-button--primary.is-plain:hover { background: var(--cl-soft2) !important; }
.el-button--text, .el-link.el-link--primary { color: var(--cl-accent-text) !important; }
.el-input__inner, .el-textarea__inner { border-radius: 8px !important; border-color: var(--cl-line2); }
.el-input__inner:focus, .el-textarea__inner:focus, .el-select .el-input.is-focus .el-input__inner { border-color: var(--cl-ink) !important; box-shadow: 0 0 0 3px rgba(15,26,43,.08); }
.el-tabs__item.is-active { color: var(--cl-ink) !important; font-weight: 600; }
.el-tabs__active-bar { background-color: var(--cl-accent) !important; }
.el-table th, .el-table thead th { background: var(--cl-soft) !important; color: var(--cl-muted) !important; font-weight: 600 !important; }
.el-dialog { border-radius: 14px !important; overflow: hidden; }
.el-dialog__title { font-weight: 700 !important; color: var(--cl-ink) !important; }
.el-tag { border-radius: 6px !important; }

/* ---------- product list ---------- */
.shopping-item {
  background: #fff !important; border: 1px solid var(--cl-line) !important; border-radius: 12px !important;
  transition: border-color .15s, box-shadow .15s, transform .15s;
}
.shopping-item:hover { border-color: var(--cl-line2) !important; box-shadow: 0 10px 28px rgba(15,26,43,.08); transform: translateY(-2px); }
.goods-name { font-size: 16px !important; font-weight: 600 !important; color: var(--cl-ink) !important; }
.goods-description { font-size: 13px !important; line-height: 1.65 !important; color: var(--cl-muted) !important; word-break: normal !important; overflow-wrap: break-word !important; }
.item-price { color: var(--cl-ink) !important; font-size: 18px !important; font-weight: 700 !important; }

/* ---------- order / configure page ---------- */
.pro-tit { font-size: 28px !important; font-weight: 700 !important; color: var(--cl-ink) !important; letter-spacing: -.015em; }
.config-box .description {
  height: auto !important; min-height: 0 !important; padding: 16px 18px !important;
  background: var(--cl-soft) !important; border: 1px solid var(--cl-line) !important; border-radius: 12px !important;
  font-size: 14px !important; line-height: 1.7 !important; color: var(--cl-muted) !important;
  word-break: normal !important; overflow-wrap: break-word !important;
}
.config-box .description p { margin: 0 0 6px; }
.config-box .description p:last-child { margin-bottom: 0; }
.config-box .description strong { color: var(--cl-ink); font-weight: 600; font-size: 15px; }
.config-tit { font-size: 15px !important; font-weight: 600 !important; color: var(--cl-ink) !important; }
.config-way .item, .click-select .item, .cycle { border-radius: 10px !important; border-color: var(--cl-line) !important; transition: border-color .15s, box-shadow .15s; }
.config-way .item:hover, .click-select .item:hover, .cycle:hover { border-color: var(--cl-line2) !important; }
.com-active { border-color: var(--cl-ink) !important; box-shadow: 0 0 0 1px var(--cl-ink) inset; }
.cycle .price, .cycle .name { font-size: 14px !important; }
.cycle .price { color: var(--cl-ink) !important; font-weight: 600 !important; }
.order-right { border-left: 1px solid var(--cl-line) !important; box-shadow: none !important; }
.right-title { font-size: 16px !important; font-weight: 700 !important; color: var(--cl-ink) !important; }
.right-main .des, .right-main .value, .right-main .info span {
  white-space: normal !important; overflow: visible !important; text-overflow: clip !important; word-break: break-word;
}
/* summary sizing */
.right-main .info, .right-main .des, .right-main .value, .right-main .subtotal, .right-main .info span { font-size: 13px !important; line-height: 1.5 !important; color: var(--cl-text); }
.right-main .des { color: var(--cl-muted) !important; }
.order-right-footer .left, .footer-total .left { font-size: 14px !important; color: var(--cl-muted) !important; }
.footer-total .right, .footer-total .price { color: var(--cl-ink) !important; font-weight: 700 !important; }
.discount-text { color: var(--cl-accent-text) !important; border-color: #FED7AA !important; background: #FFF7ED !important; border-radius: 6px !important; }

/* ---------- login / register / forgot password ---------- */
.container-back { background: radial-gradient(900px 520px at 15% 0%, var(--cl-night3) 0%, var(--cl-night) 62%) !important; }
.back-line1, .back-line2, .back-line3 { background: rgba(255,255,255,.04) !important; }
.text-welcome { letter-spacing: .08em; color: #fff !important; }
.text-title { color: #E7ECF4 !important; font-weight: 600 !important; }
.text-level { color: var(--cl-nmuted) !important; font-size: 15px !important; line-height: 1.6 !important; max-width: 420px; }
.container-before { border-radius: 16px !important; box-shadow: 0 24px 48px rgba(15,26,43,.14) !important; overflow: hidden; }
.login { box-shadow: none !important; }
.login-text-regist a, .read-text a { color: var(--cl-accent-text) !important; font-weight: 600; cursor: pointer; }
.login-text-regist a:hover, .read-text a:hover { text-decoration: underline; }
.login-text-title { font-weight: 700 !important; color: var(--cl-ink) !important; letter-spacing: -.01em; }
.login-top .active { color: var(--cl-ink) !important; font-weight: 600; }
.login-btn, .login-btn.el-button { background: var(--cl-ink) !important; border-color: var(--cl-ink) !important; color: #fff !important; border-radius: 10px !important; }
.login-btn:hover { background: var(--cl-ink2) !important; }

.f-btn .el-button, .order-right-footer .el-button { padding-left: 14px !important; padding-right: 14px !important; white-space: nowrap; }
