.dy-product .product-scroll {
    top: 0;
    bottom: 0;
    padding-bottom: calc(76px + env(safe-area-inset-bottom, 0px));
    background: #f5f5f5;
    overflow-y: auto;
    scroll-padding-top: 88px;
}
.dy-product.purchase-open .product-scroll { overflow: hidden; }
.dy-product.purchase-open .fui-navbar { visibility: hidden; }

.product-topbar {
    position: sticky;
    top: 0;
    z-index: 25;
    display: flex;
    align-items: center;
    gap: 10px;
    height: 48px;
    padding: 0 12px;
    background: #fff;
}
.product-topbar a { color: #333; }
.product-back, .product-store-link { flex: 0 0 28px; display: grid; place-items: center; height: 36px; }
.product-topbar svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.product-search-link { display: flex; align-items: center; gap: 7px; flex: 1; min-width: 0; height: 32px; padding: 0 11px; border-radius: 18px; background: #f5f5f5; }
.product-search-link svg { width: 15px; height: 15px; flex-shrink: 0; color: #999; }
.product-search-link span { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; color: #8a8a8a; font-size: 12px; }
.product-tabs { position: sticky; top: 48px; z-index: 24; display: flex; justify-content: center; gap: 38px; height: 38px; background: #fff; border-bottom: 1px solid #f0f0f0; }
.product-tabs a { position: relative; display: flex; align-items: center; padding: 0 4px; color: #777; font-size: 14px; }
.product-tabs .is-active { color: #222; font-weight: 600; }
.product-tabs .is-active::after { content: ""; position: absolute; bottom: 3px; left: 50%; width: 20px; height: 3px; transform: translateX(-50%); border-radius: 4px; background: var(--store-red); }
.product-gallery, .product-review-section, .product-detail-section { scroll-margin-top: 88px; }
.product-gallery { position: relative; background: #fff; }
.product-price-banner { position: relative; z-index: 2; margin-top: -14px; padding: 15px 16px 12px; border-radius: 16px 16px 0 0; background: linear-gradient(110deg, #5a3a22, #2b1d14 80%); color: #f5e7d8; }
.product-price-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.product-price-amount { display: flex; align-items: baseline; font-family: "DIN Alternate", "Arial Narrow", sans-serif; font-size: 32px; line-height: 1.25; font-weight: 700; letter-spacing: -.8px; }
.product-price-label { font-size: 12px; font-weight: 500; margin-right: 7px; letter-spacing: 0; }
.product-price-unit { font-size: 19px; margin-right: 2px; }
.product-price-amount small { font-size: 12px; font-weight: 400; margin-left: 4px; }
.product-price-caption { flex-shrink: 0; font-size: 13px; }
.product-price-meta { display: flex; gap: 12px; margin-top: 4px; font-size: 11px; color: #e5cdb6; }
.product-price-meta span + span { border-left: 1px solid #8a6a51; padding-left: 12px; }
.dy-product .product-overview-card { margin: 0; padding: 8px 0 0; border: 0; background: #fff; }
.dy-product .product-overview-card::before, .dy-product .product-overview-card::after { display: none; }
.dy-product .product-overview-card > .fui-cell { padding: 8px 16px; }
.dy-product .product-title { color: #151515; font-size: 18px; font-weight: 650; line-height: 1.55; word-break: break-word; }
.product-brand-rail { display: flex; align-items: center; gap: 7px; margin: 6px 14px 0; padding: 7px 10px; border-radius: 7px; background: linear-gradient(100deg, #5a3a22, #3a2218); color: #f5e7d8; font-size: 10px; white-space: nowrap; overflow: hidden; }
.product-brand-rail span:first-child { max-width: 32%; overflow: hidden; text-overflow: ellipsis; }
.product-brand-rail i, .purchase-brand-rail i { width: 1px; height: 11px; flex-shrink: 0; background: #9c7b5e; }
.product-brand-rail b { margin-left: auto; font-size: 16px; font-weight: 400; }
.product-benefits { padding: 12px 14px; overflow-x: auto; white-space: nowrap; scrollbar-width: none; }
.product-benefit { display: inline-flex; align-items: center; padding: 4px 9px; border-radius: 12px; color: #8c5311; background: #fff5e6; font-size: 11px; }
.product-benefit-blue { color: #3388ff; background: #e8f3ff; }
.product-service-card { padding: 14px 16px; border-top: 1px solid #f5f5f5; background: linear-gradient(180deg, #f2fbf5, #fff 50%); }
.product-logistics-row { display: flex; align-items: center; justify-content: space-between; width: 100%; margin-top: 14px; cursor: pointer; }
.dy-product .product-review-section { margin: 8px 0 0; border: 0; }
.product-review-card { margin: 0; padding: 16px; background: #fff; }
.product-review-card .review-item + .review-item { border-top: 1px solid #f3f3f3; }
.dy-product .product-detail-section { margin: 8px 0 0; background: #fff; }
.dy-product .product-detail-heading { justify-content: center; margin: 0; padding: 20px 0; }
.dy-product .product-detail-content { margin: 0; padding: 0; color: #777; text-align: center; }
.product-detail-content img { display: block; width: 100%; height: auto; }

.dy-product .fui-navbar { display: flex; align-items: center; gap: 3px; padding: 0 10px env(safe-area-inset-bottom, 0px); }
.dy-product .fui-navbar .nav-item:not(.buy-now) { flex: 0 0 43px; align-items: center; justify-content: center; height: 52px; margin: 0; padding: 0; color: #333; }
.dy-product .fui-navbar .nav-item:not(.buy-now) svg { width: 23px; height: 23px; }
.dy-product .fui-navbar .label { margin: 4px 0 0; font-size: 10px; }
.dy-product .fui-navbar .buy-now { flex: 1; height: 42px; margin: 0 0 0 6px; border-radius: 24px; background: linear-gradient(90deg, #ff6464, #ff2828); }
.dy-product .fui-navbar .buy-now::before { width: 34%; background: #ffebeb; }
.dy-product .fui-navbar .buy-now .left-content { justify-content: center; width: 34%; margin: 0; }
.dy-product .fui-navbar .buy-now .left-content span { font-size: 12px; }
.dy-product .fui-navbar .buy-now .right-content { flex: 1; align-items: center; gap: 2px; padding: 0 5px; }
.dy-product .fui-navbar .buy-now .price-text { margin: 0; font-size: 12px; }
.dy-product .fui-navbar .buy-now .promotion-tag { display: none; }
.dy-product .fui-navbar .buy-now .buy-text { margin: 0; font-size: 12px; font-weight: 600; }

.dy-product .buy-popup {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1001;
    width: 100%;
    max-width: 420px;
    max-height: 90vh;
    max-height: 90dvh;
    margin: 0 auto;
    flex-direction: column;
    overflow: hidden;
    border-radius: 18px 18px 0 0;
    background: #f7f8fa;
    box-shadow: 0 -6px 32px #00000015;
    transition: transform .24s cubic-bezier(.2, .7, .2, 1);
}
.purchase-sheet-heading { display: flex; align-items: center; justify-content: space-between; flex-shrink: 0; padding: 13px 16px 9px; }
.purchase-sheet-heading h2 { margin: 0; font-size: 16px; font-weight: 600; }
.purchase-close { display: grid; place-items: center; width: 30px; height: 30px; padding: 0; border: 0; border-radius: 50%; background: #e9eaed; color: #777; font-size: 24px !important; line-height: 1; }
.purchase-sheet-scroll { flex: 1 1 auto; min-height: 0; padding: 0 8px 10px; overflow-y: auto; overscroll-behavior: contain; }
.purchase-summary { overflow: hidden; border: 3px solid #4a2e1a; border-radius: 12px; background: #4a2e1a; }
.purchase-brand-rail { display: flex; align-items: center; gap: 7px; padding: 5px 9px; color: #f5e7d8; font-size: 10px; white-space: nowrap; }
.purchase-brand-rail span:first-child { max-width: 45%; overflow: hidden; text-overflow: ellipsis; }
.dy-product .popup-header { display: flex; align-items: flex-start; gap: 10px; padding: 10px; border: 0; border-radius: 9px; background: #fff; }
.purchase-product-image { flex: 0 0 76px; width: 76px; height: 76px; border-radius: 7px; object-fit: cover; }
.purchase-product-info { flex: 1; min-width: 0; }
.purchase-product-title { font-size: 14px; line-height: 1.45; color: #1d2129; word-break: break-word; }
.purchase-stock { display: inline-block; margin: 4px 0; padding: 1px 5px; background: #f5f5f5; border-radius: 3px; color: #8a8a8a; font-size: 10px; }
.dy-product .popup-header .price { font-size: 18px; font-weight: 650; color: #222; line-height: 1.5; }
.dy-product .selected-spec { margin-top: 2px; color: #999; font-size: 11px; overflow-wrap: anywhere; }
.dy-product .address-info { margin: 8px 0; padding: 14px 12px; border-radius: 12px; background: #fff; }
.purchase-delivery-row { display: flex; align-items: baseline; gap: 7px; font-size: 14px; color: #222; }
.purchase-delivery-row > span { flex-shrink: 0; }
.purchase-delivery-row strong { font-weight: 500; }
.purchase-delivery-meta, .purchase-delivery-services { display: flex; align-items: center; gap: 8px; margin-top: 7px; font-size: 11px; color: #86909c; }
.purchase-delivery-meta span { color: #4caa6b; }
.purchase-delivery-services span:first-child { color: #3388ff; }
.purchase-delivery-meta i, .purchase-delivery-services i { width: 1px; height: 10px; background: #e5e6eb; }
.dy-product .popup-content { padding: 15px 12px; border-radius: 12px; background: #fff; }
.purchase-section-title { margin: 0 0 13px; font-size: 17px; font-weight: 600; }
.dy-product .popup-spec-items { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.dy-product .popup-spec-item { display: flex; flex-direction: column; justify-content: center; gap: 2px; min-width: 0; min-height: 50px; padding: 8px; border: 1px solid #dcdfe6; border-radius: 8px; background: #fff; color: #333; text-align: center; overflow-wrap: anywhere; font-size: 14px; transition: border-color .12s, background-color .12s; }
.dy-product .popup-spec-item small { color: #999; font-size: 11px; }
.dy-product .popup-spec-item[data-selected="true"] { border-color: #ff2c55; background: #fff0f0; color: #ff2c55; }
.dy-product .popup-spec-item[data-selected="true"] small { color: #ff2c55; }
.purchase-quantity { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-top: 17px; padding-top: 15px; border-top: 1px solid #f3f3f3; font-size: 14px; }
.purchase-limit-tip { flex: 0 0 100%; color: #999; font-size: 11px; }
.dy-product .number-input { display: flex; align-items: center; border: 1px solid #e5e6eb; border-radius: 5px; overflow: hidden; }
.dy-product .number-input button { width: 32px; height: 32px; padding: 0; border: 0; background: #f7f8fa; color: #555; font-size: 18px; }
.dy-product .number-input .num { width: 42px; height: 32px; padding: 0; border: 0; border-left: 1px solid #e5e6eb; border-right: 1px solid #e5e6eb; border-radius: 0; background: #fff; color: #222; text-align: center; font-size: 14px; }
.dy-product .number-input input[readonly] { border: 0; }
.dy-product .popup-footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-shrink: 0; padding: 10px 16px calc(10px + env(safe-area-inset-bottom, 0px)); border-top: 1px solid #f0f0f0; background: #fff; }
.purchase-total { display: flex; flex-direction: column; flex-shrink: 0; }
.purchase-total small { color: #999; font-size: 10px; }
.purchase-total > span { color: #ff2c55; font-size: 14px; }
.purchase-total strong { margin-left: 1px; font-size: 24px; font-weight: 650; font-family: "DIN Alternate", Arial, sans-serif; }
.purchase-pay-button { flex: 1; max-width: 220px; height: 44px; border: 0; border-radius: 24px; color: #fff; background: linear-gradient(90deg, #ff6464, #ff2828); font-size: 16px; font-weight: 600; }
.dy-product #servicePopup, .dy-product #logisticsPopup { position: fixed; left: 0; right: 0; width: 100%; max-width: 420px; max-height: 88vh; max-height: 88dvh; margin: 0 auto; overflow-y: auto; z-index: 1002; border-radius: 16px 16px 0 0; background: #fff; transition: bottom .25s ease; padding-bottom: env(safe-area-inset-bottom, 0px); }
.dy-product button:active, .product-topbar a:active { opacity: .82; }

@media (max-width: 350px) {
    .product-brand-rail { font-size: 9px; padding-inline: 8px; gap: 5px; }
    .dy-product .fui-navbar .nav-item:not(.buy-now) { flex-basis: 36px; }
    .dy-product .fui-navbar .buy-now .left-content span { font-size: 11px; }
    .purchase-delivery-row { font-size: 13px; }
    .purchase-product-image { width: 64px; height: 64px; flex-basis: 64px; }
}
