.tp-product-card{display:flex;align-items:center;gap:20px;width:100%;box-sizing:border-box;padding:14px;margin:24px 0;border-radius:14px;background:linear-gradient(180deg,#fff 0%,#fafafa 100%);border:1px solid #ebebeb;box-shadow:0 2px 10px rgba(0,0,0,.04);font-family:inherit;transition:box-shadow .2s ease,transform .2s ease}.tp-product-card:hover{box-shadow:0 6px 20px rgba(0,0,0,.08);transform:translateY(-2px)}.tp-product-card-image{width:100px !important;height:100px !important;object-fit:cover;border-radius:10px !important;flex-shrink:0;border:1px solid #f0f0f0 !important;order:1}.tp-product-card-info{display:flex;flex-direction:column;justify-content:center;gap:6px;min-width:0;flex-grow:1;order:2}.tp-product-card-title{font-size:15px;font-weight:700;color:#1a1a1a;line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.tp-product-card-price{font-size:14px;font-weight:600;color:#0f9d58}.tp-product-card-price del{color:#aaa;font-weight:400;opacity:.8;margin-inline-end:8px}.tp-product-card-price ins{text-decoration:none;color:#0f9d58}.tp-product-card-btn{order:3;flex-shrink:0;display:inline-flex;align-items:center;padding:10px 20px;background:#111;color:#fff !important;border-radius:8px;font-size:13px;font-weight:600;text-decoration:none !important;white-space:nowrap;transition:background .2s ease}.tp-product-card-btn:hover{background:#333}.tp-product-card.tp-error{justify-content:center;text-align:center;color:#999;padding:30px;box-shadow:none}@media (max-width:720px){.tp-product-card{flex-direction:column;align-items:stretch;text-align:center;gap:12px}.tp-product-card-image{width:100% !important;height:160px !important;order:1;object-fit:contain}.tp-product-card-info{order:2;align-items:center;text-align:center}.tp-product-card-title{-webkit-line-clamp:3}.tp-product-card-btn{order:3;width:100%;justify-content:center;padding:12px 20px}}.tp-mini-card{display:flex;flex-direction:column;background:#fff;border:1px solid #ebebeb;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.04);transition:box-shadow .2s ease,transform .2s ease;height:100%;box-sizing:border-box;text-decoration:none}.tp-mini-card:hover{box-shadow:0 6px 16px rgba(0,0,0,.08);transform:translateY(-2px)}.tp-mini-card-image-wrap{display:block;width:100%;aspect-ratio:1/1;overflow:hidden;background:#fafafa}.tp-mini-card-image{width:100% !important;height:100% !important;object-fit:cover;display:block;border-radius:0 !important}.tp-mini-card-info{padding:10px 12px 4px;flex-grow:1}.tp-mini-card-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13px;font-weight:700;color:#1a1a1a !important;text-decoration:none !important;line-height:1.4;margin-bottom:6px}.tp-mini-card-price{font-size:12px;font-weight:600;color:#0f9d58}.tp-mini-card-price del{color:#aaa;font-weight:400;opacity:.8;margin-inline-end:6px}.tp-mini-card-price ins{text-decoration:none;color:#0f9d58}.tp-mini-card-btn{display:block;margin:10px 12px 12px;text-align:center;padding:8px 10px;background:#111;color:#fff !important;border-radius:8px;font-size:12px;font-weight:600;text-decoration:none !important;transition:background .2s ease}.tp-mini-card-btn:hover{background:#333}.tp-carousel{position:relative;margin:24px 0;width:100%;box-sizing:border-box}.tp-carousel-viewport{width:100%;overflow:hidden}.tp-carousel-track{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;padding:2px}.tp-carousel-track::-webkit-scrollbar{display:none}.tp-carousel-item{scroll-snap-align:start;flex-shrink:0}.tp-carousel-nav{position:absolute;top:50%;transform:translateY(-50%);width:34px;height:34px;border-radius:50%;border:1px solid #eaeaea;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.1);font-size:18px;line-height:1;cursor:pointer;z-index:2;display:flex;align-items:center;justify-content:center;padding:0}.tp-carousel-prev{inset-inline-start:-6px}.tp-carousel-next{inset-inline-end:-6px}.tp-carousel-at-start .tp-carousel-prev,.tp-carousel-at-end .tp-carousel-next{opacity:.35;pointer-events:none}@media (max-width:480px){.tp-carousel-nav{width:28px;height:28px;font-size:15px}}.tp-sidebar-grid{display:flex;flex-direction:column;gap:16px;margin:16px 0}.tp-carousel-track{cursor:grab}.tp-carousel-track.tp-carousel-dragging{cursor:grabbing;scroll-snap-type:none;user-select:none}