/* Shared shop product card — match main.php grid cards */

.products-grid-container .product-card,
.product-list-container .product-card,
.all-products-section .product-card,
.promotions-grid .product-card {
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden;
    border-radius: 16px !important;
    border: 1px solid rgba(54, 37, 21, 0.07) !important;
    background: #fff !important;
    box-shadow: 0 2px 10px rgba(54, 37, 21, 0.05) !important;
    min-height: 0 !important;
    transform: none !important;
}

.products-grid-container .product-card:hover,
.product-list-container .product-card:hover,
.all-products-section .product-card:hover,
.promotions-grid .product-card:hover {
    transform: none !important;
}

.products-grid-container .product-card .product-image-wrapper,
.product-list-container .product-card .product-image-wrapper,
.all-products-section .product-card .product-image-wrapper,
.promotions-grid .product-card .product-image-wrapper {
    aspect-ratio: 1 / 1 !important;
    background: #fff !important;
    min-height: 0 !important;
    max-height: none !important;
    flex-basis: auto !important;
}

.products-grid-container .product-card .product-image-wrapper img.product-image,
.product-list-container .product-card .product-image-wrapper img.product-image,
.all-products-section .product-card .product-image-wrapper img.product-image,
.promotions-grid .product-card .product-image-wrapper img.product-image {
    padding: 8px !important;
    object-fit: contain !important;
    background: #fff !important;
}

.products-grid-container .product-card .product-info,
.product-list-container .product-card .product-info,
.all-products-section .product-card .product-info,
.promotions-grid .product-card .product-info {
    display: flex !important;
    flex-direction: column !important;
    padding: 8px 10px 10px !important;
    gap: 5px !important;
    flex: 1 1 auto !important;
    margin-top: 0 !important;
    min-height: 0 !important;
}

.products-grid-container .product-card .product-meta,
.product-list-container .product-card .product-meta,
.all-products-section .product-card .product-meta,
.promotions-grid .product-card .product-meta,
.products-grid-container .product-card .category-brand-info,
.product-list-container .product-card .category-brand-info,
.all-products-section .product-card .category-brand-info,
.promotions-grid .product-card .category-brand-info {
    margin: 0 !important;
    gap: 4px !important;
    min-height: 0 !important;
}

.products-grid-container .product-card .category-tag,
.product-list-container .product-card .category-tag,
.all-products-section .product-card .category-tag,
.promotions-grid .product-card .category-tag,
.products-grid-container .product-card .brand-tag,
.product-list-container .product-card .brand-tag,
.all-products-section .product-card .brand-tag,
.promotions-grid .product-card .brand-tag,
.products-grid-container .product-card .group-tag,
.product-list-container .product-card .group-tag,
.all-products-section .product-card .group-tag,
.promotions-grid .product-card .group-tag {
    max-width: 100%;
    padding: 1px 6px !important;
    border-radius: 999px !important;
    font-size: 0.58rem !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.products-grid-container .product-card .product-name,
.product-list-container .product-card .product-name,
.all-products-section .product-card .product-name,
.promotions-grid .product-card .product-name {
    min-height: 2.4em !important;
    margin: 0 !important;
    color: #2b1a12 !important;
    font-size: 0.8rem !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
}

.products-grid-container .product-card .product-footer,
.product-list-container .product-card .product-footer,
.all-products-section .product-card .product-footer,
.promotions-grid .product-card .product-footer {
    margin-top: auto !important;
    padding-top: 4px !important;
    display: block !important;
}

.products-grid-container .product-card .price-row,
.product-list-container .product-card .price-row,
.all-products-section .product-card .price-row,
.promotions-grid .product-card .price-row {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 6px !important;
    width: 100%;
}

.products-grid-container .product-card .price-section,
.product-list-container .product-card .price-section,
.all-products-section .product-card .price-section,
.promotions-grid .product-card .price-section {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 4px 6px;
    min-width: 0;
    margin: 0 !important;
}

.products-grid-container .product-card .current-price,
.product-list-container .product-card .current-price,
.all-products-section .product-card .current-price,
.promotions-grid .product-card .current-price,
.products-grid-container .product-card .product-price,
.product-list-container .product-card .product-price,
.all-products-section .product-card .product-price,
.promotions-grid .product-card .product-price {
    display: inline-flex !important;
    align-items: center;
    margin: 0 !important;
    padding: 3px 8px !important;
    color: #f87600 !important;
    font-size: 1.22rem !important;
    font-weight: 800 !important;
    letter-spacing: -0.03em !important;
    line-height: 1.1 !important;
    background: #fff3e8 !important;
    border-radius: 8px !important;
}

.products-grid-container .product-card .price-unit,
.product-list-container .product-card .price-unit,
.all-products-section .product-card .price-unit,
.promotions-grid .product-card .price-unit {
    font-size: 0.58em !important;
    font-weight: 600 !important;
    color: #8a7463 !important;
    margin-left: 1px;
}

.products-grid-container .product-card .original-price,
.product-list-container .product-card .original-price,
.all-products-section .product-card .original-price,
.promotions-grid .product-card .original-price {
    font-size: 0.68rem !important;
    color: #b5a39a !important;
}

.products-grid-container .product-card .discount-badge,
.product-list-container .product-card .discount-badge,
.all-products-section .product-card .discount-badge,
.promotions-grid .product-card .discount-badge {
    padding: 2px 6px !important;
    border-radius: 999px !important;
    font-size: 0.58rem !important;
    font-weight: 700 !important;
}

.products-grid-container .product-card .favorite-btn,
.product-list-container .product-card .favorite-btn,
.all-products-section .product-card .favorite-btn,
.promotions-grid .product-card .favorite-btn {
    top: 6px !important;
    right: 6px !important;
    width: 28px !important;
    height: 28px !important;
    background: #fff !important;
    box-shadow: 0 2px 8px rgba(54, 37, 21, 0.1) !important;
}

.products-grid-container .product-card .add-to-cart-btn,
.product-list-container .product-card .add-to-cart-btn,
.all-products-section .product-card .add-to-cart-btn,
.promotions-grid .product-card .add-to-cart-btn {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    border-radius: 50% !important;
    font-size: 0.78rem !important;
    box-shadow: 0 3px 8px rgba(248, 118, 0, 0.28) !important;
}

.products-grid-container .product-card .card-deal-price,
.product-list-container .product-card .card-deal-price,
.all-products-section .product-card .card-deal-price,
.promotions-grid .product-card .card-deal-price {
    flex: 1 0 100% !important;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 4px;
    margin-top: 3px;
    min-width: 0;
}

.products-grid-container .product-card .card-deal-chip,
.product-list-container .product-card .card-deal-chip,
.all-products-section .product-card .card-deal-chip,
.promotions-grid .product-card .card-deal-chip {
    display: inline-flex;
    align-items: baseline;
    gap: 3px;
    min-width: 0;
    max-width: calc(50% - 2px);
    padding: 1px 6px 2px;
    border-radius: 999px;
    background: #fff4ea;
    line-height: 1.15;
    white-space: nowrap;
    overflow: hidden;
}

.products-grid-container .product-card .card-deal-chip:only-child,
.product-list-container .product-card .card-deal-chip:only-child,
.all-products-section .product-card .card-deal-chip:only-child,
.promotions-grid .product-card .card-deal-chip:only-child {
    max-width: 100%;
}

.products-grid-container .product-card .card-deal-unit,
.product-list-container .product-card .card-deal-unit,
.all-products-section .product-card .card-deal-unit,
.promotions-grid .product-card .card-deal-unit {
    color: #8d5b38;
    font-size: 0.6rem;
    font-weight: 500;
}

.products-grid-container .product-card .card-deal-amt,
.product-list-container .product-card .card-deal-amt,
.all-products-section .product-card .card-deal-amt,
.promotions-grid .product-card .card-deal-amt {
    color: #c05621;
    font-size: 0.62rem;
    font-weight: 700;
}

/* === Product image: full photo, square box, no crop (pethousestory style) — 2026-10-10 === */
html body .product-card .product-image-wrapper {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    min-height: 0 !important;
    max-height: none !important;
    position: relative !important;
    overflow: hidden !important;
    padding: 0 !important;
    background: #fbf6ef !important;
    display: block !important;
}
html body .product-card .product-image-wrapper img.product-image,
html body .product-card .product-image-wrapper .product-image {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 8px !important;
    box-sizing: border-box !important;
    object-fit: contain !important;
    object-position: center !important;
    background: transparent !important;
    transform: none !important;
}
html body .product-card:hover .product-image-wrapper .product-image,
html body .product-card:active .product-image-wrapper .product-image {
    transform: none !important;
}
