/* Wanfeng storefront: shared tokens and responsive layouts. Loaded after legacy page styles. */
:root {
    --brand:#f04a27;
    --brand-dark:#c73316;
    --ink:#27231f;
    --muted:#79716b;
    --paper:#fff;
    --canvas:#faf8f4;
    --line:#ece6df;
    --peach:#ffe6d8;
    --yellow:#fbe984;
    --radius:20px;
}

html {
    scroll-behavior:smooth;
}

body {
    width:auto;
    min-width:320px;
    background:var(--canvas);
    color:var(--ink);
    font-size:14px;
    line-height:1.6;
}

body,input,button,select,textarea {
    font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif;
}

a {
    color:inherit;
}

button,input[type=button],input[type=submit],summary {
    cursor:pointer;
}

a,button,input {
    transition:background-color .18s,color .18s,box-shadow .18s;
}

a:hover {
    color:var(--brand);
}

:focus-visible {
    outline:3px solid #a63c23;
    outline-offset:4px;
}

img {
    object-fit:contain;
}

button {
    font:inherit;
}

button:disabled,input:disabled {
    cursor:not-allowed;
    opacity:.55;
}

.w,.container,.w1100 {
    width:min(1200px,calc(100% - 48px));
    box-sizing:border-box;
}

#header {
    background:#29241f;
    height:38px;
}

#header .center {
    width:min(1200px,calc(100% - 48px));
    height:38px;
    flex-shrink:1;
}

#header .center .fl {
    width:auto;
}

#header .center ul li a,#header .center .fr .login li a {
    color:#efe6dc;
    font-size:12px;
}

#header .center .fr,#header .center .fr .user {
    height:38px;
}

#header .center .fr .shopcart {
    background:var(--brand);
    margin:0 0 0 18px;
    padding:0 12px;
    width:auto;
}

#header .center .fr .user .username {
    color:#fff;
    line-height:38px;
}

#header .center .fr .user:hover .username,#header .center .fr .user:focus-within .username {
    color:var(--ink);
    background:white;
}

#header .center .fr .user .selector {
    top:38px;
    border-radius:0 0 12px 12px;
}

#header .center .fr .user:focus-within .selector {
    height:140px;
    padding:7px 0;
}

#header .center .fr .user:hover .selector {
    height:140px;
}

#header .center .fr .user .selector li a {
    color:var(--ink);
}

#nav {
    height:104px;
    background:white;
    border-bottom:1px solid var(--line);
}

#nav .banner_x {
    width:min(1200px,calc(100% - 48px));
    align-items:center;
    gap:24px;
}

#nav .banner_x .logo {
    display:flex;
    align-items:center;
    gap:12px;
    width:auto;
    flex-shrink:0;
    height:auto;
    margin:0;
    background:none;
    text-indent:0;
    font-size:23px;
    font-weight:900;
    letter-spacing:-1px;
    color:var(--ink);
}

.brand-mark {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:48px;
    height:48px;
    border-radius:14px;
    background:var(--brand);
    color:#fff;
    font-size:27px;
    font-weight:900;
    letter-spacing:-3px;
    transform:rotate(-6deg);
}

#nav .logo small {
    display:block;
    font-size:9px;
    letter-spacing:1px;
    color:var(--muted);
    font-weight:500;
}

#nav .banner_x .list {
    margin:0;
    gap:20px;
    align-items:center;
}

#nav .banner_x .list>li {
    font-size:14px;
    margin:0;
    white-space:nowrap;
}

#nav .banner_x .list a {
    color:var(--ink);
    font-weight:600;
}

#nav .banner_x .list a:hover {
    color:var(--brand);
}

#nav .banner_x .list img {
    display:none;
}

#nav .banner_x .fr {
    height:46px;
    margin-left:auto;
    flex-grow:1;
    max-width:390px;
    background:var(--canvas);
    border:1px solid var(--line);
    border-radius:12px;
    padding:4px;
    box-sizing:border-box;
}

#nav .banner_x .fr .search {
    flex:1;
    min-width:0;
}

#nav .banner_x .fr .search .text {
    width:100%;
    height:36px;
    border:0;
    background:transparent;
    padding:0 12px;
    font-size:13px;
}

#nav .banner_x .fr .search .text:focus {
    outline:0;
    border:0;
}

#nav .banner_x .fr:focus-within {
    box-shadow:0 0 0 3px #f04a2726;
    border-color:var(--brand);
}

#nav .banner_x .fr .button {
    height:36px;
    width:66px;
    line-height:36px;
    border:0;
    border-radius:9px;
    background:var(--brand);
    color:white;
    font-size:13px;
    flex-shrink:0;
}

#nav .banner_x .fr .button:hover {
    background:var(--brand-dark);
}

.store-home {
    width:min(1200px,calc(100% - 48px));
    margin:auto;
}

.discovery-bar {
    position:relative;
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:12px 26px;
    min-height:64px;
    padding:12px 0;
    box-sizing:border-box;
    font-size:13px;
}

.category-label {
    font-weight:800;
    margin-right:8px;
}

.discovery-bar>a {
    margin-left:auto;
    font-weight:600;
}

.category-menu summary {
    list-style:none;
}

.category-menu summary::-webkit-details-marker {
    display:none;
}

.category-menu summary::after {
    content:'⌄';
    margin-left:8px;
    color:var(--muted);
}

.category-menu[open] summary {
    color:var(--brand);
}

.category-panel {
    position:absolute;
    top:100%;
    left:0;
    right:0;
    z-index:50;
    padding:24px;
    background:white;
    border:1px solid var(--line);
    border-radius:16px;
    box-shadow:0 18px 35px #3925171a;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px;
}

.category-links {
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:10px;
}

.category-links a {
    background:var(--canvas);
    padding:5px 10px;
    border-radius:6px;
}

.home-hero {
    display:grid;
    grid-template-columns:1fr 1.1fr;
    min-height:416px;
    border-radius:24px;
    overflow:hidden;
    background:var(--peach);
}

.hero-copy {
    padding:42px 46px;
    position:relative;
}

.eyebrow {
    font-size:10px;
    font-weight:800;
    letter-spacing:2px;
}

.hero-copy h1 {
    font-size:clamp(36px,4vw,58px);
    line-height:1.18;
    letter-spacing:-2px;
    margin:20px 0;
}

.hero-copy h1 span {
    color:var(--brand);
}

.hero-copy p {
    color:#75604f;
    font-size:14px;
    line-height:1.85;
}

.store-button {
    display:inline-flex;
    align-items:center;
    gap:28px;
    background:var(--ink);
    color:white;
    padding:12px 22px;
    border-radius:10px;
    font-weight:700;
    margin-top:22px;
}

.store-button:hover {
    background:var(--brand);
    color:white;
}

.hero-caption {
    font-size:11px;
    margin-top:20px;
    color:#75604f;
}

.spark {
    color:var(--brand);
    font-size:22px;
    vertical-align:middle;
    margin-right:8px;
}

.hero-media {
    min-width:0;
    position:relative;
    background:#f7c5aa;
}

.hero-media .swiper-container {
    width:100%;
    height:100%;
    position:absolute;
    inset:0;
}

.hero-media .swiper-slide a {
    display:flex;
    height:100%;
    align-items:center;
    background:#f9dfcb;
}

.hero-media .swiper-slide img {
    width:100%;
    height:100%;
    object-fit:contain;
}

.hero-media .swiper-button-prev,.hero-media .swiper-button-next {
    border:0;
    border-radius:50%;
    width:34px;
    height:34px;
    background:#ffffffcf;
    color:var(--ink);
    --swiper-navigation-size:12px;
}

.hero-media .swiper-pagination-bullet-active {
    background:var(--brand);
}

.hero-fallback {
    display:flex;
    align-items:center;
    justify-content:center;
    height:100%;
    position:relative;
    min-height:360px;
    background:radial-gradient(circle at 50% 50%,#fff7e0 0 38%,transparent 38%),#f9c6a6;
}

.hero-fallback img {
    width:56%;
    height:280px;
    mix-blend-mode:multiply;
    transform:rotate(-12deg);
}

.hero-sticker {
    position:absolute;
    right:25px;
    top:25px;
    z-index:1;
    display:grid;
    place-content:center;
    width:90px;
    height:90px;
    border-radius:50%;
    background:var(--yellow);
    font-size:17px;
    line-height:1.4;
    font-weight:900;
    transform:rotate(12deg);
    border:1px solid #27231f;
}

.hero-media-label {
    position:absolute;
    left:28px;
    bottom:24px;
    font-size:12px;
    font-weight:700;
    letter-spacing:1px;
}

.campaign-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px;
    margin-top:22px;
}

.campaign {
    display:flex;
    align-items:center;
    gap:20px;
    position:relative;
    padding:24px 28px;
    border-radius:18px;
    min-height:130px;
    box-sizing:border-box;
}

.campaign-orange {
    background:var(--brand);
    color:white;
}

.campaign-yellow {
    background:var(--yellow);
    color:var(--ink);
}

.campaign:hover {
    color:inherit;
    box-shadow:0 5px 16px #49271617;
}

.campaign small {
    font-size:11px;
    letter-spacing:1px;
    opacity:.85;
}

.campaign h2 {
    font-size:21px;
    font-weight:800;
    margin:3px 0;
}

.campaign p {
    font-size:12px;
    opacity:.85;
}

.campaign-icon {
    font-size:55px;
    line-height:1;
    font-weight:900;
    transform:rotate(-12deg);
    width:64px;
    text-align:center;
    flex-shrink:0;
}

.campaign-arrow {
    margin-left:auto;
    font-size:24px;
}

.product-section {
    margin:44px 0;
    scroll-margin-top:24px;
}

.section-heading {
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:16px;
    margin-bottom:20px;
}

.section-heading .eyebrow {
    color:var(--muted);
    font-size:9px;
}

.section-heading h2 {
    font-size:27px;
    font-weight:900;
    margin-top:4px;
}

.section-heading>a {
    font-size:12px;
    flex-shrink:0;
}

.section-tag {
    font-size:11px;
    color:var(--brand-dark);
    background:#ffe9df;
    padding:5px 9px;
    border-radius:6px;
    vertical-align:middle;
    margin-left:10px;
    font-weight:500;
}

.product-grid {
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:18px;
}

.product-card {
    background:white;
    min-width:0;
    border:1px solid var(--line);
    border-radius:16px;
    overflow:hidden;
    padding:12px;
    transition:transform .2s,box-shadow .2s;
}

.product-card:hover {
    transform:translateY(-4px);
    box-shadow:0 12px 25px #45251312;
    color:var(--ink);
}

.product-image {
    position:relative;
    aspect-ratio:1;
    background:#f7f5f1;
    border-radius:10px;
    overflow:hidden;
    display:grid;
    place-items:center;
}

.product-image img {
    width:90%;
    height:90%;
    object-fit:contain;
    mix-blend-mode:multiply;
}

.product-badge {
    position:absolute;
    top:8px;
    left:8px;
    background:white;
    color:var(--brand-dark);
    font-size:10px;
    font-weight:700;
    padding:3px 7px;
    border-radius:5px;
    max-width:80%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.product-card h3 {
    font-size:14px;
    line-height:1.6;
    margin:14px 2px 5px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.product-card>p {
    color:var(--muted);
    font-size:11px;
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
    margin:0 2px;
}

.product-bottom {
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin:14px 2px 0;
}

.product-bottom strong {
    color:var(--brand-dark);
    font-size:23px;
    letter-spacing:-.5px;
}

.product-bottom small {
    font-size:13px;
    margin-right:3px;
}

.product-plus {
    width:28px;
    height:28px;
    border-radius:50%;
    background:var(--canvas);
    text-align:center;
    line-height:28px;
    font-size:18px;
}

.store-empty {
    text-align:center;
    padding:48px 20px;
    background:white;
    border:1px dashed #ddc6b6;
    border-radius:18px;
    grid-column:1/-1;
}

.store-empty h3 {
    font-size:22px;
}

.store-empty p {
    color:var(--muted);
    margin:10px 0 16px;
}

.store-empty a {
    color:var(--brand-dark);
    font-weight:700;
}

.store-footer {
    background:#29241f;
    color:#e4dbd2;
    margin-top:56px;
    padding:40px 0 22px;
}

.store-footer-inner {
    width:min(1200px,calc(100% - 48px));
    margin:auto;
}

.store-footer-top {
    display:flex;
    justify-content:space-between;
    gap:32px;
    padding-bottom:30px;
}

.store-footer h2 {
    color:white;
    font-size:23px;
    margin-bottom:8px;
}

.store-footer p {
    font-size:12px;
    color:#b5aaa0;
}

.store-footer nav {
    display:flex;
    gap:24px;
    align-items:center;
    flex-wrap:wrap;
    font-size:13px;
}

.store-footer a {
    color:#eee2d6;
}

.store-footer a:hover {
    color:#ffad87;
}

.store-footer .copyright {
    padding-top:20px;
    border-top:1px solid #494039;
    font-size:11px;
}

/* Product details: image and purchase information follow one clear reading order. */
#detail .dc {
    background:transparent;
    height:auto;
}

#detail .dc .content {
    width:min(1200px,calc(100% - 48px));
    height:58px;
}

#detail .dc .content .title {
    font-size:14px;
    color:var(--muted);
    font-weight:400;
}

#detail .intro {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:36px;
    background:white;
    border:1px solid var(--line);
    padding:32px;
    border-radius:24px;
    box-sizing:border-box;
    margin-top:0;
}

#detail .intro:after,#detail .intro>.clear {
    display:none;
}

#detail .intro .left,#detail .intro .right {
    width:auto;
    float:none;
    min-width:0;
}

#detail .intro .left {
    background:#f8f6f2;
    border-radius:16px;
    display:flex;
    align-items:center;
    justify-content:center;
}

#detail .intro .left .swiper-container {
    margin:0;
    padding:24px;
    height:auto;
    float:none;
}

#detail .intro .left img {
    width:100%;
    max-height:460px;
    object-fit:contain;
    mix-blend-mode:multiply;
}

#detail .intro .right {
    background:transparent;
    padding:12px 0;
}

#detail .intro .right .h3 {
    font-size:27px;
    line-height:1.4;
    margin:0 0 16px;
}

#detail .intro .right .sub_title {
    height:auto;
    margin:0 0 24px;
    color:var(--muted);
    font-size:14px;
    line-height:1.8;
}

#detail .intro .right .item_price {
    float:none;
    width:auto;
    height:auto;
    margin:0 0 28px;
    padding:18px;
    background:#fff0e7;
    border-radius:12px;
    color:var(--brand-dark);
    font-size:30px;
}

#detail .intro .right .order {
    float:none;
    height:auto;
    display:flex;
    gap:12px;
    line-height:normal;
    margin-bottom:24px;
}

#detail .intro .right .order .car {
    width:auto;
    flex:1;
    height:48px;
    margin:0;
    background:var(--brand);
    border:1px solid var(--brand);
    border-radius:10px;
    font-size:15px;
}

#detail .intro .right .order .car+ .car {
    color:var(--brand-dark);
    background:#fff3ea;
}

#detail .intro .right .order .car:hover {
    background:var(--brand-dark);
    color:white;
}

#detail .tb-extra {
    margin:0;
    clear:both;
}

#detail .goods {
    background:white;
    border-radius:20px;
    padding:28px;
    box-sizing:border-box;
    overflow-wrap:anywhere;
}

#detail .goods img {
    height:auto;
    max-width:100%;
}

/* Search and promotion listings */
.classify .category,.sort .list,.goods_item,.goods_item .main,.coupons,.coupons .main {
    width:min(1200px,calc(100% - 48px));
    box-sizing:border-box;
    margin-left:auto;
    margin-right:auto;
}

.goods_item .main,.coupons .main {
    width:100%;
}

.classify {
    padding-top:20px;
}

.sort {
    height:auto;
    background:transparent;
    padding:16px 0;
}

.sort .list {
    height:auto;
    display:flex;
    gap:10px;
}

.sort .list div {
    padding:8px 24px;
    height:auto;
    line-height:1.6;
    min-width:0;
    border-radius:30px;
    background:white;
    box-sizing:border-box;
}

.sort .list .active,.sort .list div:hover {
    background:var(--brand);
    color:white;
}

.goods_item .main {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:20px;
}

.goods_item .main>.clear {
    display:none;
}

.goods_item .main .item_card_frame {
    float:none;
    width:auto;
    height:auto;
    min-width:0;
    margin:0;
    padding:14px;
    background:white;
    border:1px solid var(--line);
    border-radius:16px;
    box-sizing:border-box;
}

.goods_item .main .item_card {
    width:100%;
    height:auto;
    aspect-ratio:1;
    display:grid;
    place-items:center;
    background:#f7f5f1;
    border-radius:10px;
    overflow:hidden;
}

.goods_item .main .item_card img,.goods_item .main .item_card a img {
    width:100%;
    height:100%;
    max-height:240px;
    object-fit:contain;
    margin:0;
}

.goods_item .main .item_brand {
    height:auto;
    margin-top:12px;
}

.goods_item .main .item_brand a {
    font-size:15px;
}

.goods_item .main .item_sub_intro {
    font-size:12px;
    color:var(--muted);
}

.goods_item .main .item_price,.goods_item .main .seckill_price {
    color:var(--brand-dark);
    font-size:22px;
    padding:10px 0;
}

.goods_item .pages {
    height:auto;
    min-height:80px;
    flex-wrap:wrap;
}

.goods_item .pages .page_wrap .page_span1 .active {
    background:var(--brand);
    border-color:var(--brand);
}

.seckill-title,.coupon-title {
    width:min(1200px,calc(100% - 48px));
    height:auto;
    min-height:130px;
    box-sizing:border-box;
    margin:24px auto;
    background:var(--peach);
    padding:24px 32px;
    border-radius:20px;
}

.seckill-title h1,.coupon-title .text {
    font-size:30px;
    font-weight:900;
    color:var(--ink);
    line-height:1.4;
    height:auto;
    padding:0;
    background:none;
}

.seckill-title p {
    color:var(--brand-dark);
    margin-top:8px;
}

.quan-list {
    display:flex;
    flex-wrap:wrap;
    gap:18px;
}

.quan-list .quan-item {
    margin:0;
    border-radius:16px;
    overflow:hidden;
}

.quan-list .q-opbtns {
    background:var(--brand);
}

/* Cart */
#cart .banner_x {
    width:min(1200px,calc(100% - 48px));
    height:auto;
    min-height:90px;
    display:flex;
    gap:18px;
    align-items:center;
    flex-wrap:wrap;
}

#cart .banner_x .wdgwc {
    font-size:28px;
    font-weight:800;
    line-height:1.4;
    margin:0;
    height:auto;
}

#cart .banner_x .wxts {
    font-size:12px;
    color:var(--muted);
    line-height:1.6;
    margin:0;
    height:auto;
}

#cart .cart_line {
    height:1px;
    background:var(--line);
}

#cart .cart_bg {
    background:transparent;
    padding:24px 0 0;
}

#cart .cart_bg .list {
    width:min(1200px,calc(100% - 48px));
    height:auto;
    min-height:0;
    border-radius:18px;
    border:1px solid var(--line);
    overflow:hidden;
    background:white;
}

#cart .cart_bg .list .top2 {
    width:100%;
    height:auto;
    display:grid;
    grid-template-columns:108px minmax(140px,1fr) 120px 100px 120px 60px;
    align-items:center;
    background:#f0eae3;
    padding:16px 24px;
    box-sizing:border-box;
}

#cart .cart_bg .list .top2 .sub_top {
    width:auto;
    height:auto;
    line-height:1.5;
    font-size:13px;
    float:none;
}

#cart .cart_bg .list .top2>.clear {
    display:none;
}

#cart .cart_bg .list .content2 {
    width:100%;
    height:auto;
    display:grid;
    grid-template-columns:88px minmax(140px,1fr) 120px 100px 120px 60px;
    gap:0 10px;
    align-items:center;
    padding:22px 24px;
    box-sizing:border-box;
    border-top:1px solid var(--line);
}

#cart .cart_bg .list .content2 .sub_content {
    width:auto;
    height:auto;
    line-height:1.7;
    float:none;
    font-size:14px;
    min-width:0;
    overflow-wrap:anywhere;
}

#cart .cart_bg .list .content2 .sub_content:first-child,#cart .cart_bg .list .content2>.clear {
    display:none;
}

#cart .cart_bg .list .content2 .sub_content img {
    width:80px;
    height:80px;
    object-fit:contain;
}

#cart .cart_bg .list .content2 .sub_content .goods_count {
    width:65px;
    height:36px;
    border-radius:8px;
    border:1px solid var(--line);
    box-sizing:border-box;
    text-align:center;
}

#cart .cart_bg .list .content2 .sub_content:nth-of-type(6) {
    color:var(--brand-dark);
    font-weight:800;
}

#cart .cart_bg .pre_order {
    width:min(1200px,calc(100% - 48px));
    height:auto;
    min-height:90px;
    background:white;
    border:1px solid var(--line);
    border-radius:16px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:20px;
    box-sizing:border-box;
}

#cart .cart_bg .pre_order>.clear {
    display:none;
}

#cart .cart_bg .pre_order .tips {
    height:auto;
    line-height:1.5;
    margin:0;
}

#cart .cart_bg .pre_order .order_div {
    width:auto;
    display:flex;
    align-items:center;
    gap:20px;
    height:auto;
    line-height:1.5;
}

#cart .cart_bg .pre_order .order_div .order_total span {
    color:var(--brand-dark);
    font-weight:800;
}

#cart .cart_bg .pre_order .order_div .order_button input {
    height:46px;
    width:135px;
    border:0;
    border-radius:10px;
    background:var(--brand);
    color:white;
}

#cart .cart_bg .pre_order .order_div .order_button .order_button_c {
    background:#e0dad5;
    color:#70675f;
}

/* Account, orders, checkout */
#personal {
    background:transparent;
    padding:28px 0;
}

#personal .self-info {
    width:min(1200px,calc(100% - 48px));
    display:grid;
    grid-template-columns:200px minmax(0,1fr);
    gap:22px;
}

#personal .self-info>.clear {
    display:none;
}

#personal .self-info .lfnav {
    width:auto;
    height:auto;
    align-self:start;
    padding:20px 0;
    background:white;
    border:1px solid var(--line);
    border-radius:16px;
}

#personal .self-info .lfnav .nav_title {
    width:auto;
    margin:10px 24px;
    font-size:16px;
    line-height:2;
    height:auto;
}

#personal .self-info .lfnav .title_list ul li {
    width:auto;
    padding:0 24px;
    box-sizing:border-box;
}

#personal .self-info .lfnav .title_list ul li .active {
    color:var(--brand-dark);
}

#personal .self-info .intro {
    width:auto;
    height:auto;
    min-height:400px;
    float:none;
    background:white;
    padding:24px;
    box-sizing:border-box;
    border:1px solid var(--line);
    border-radius:18px;
    min-width:0;
    overflow-x:auto;
}

#personal .self-info .intro .grzlbt {
    width:auto;
    margin:0;
    height:auto;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    font-size:23px;
    line-height:1.6;
    padding-bottom:20px;
}

#personal .self-info .intro .grzlbt a {
    margin:0!important;
    font-size:13px;
    color:var(--brand-dark)!important;
}

#personal .self-info .intro .info_item {
    display:flex;
    width:auto;
    height:auto;
    line-height:1.8;
    margin:0;
    border:0;
    border-radius:0;
    border-bottom:1px solid var(--line);
    padding:18px 0;
    background:white;
}

#personal .self-info .intro .info_item span:nth-of-type(1) {
    width:100px;
    padding:0;
    height:auto;
    line-height:1.8;
    flex-shrink:0;
}

#personal .self-info .intro .info_item span:nth-of-type(2) {
    width:auto;
    padding:0;
    height:auto;
    line-height:1.8;
    overflow-wrap:anywhere;
}

.uc-main-box,.uc-content-box {
    width:auto;
    box-sizing:border-box;
}

.uc-content-box {
    margin:0;
    padding:0;
}

.uc-content-box .box-hd .title {
    font-size:26px;
}

.uc-content-box .uc-order-item {
    border-color:var(--line);
    border-radius:12px;
    overflow:hidden;
}

.btn-primary,#personal .btn-primary {
    background:var(--brand);
    border-color:var(--brand);
    color:white;
    border-radius:8px;
}

.btn-primary:hover,#personal .btn-primary:hover {
    background:var(--brand-dark);
    border-color:var(--brand-dark);
}

.order-items-table {
    width:100%;
}

.page-main {
    padding:32px 0;
    background:var(--canvas);
}

.section-order,.section-payment {
    border:1px solid var(--line);
    border-radius:18px;
}

.section .money,.section .money em {
    color:var(--brand-dark);
}

.modal-content {
    border-radius:16px;
}

.form-control {
    border-radius:8px;
}

.pay-container {
    border:1px solid var(--line);
    box-shadow:0 12px 40px #4927160a;
}

/* Authentication */
.auth-page {
    background:#fff1e7;
    min-height:100vh;
}

.auth-page .top {
    background:transparent;
    height:auto;
}

.auth-page .top .logo {
    width:min(1120px,calc(100% - 48px));
    height:auto;
    padding:28px 0;
}

.auth-brand {
    display:flex;
    align-items:center;
    gap:12px;
    font-size:23px;
    font-weight:900;
}

.auth-page .form {
    width:min(1120px,calc(100% - 48px));
    height:auto;
    display:grid;
    grid-template-columns:1fr 440px;
    gap:60px;
    background:none;
    align-items:center;
    padding:20px 0 60px;
}

.auth-intro h1 {
    font-size:56px;
    line-height:1.3;
    letter-spacing:-2px;
    margin:18px 0;
}

.auth-intro h1 span {
    color:var(--brand);
}

.auth-intro p {
    color:var(--muted);
}

.auth-intro .auth-art {
    margin-top:28px;
    font-size:88px;
    font-weight:900;
    color:var(--brand);
    letter-spacing:-6px;
}

.auth-page .form .login {
    width:100%;
    height:auto;
    margin:0;
    background:white;
    color:var(--ink);
    border:1px solid var(--line);
    border-radius:24px;
    box-shadow:0 16px 45px #6b38120a;
    box-sizing:border-box;
    padding:32px;
}

.auth-page .form .login .login_center {
    width:auto;
    margin:0;
    padding:0;
}

.auth-page .form .login .login_top {
    margin:0 0 24px;
}

.auth-page .form .login .login_top .left {
    float:none;
    font-size:27px;
}

.auth-page .form .login .login_top .right {
    float:none;
    font-size:12px;
}

.auth-page .form .login .login_top .right a {
    color:var(--brand-dark);
}

.auth-page .form .login .under-line {
    display:none;
}

.auth-page .form .login .login-info {
    font:inherit;
    height:auto;
    line-height:1.8;
    margin:18px 0;
}

.auth-page .form .login .login-info label {
    display:block;
    margin-bottom:8px;
    font-size:13px;
    font-weight:600;
}

.auth-page .form .login .login-info .login-info-input {
    width:100%;
    height:46px;
    box-sizing:border-box;
    border:1px solid #ddd5cc;
    border-radius:9px;
    background:#fdfbf8;
    padding:10px 12px;
}

.auth-page .form .login .login-info .verify-code {
    width:calc(100% - 138px);
}

.auth-page .form .login .login-info img {
    position:static!important;
    vertical-align:middle;
    width:120px;
    height:42px;
    margin-left:10px;
    cursor:pointer;
}

.auth-page .form .login .login_submit .submit {
    width:100%;
    height:48px;
    margin:6px 0 0;
    background:var(--brand);
    border-radius:10px;
    font-size:16px;
}

.auth-page .form .login .login_submit .submit:hover {
    background:var(--brand-dark);
}

@media(min-width:1500px) {
    .home-hero {
        min-height:440px;
    }
}

@media(max-width:1050px) {
    #nav .banner_x {
        gap:18px;
    }
    #nav .banner_x .list {
        gap:14px;
    }
    #nav .banner_x .list>li:first-child {
        display:none;
    }
    .home-hero {
        grid-template-columns:1fr 1fr;
    }
    .hero-copy {
        padding:34px 28px;
    }
    .campaign {
        padding:20px;
        gap:12px;
    }
    .campaign h2 {
        font-size:18px;
    }
    .campaign-icon {
        font-size:42px;
        width:42px;
    }
    .product-grid {
        grid-template-columns:repeat(4,minmax(0,1fr));
    }
    .auth-page .form {
        grid-template-columns:1fr 400px;
        gap:28px;
    }
    .auth-intro h1 {
        font-size:44px;
    }
    #cart .cart_bg .list .content2 {
        grid-template-columns:70px minmax(120px,1fr) 80px 70px 90px 30px;
    }
    #cart .cart_bg .list .top2 {
        grid-template-columns:80px minmax(120px,1fr) 90px 80px 100px 30px;
    }
}

@media(max-width:760px) {
    .w,.container,.w1100,.store-home,#header .center,#nav .banner_x,.store-footer-inner {
        width:calc(100% - 32px);
    }
    #header .center .fl a {
        font-size:10px;
    }
    #header .center .fr .shopcart {
        margin-left:6px;
        padding:0 8px;
    }
    #header .center .fr .user {
        width:92px;
    }
    #nav {
        height:auto;
    }
    #nav .banner_x {
        flex-wrap:wrap;
        gap:14px;
        padding:18px 0;
    }
    #nav .banner_x .logo {
        font-size:20px;
        gap:9px;
    }
    .brand-mark {
        width:40px;
        height:40px;
        font-size:24px;
    }
    #nav .banner_x .list {
        margin-left:auto;
        gap:14px;
    }
    #nav .banner_x .list>li {
        font-size:12px;
    }
    #nav .banner_x .fr {
        flex-basis:100%;
        max-width:none;
        order:3;
        margin:0;
    }
    .discovery-bar {
        gap:12px 18px;
        font-size:12px;
        padding:16px 0;
    }
    .category-label {
        display:none;
    }
    .category-panel {
        grid-template-columns:1fr 1fr;
        padding:18px;
    }
    .home-hero {
        grid-template-columns:1fr;
        min-height:0;
        border-radius:18px;
    }
    .hero-copy {
        padding:28px;
    }
    .hero-copy h1 {
        font-size:43px;
        margin:16px 0;
    }
    .hero-copy p {
        font-size:13px;
    }
    .hero-caption {
        display:none;
    }
    .hero-media {
        height:240px;
    }
    .hero-fallback {
        min-height:240px;
    }
    .hero-fallback img {
        height:195px;
        width:55%;
    }
    .hero-sticker {
        width:70px;
        height:70px;
        font-size:14px;
        top:16px;
        right:22px;
    }
    .hero-media-label {
        font-size:11px;
        bottom:16px;
    }
    .campaign-grid {
        gap:12px;
        margin-top:16px;
    }
    .campaign {
        display:block;
        padding:18px 15px;
        min-height:145px;
    }
    .campaign-icon {
        display:none;
    }
    .campaign h2 {
        font-size:17px;
        line-height:1.5;
        margin:8px 0;
    }
    .campaign p {
        font-size:10px;
    }
    .campaign-arrow {
        position:absolute;
        right:14px;
        top:10px;
        font-size:18px;
    }
    .campaign small {
        font-size:10px;
    }
    .product-section {
        margin:32px 0;
    }
    .section-heading h2 {
        font-size:23px;
    }
    .section-heading .eyebrow {
        font-size:8px;
        letter-spacing:1px;
    }
    .section-tag {
        display:none;
    }
    .product-grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:12px;
    }
    .product-card {
        padding:10px;
        border-radius:12px;
    }
    .product-card h3 {
        font-size:13px;
    }
    .product-bottom strong {
        font-size:22px;
    }
    .store-footer {
        padding:28px 0 20px;
        margin-top:36px;
    }
    .store-footer-top {
        display:block;
    }
    .store-footer nav {
        margin-top:24px;
        gap:14px;
        font-size:12px;
    }
    .store-footer .copyright {
        font-size:10px;
    }
    #detail .dc .content {
        width:calc(100% - 32px);
    }
    #detail .intro {
        grid-template-columns:1fr;
        gap:20px;
        padding:18px;
        border-radius:18px;
    }
    #detail .intro .left img {
        max-height:300px;
    }
    #detail .intro .right .h3 {
        font-size:23px;
    }
    #detail .intro .right .item_price {
        font-size:27px;
    }
    #detail .goods {
        padding:16px;
    }
    .classify .category,.sort .list,.goods_item,.coupons,.seckill-title,.coupon-title {
        width:calc(100% - 32px);
    }
    .goods_item .main {
        width:100%;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:12px;
    }
    .goods_item .main .item_card_frame {
        padding:10px;
    }
    .goods_item .main .item_brand a {
        font-size:13px;
    }
    .goods_item .main .item_sub_intro {
        white-space:normal;
        height:auto;
        font-size:11px;
    }
    .goods_item .pages .page_wrap {
        padding:16px 0;
    }
    .goods_item .pages .page_span2 {
        display:none;
    }
    .classify .category .category_bar {
        height:auto;
        min-height:40px;
    }
    .seckill-title,.coupon-title {
        padding:22px;
        min-height:110px;
    }
    .seckill-title h1,.coupon-title .text {
        font-size:25px;
    }
    .quan-list .quan-item {
        max-width:100%;
        box-sizing:border-box;
    }
    #personal .self-info {
        width:calc(100% - 32px);
        grid-template-columns:1fr;
        gap:16px;
    }
    #personal .self-info .lfnav {
        padding:10px 14px;
    }
    #personal .self-info .lfnav .nav_title {
        margin:8px 0;
        font-size:14px;
    }
    #personal .self-info .lfnav .title_list ul {
        display:flex;
        gap:8px;
        flex-wrap:wrap;
    }
    #personal .self-info .lfnav .title_list ul li {
        padding:0 10px;
        font-size:12px;
        height:34px;
        line-height:34px;
        background:var(--canvas);
        border-radius:8px;
    }
    #personal .self-info .intro {
        padding:18px;
        min-height:0;
    }
    #personal .self-info .intro .grzlbt {
        font-size:21px;
    }
    #personal .self-info .intro .info_item span:nth-of-type(1) {
        width:80px;
        font-size:13px;
    }
    #personal .self-info .intro .info_item span:nth-of-type(2) {
        font-size:13px;
    }
    .uc-content-box .box-hd .title {
        font-size:22px;
    }
    .uc-content-box .box-hd {
        height:auto;
    }
    .order-progress {
        overflow-x:auto;
    }
    .order-items-table {
        min-width:560px;
    }
    .section-order .order-info .fl,.section-order .order-info .fr {
        float:none;
    }
    .section-order,.section-payment {
        padding:20px;
    }
    .section .title {
        font-size:22px;
    }
    .payment-list {
        display:flex;
        flex-wrap:wrap;
    }
    .payment-list li {
        max-width:100%;
    }
    #cart .banner_x {
        width:calc(100% - 32px);
        gap:12px;
        padding:20px 0;
    }
    #cart .banner_x .wdgwc {
        font-size:25px;
    }
    #cart .banner_x .wxts {
        flex-basis:100%;
    }
    #cart .cart_bg .list {
        width:calc(100% - 32px);
    }
    #cart .cart_bg .list .top2 {
        display:none;
    }
    #cart .cart_bg .list .content2 {
        grid-template-columns:74px minmax(0,1fr) 32px;
        gap:12px;
        padding:18px;
    }
    #cart .cart_bg .list .content2 .sub_content:nth-child(2) {
        grid-row:1/3;
    }
    #cart .cart_bg .list .content2 .sub_content:nth-child(3) {
        grid-column:2;
        grid-row:1;
    }
    #cart .cart_bg .list .content2 .sub_content:nth-child(4) {
        grid-column:2;
        grid-row:2;
        color:var(--muted);
        font-size:12px;
    }
    #cart .cart_bg .list .content2 .sub_content:nth-child(5) {
        grid-column:1;
        grid-row:3;
    }
    #cart .cart_bg .list .content2 .sub_content:nth-child(6) {
        grid-column:2;
        grid-row:3;
    }
    #cart .cart_bg .list .content2 .sub_content:nth-child(7) {
        grid-column:3;
        grid-row:1;
    }
    #cart .cart_bg .pre_order {
        width:calc(100% - 32px);
        padding:18px;
        display:block;
    }
    #cart .cart_bg .pre_order .tips {
        float:none;
    }
    #cart .cart_bg .pre_order .order_div {
        float:none;
        flex-wrap:wrap;
        justify-content:space-between;
        gap:12px;
        margin-top:14px;
    }
    #cart .cart_bg .pre_order .order_div .order_total {
        font-size:12px;
    }
    #cart .cart_bg .pre_order .order_div .order_button input {
        width:110px;
    }
    .auth-page .top .logo {
        width:calc(100% - 40px);
        padding:24px 0;
    }
    .auth-page .form {
        width:calc(100% - 32px);
        grid-template-columns:1fr;
        gap:24px;
        padding:10px 0 40px;
    }
    .auth-intro {
        padding:0 12px;
    }
    .auth-intro h1 {
        font-size:32px;
        margin:10px 0;
    }
    .auth-intro h1 br {
        display:none;
    }
    .auth-intro .auth-art {
        display:none;
    }
    .auth-intro p {
        font-size:12px;
    }
    .auth-page .form .login {
        padding:26px 24px;
    }
    .auth-page .form .login .login_top .left {
        font-size:24px;
    }
}

@media(prefers-reduced-motion:reduce) {
    html {
        scroll-behavior:auto;
    }
    *,*::before,*::after {
        transition:none!important;
        animation:none!important;
    }
}

/* Reset legacy nth-child spacing before applying the cart grid. */
#cart .cart_bg .list .content2 .sub_content:nth-of-type(n) {
    margin:0;
    width:auto;
    white-space:normal;
}

#cart .cart_bg .list .top2 .sub_top:nth-of-type(n) {
    margin:0;
    width:auto;
}

#cart .cart_bg .list .content2 .sub_content .goods_count {
    color:var(--ink);
}

#cart .cart_bg .pre_order .tips {
    width:auto;
}

#cart .cart_bg .pre_order .order_div {
    color:var(--muted);
}

#cart .cart_bg .pre_order .tips ul li span {
    color:var(--brand-dark);
}

#cart .cart_bg .pre_order .order_div .order_button .order_button_d {
    width:135px;
    height:46px;
    background:var(--brand);
    font-size:16px;
}

#cart .cart_bg .pre_order .order_div .order_button .order_button_d:hover {
    background:var(--brand-dark);
}

#cart .cart_bg .list .content2 .sub_content a {
    display:flex;
    align-items:center;
    justify-content:center;
    width:32px;
    height:32px;
    background:var(--canvas);
    line-height:1;
    color:var(--muted);
    border-radius:50%;
    font-size:22px;
}

@media(max-width:760px) {
    #cart .cart_bg .pre_order .order_div .order_button .order_button_d {
        width:110px;
    }
}

/* Listing rules include the legacy card scope so fixed dimensions cannot win. */
.goods_item .main .item_card_frame .item_card {
    width:100%;
    height:auto;
    aspect-ratio:1;
    overflow:hidden;
}

.goods_item .main .item_card_frame .item_card a {
    display:block;
    width:100%;
    height:100%;
    min-width:0;
}

.goods_item .main .item_card_frame .item_card a img,.goods_item .main .item_card_frame .item_card img {
    display:block;
    width:100%;
    height:100%;
    margin:0;
    max-height:none;
    object-fit:contain;
}

.goods_item .main .item_card_frame .item_card a img:hover {
    transform:none;
}

.goods_item .main .item_card_frame .item_brand {
    width:auto;
    height:auto;
    margin:12px 0 6px;
    text-align:left;
    overflow:hidden;
}

.goods_item .main .item_card_frame .item_brand a {
    display:block;
    font-size:14px;
    text-align:left;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.goods_item .main .item_card_frame .item_sub_intro {
    width:auto;
    height:auto;
    padding:0;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    text-align:left;
    font-size:12px;
    color:var(--muted);
}

.goods_item .main .item_card_frame .item_price {
    font-size:22px;
    color:var(--brand-dark);
    text-align:left;
    margin-top:10px;
}

.goods_item .main .item_card_frame:hover {
    box-shadow:0 8px 22px #45251312;
}

.sort .list a {
    display:block;
}

.sort .list a div {
    padding:8px 22px;
    margin:0;
    width:auto;
}

@media(max-width:760px) {
    .auth-intro h1 br {
        display:block;
    }
    .goods_item .main .item_card_frame .item_brand a {
        font-size:13px;
    }
    .goods_item .main .item_card_frame .item_sub_intro {
        font-size:11px;
    }
}

.goods_item .main .item_card_frame .item_card {
    padding:0;
    box-sizing:border-box;
}

.goods_item .main .item_card_frame .item_card a img:hover,.goods_item .main .item_card_frame .item_card img:hover {
    width:100%;
    height:100%;
    opacity:1;
}

.goods_item .main .item_card_frame .item_brand a {
    padding:0;
    line-height:1.6;
}

.goods_item .pages .page_wrap {
    width:100%;
}

.coupon-title .text,.quan-list {
    width:100%;
}

.quan-item .q-price {
    color:var(--brand-dark);
}

@media(max-width:760px) {
    .quan-list {
        display:grid;
        grid-template-columns:1fr;
    }
    .quan-list .quan-item {
        width:100%;
        padding-right:52px;
    }
    .quan-item .q-type {
        padding-left:18px;
    }
    .quan-item .limit {
        width:auto;
    }
}

.uc-main-box {
    padding:0;
}

.order-view-box .uc-order-item .progress-list {
    width:100%;
    display:flex;
    height:auto;
    background:#f1ebe4;
    border-radius:8px;
    overflow:hidden;
}

.order-view-box .uc-order-item .progress-list .step {
    float:none;
    flex:1;
    min-width:0;
    width:auto;
    height:auto;
    padding:6px 0;
    font-size:11px;
}

.order-view-box .uc-order-item .progress-list .step-active,.order-view-box .uc-order-item .progress-list .step-done {
    background:var(--brand);
    color:white;
}

.order-view-box .uc-order-item .order-progress {
    height:auto;
    min-height:36px;
    margin-bottom:16px;
    overflow:visible;
}

@media(max-width:760px) {
    .order-items-table {
        min-width:0;
        table-layout:fixed;
    }
    .order-view-box .uc-order-item .order-items-table .col-thumb {
        width:60px;
    }
    .order-view-box .uc-order-item .order-items-table .col-name {
        width:auto;
    }
    .order-view-box .uc-order-item .order-items-table .col-actions {
        width:10px;
    }
    .order-view-box .uc-order-item .order-items-table .figure-thumb,.order-view-box .uc-order-item .order-items-table .figure-thumb img {
        width:54px;
        height:54px;
    }
    .order-view-box .uc-order-item .order-items-table .name {
        white-space:normal;
        overflow-wrap:anywhere;
    }
    .order-view-box .order-detail-info .actions .btn {
        width:80px;
    }
    .order-view-box .order-detail-total {
        width:100%;
    }
}
