/* ==========================================================================
   NK AUTOPARTS - WOOCOMMERCE PRODUCTS STYLESHEET
   ========================================================================== */

/* ---------- WooCommerce override geral ---------- */
.woocommerce .woocommerce-products-header__title {
    font-family: var(--nk-font-heading);
    font-size: clamp(1.8rem, 4vw, 2.5rem);
    font-weight: 800;
    color: var(--nk-primary);
    margin-bottom: 1rem;
}

.woocommerce .archive-description {
    color: var(--nk-text-muted);
    margin-bottom: 2rem;
}

/* Toolbar da listagem */
.woocommerce .woocommerce-result-count {
    color: var(--nk-text-muted);
    font-size: 0.875rem;
}

.woocommerce .woocommerce-ordering select {
    padding: 0.625rem 2.5rem 0.625rem 1rem;
    border: 1px solid var(--nk-border);
    border-radius: var(--nk-radius-sm);
    background-color: #fff;
    font-family: var(--nk-font-body);
    color: var(--nk-text-dark);
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23344c99' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 1rem center;
}

.woocommerce .woocommerce-ordering select:focus {
    outline: none;
    border-color: var(--nk-accent);
}

.woocommerce nav.woocommerce-pagination ul.page-numbers {
    display: flex;
    gap: 0.5rem;
    justify-content: center;
    padding: 0;
    border: none;
}

.woocommerce nav.woocommerce-pagination ul li {
    border: none;
}

.woocommerce nav.woocommerce-pagination ul li .page-numbers {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    height: 42px;
    padding: 0 8px;
    border: 1px solid var(--nk-border);
    border-radius: var(--nk-radius-sm);
    color: var(--nk-text-body);
    font-weight: 500;
    background: #fff;
    transition: var(--nk-transition-fast);
}

.woocommerce nav.woocommerce-pagination ul li .page-numbers:hover,
.woocommerce nav.woocommerce-pagination ul li .page-numbers.current {
    background: var(--nk-accent);
    border-color: var(--nk-accent);
    color: #fff;
}

/* ---------- Grid de produtos ---------- */
ul.products.nk-products,
.woocommerce ul.products {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
    padding: 0;
    margin: 0;
    list-style: none;
}

.woocommerce ul.products li.product {
    position: relative;
    background: #fff;
    border: 1px solid var(--nk-border);
    border-radius: var(--nk-radius-md);
    overflow: hidden;
    box-shadow: var(--nk-shadow-sm);
    transition: var(--nk-transition);
    margin: 0;
    width: auto;
    float: none;
    display: flex;
    flex-direction: column;
}

.woocommerce ul.products li.product:hover {
    box-shadow: var(--nk-shadow-md);
    transform: translateY(-6px);
    border-color: var(--nk-accent);
}

/* Imagem do produto */
.woocommerce ul.products li.product a img {
    width: 100%;
    height: 240px;
    object-fit: cover;
    border-radius: 0;
    margin: 0;
    transition: var(--nk-transition);
}

.woocommerce ul.products li.product:hover a img {
    transform: scale(1.05);
}

.woocommerce ul.products li.product .woocommerce-loop-product__link {
    position: relative;
    display: block;
    overflow: hidden;
}

/* Categoria (meta) */
.woocommerce ul.products li.product .nk-product-category {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--nk-accent);
    font-weight: 600;
    margin-bottom: 0.25rem;
}

/* Título */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-family: var(--nk-font-body);
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--nk-primary);
    line-height: 1.4;
    margin: 0.5rem 0 0.375rem;
    padding: 0;
    min-height: 2.7em;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Preço */
.woocommerce ul.products li.product .price {
    font-family: var(--nk-font-heading);
    font-weight: 700;
    font-size: 1.25rem;
    color: var(--nk-primary);
    margin: 0 0 0.5rem;
}

.woocommerce ul.products li.product .price del {
    font-size: 0.875rem;
    color: var(--nk-text-muted);
    margin-right: 0.5rem;
    opacity: 0.7;
}

.woocommerce ul.products li.product .price ins {
    text-decoration: none;
    color: var(--nk-success);
    font-weight: 700;
}

/* Condição (novo/usado) */
.nk-product-condition {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 0.25rem 0.625rem;
    border-radius: var(--nk-radius-full);
    margin-top: 0.5rem;
}

.nk-product-condition--new {
    background: rgba(34, 197, 94, 0.12);
    color: #15803d;
}

.nk-product-condition--used {
    background: rgba(0, 168, 232, 0.12);
    color: var(--nk-accent);
}

/* Badges da listagem */
.nk-badges {
    position: absolute;
    top: 12px;
    left: 12px;
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
    z-index: 2;
}

.nk-badge {
    display: inline-block;
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 0.3125rem 0.625rem;
    border-radius: var(--nk-radius-sm);
    color: #fff;
    box-shadow: var(--nk-shadow-sm);
}

.nk-badge--new { background: var(--nk-success); }
.nk-badge--used { background: var(--nk-accent); }
.nk-badge--stock { background: var(--nk-danger); }

/* Ações rápidas (favorito, comparação) na listagem */
.nk-product-actions {
    position: absolute;
    top: 12px;
    right: 12px;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    z-index: 3;
    opacity: 0;
    transform: translateX(10px);
    transition: var(--nk-transition);
}

.woocommerce ul.products li.product:hover .nk-product-actions,
.nk-product-actions.nk-product-actions--visible {
    opacity: 1;
    transform: translateX(0);
}

.nk-product-action-btn {
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border: 1px solid var(--nk-border);
    border-radius: 50%;
    color: var(--nk-text-body);
    cursor: pointer;
    font-size: 1rem;
    box-shadow: var(--nk-shadow-sm);
    transition: var(--nk-transition-fast);
}

.nk-product-action-btn:hover,
.nk-product-action-btn.nk-product-action-btn--active {
    background: var(--nk-accent);
    border-color: var(--nk-accent);
    color: #fff;
}

/* Card content */
.nk-product-card-content {
    padding: 1rem 1.25rem 1.25rem;
    display: flex;
    flex-direction: column;
    flex: 1;
}

/* Botão adicionar ao carrinho */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.added_to_cart {
    margin-top: auto;
    padding: 0.625rem 1rem;
    border-radius: var(--nk-radius-full);
    background: linear-gradient(135deg, var(--nk-accent), var(--nk-primary));
    color: #fff;
    font-size: 0.8125rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    text-align: center;
    transition: var(--nk-transition);
}

.woocommerce ul.products li.product .button:hover {
    background: linear-gradient(135deg, var(--nk-accent-light), var(--nk-accent));
    transform: translateY(-2px);
    box-shadow: var(--nk-shadow-accent);
    color: #fff;
}

.woocommerce ul.products li.product .button.added {
    display: none;
}

.woocommerce ul.products li.product a.added_to_cart {
    background: var(--nk-success);
    margin-top: 0.5rem;
}

/* Colunas responsivas */
@media (max-width: 1200px) {
    ul.products.nk-products,
    .woocommerce ul.products { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 768px) {
    ul.products.nk-products,
    .woocommerce ul.products { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 480px) {
    ul.products.nk-products,
    .woocommerce ul.products { grid-template-columns: 1fr; }
}

/* ==========================================================================
   SEÇÃO "ÚLTIMOS ADICIONADOS"
   ========================================================================== */

.nk-recent {
    background: var(--nk-bg-light);
    padding: var(--nk-space-xl) 0;
}

/* ==========================================================================
   PÁGINA DE PRODUTO (single)
   ========================================================================== */

.woocommerce div.product {
    position: relative;
}

/* Galeria */
.woocommerce div.product div.images {
    position: relative;
    margin-bottom: 2rem;
}

.woocommerce div.product div.images .flexslider {
    border: 1px solid var(--nk-border);
    border-radius: var(--nk-radius-md);
    background: #fff;
    overflow: hidden;
}

.woocommerce div.product div.images img {
    width: 100%;
}

.woocommerce div.product div.images .woocommerce-product-gallery__trigger {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 5;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #fff;
    box-shadow: var(--nk-shadow-sm);
}

/* Título e meta do produto */
.woocommerce div.product .product_title {
    font-family: var(--nk-font-heading);
    font-size: clamp(1.6rem, 3vw, 2.2rem);
    font-weight: 700;
    color: var(--nk-primary);
    margin-bottom: 0.75rem;
}

.woocommerce div.product .woocommerce-product-rating {
    margin: 0.5rem 0;
}

.woocommerce div.product .woocommerce-product-details__short-description {
    color: var(--nk-text-body);
    line-height: 1.7;
    margin: 1rem 0;
}

/* Preço da página de produto */
.woocommerce div.product p.price {
    font-family: var(--nk-font-heading);
    font-size: 2rem;
    font-weight: 800;
    color: var(--nk-primary);
    margin: 1rem 0;
}

.woocommerce div.product p.price del {
    font-size: 1.25rem;
    color: var(--nk-text-muted);
    margin-right: 1rem;
    opacity: 0.7;
}

.woocommerce div.product p.price ins {
    text-decoration: none;
    color: var(--nk-success);
}

/* Stock */
.woocommerce div.product .stock {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.875rem;
    font-weight: 600;
    padding: 0.5rem 1rem;
    border-radius: var(--nk-radius-full);
}

.woocommerce div.product .stock.in-stock {
    background: rgba(34, 197, 94, 0.12);
    color: #15803d;
}

.woocommerce div.product .stock.out-of-stock {
    background: rgba(239, 68, 68, 0.12);
    color: var(--nk-danger);
}

/* Cart form */
.woocommerce div.product form.cart {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem;
    margin: 1.5rem 0;
}

.woocommerce div.product form.cart div.quantity {
    margin: 0;
}

.woocommerce div.product form.cart .qty {
    width: 64px;
    height: 48px;
    padding: 0 0.75rem;
    border: 1px solid var(--nk-border);
    border-radius: var(--nk-radius-sm);
    font-family: var(--nk-font-body);
    font-size: 1rem;
    text-align: center;
}

.woocommerce div.product form.cart .qty:focus {
    outline: none;
    border-color: var(--nk-accent);
}

.woocommerce div.product form.cart .button.single_add_to_cart_button {
    flex: 1;
    min-height: 48px;
    padding: 0 2rem;
    background: linear-gradient(135deg, var(--nk-accent), var(--nk-primary));
    border: none;
    border-radius: var(--nk-radius-full);
    color: #fff;
    font-size: 0.9375rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    cursor: pointer;
    transition: var(--nk-transition);
    box-shadow: var(--nk-shadow-accent);
}

.woocommerce div.product form.cart .button.single_add_to_cart_button:hover {
    background: linear-gradient(135deg, var(--nk-accent-light), var(--nk-accent));
    transform: translateY(-2px);
}

/* Ações do produto (favorito, comparação, whatsapp) */
.nk-product-single-actions {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin: 1.25rem 0;
}

.nk-product-single-actions .nk-product-action-btn {
    width: auto;
    height: auto;
    padding: 0.625rem 1rem;
    border-radius: var(--nk-radius-full);
    font-size: 0.8125rem;
    font-weight: 600;
    gap: 0.5rem;
    display: inline-flex;
    align-items: center;
    border: 1px solid var(--nk-border);
    background: #fff;
}

.nk-product-single-actions .nk-product-action-btn:hover,
.nk-product-single-actions .nk-product-action-btn--active {
    background: var(--nk-accent);
    border-color: var(--nk-accent);
    color: #fff;
}

.nk-whatsapp-product {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    width: auto;
    height: auto;
    padding: 0.625rem 1rem;
    border-radius: var(--nk-radius-full);
    font-size: 0.8125rem;
    font-weight: 600;
    background: #25d366;
    border: 1px solid #25d366;
    color: #fff;
    transition: var(--nk-transition);
}

.nk-whatsapp-product:hover {
    background: #1ebe5b;
    border-color: #1ebe5b;
    color: #fff;
    transform: translateY(-2px);
}

/* Abas do produto */
.woocommerce div.product .woocommerce-tabs {
    margin-top: 3rem;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
    display: flex;
    gap: 0.5rem;
    padding: 0;
    margin: 0 0 1.5rem;
    border-bottom: 2px solid var(--nk-border);
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before {
    border: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
    border: none;
    background: transparent;
    border-radius: 0;
    margin: 0;
    padding: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
    display: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    display: block;
    padding: 0.75rem 1.25rem;
    font-family: var(--nk-font-body);
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--nk-text-muted);
    border-bottom: 3px solid transparent;
    transition: var(--nk-transition-fast);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
    color: var(--nk-accent);
    border-bottom-color: var(--nk-accent);
}

.woocommerce div.product .woocommerce-tabs .panel {
    padding: 1.5rem;
    background: #fff;
    border: 1px solid var(--nk-border);
    border-radius: var(--nk-radius-md);
    box-shadow: var(--nk-shadow-sm);
    margin-bottom: 0;
}

/* Seção de contagem regressiva / garantia */
.nk-product-trust {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.75rem;
    margin: 1.5rem 0;
}

.nk-product-trust__item {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    padding: 0.75rem;
    background: var(--nk-bg-light);
    border: 1px solid var(--nk-border);
    border-radius: var(--nk-radius-sm);
    font-size: 0.8125rem;
    color: var(--nk-text-body);
}

.nk-product-trust__item svg,
.nk-product-trust__item i {
    color: var(--nk-accent);
    font-size: 1.125rem;
    flex-shrink: 0;
}

/* Produtos relacionados */
.woocommerce .related.products,
.woocommerce .upsells.products {
    margin-top: 4rem;
    padding-top: 3rem;
    border-top: 1px solid var(--nk-border);
}

.woocommerce .related.products h2,
.woocommerce .upsells.products h2 {
    font-family: var(--nk-font-heading);
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--nk-primary);
    margin-bottom: 1.5rem;
}

@media (max-width: 768px) {
    .nk-product-trust { grid-template-columns: 1fr; }
    .woocommerce div.product .woocommerce-tabs ul.tabs { flex-wrap: wrap; }
}

/* ==========================================================================
   CARRINHO & CHECKOUT
   ========================================================================== */

.woocommerce table.shop_table {
    border: 1px solid var(--nk-border);
    border-radius: var(--nk-radius-md);
    overflow: hidden;
    border-collapse: separate;
    background: #fff;
}

.woocommerce table.shop_table th {
    background: var(--nk-primary);
    color: #fff;
    font-family: var(--nk-font-body);
    font-size: 0.875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 1rem;
}

.woocommerce table.shop_table td {
    padding: 1rem;
    border-top: 1px solid var(--nk-border);
    color: var(--nk-text-body);
}

.woocommerce a.remove {
    color: var(--nk-danger) !important;
    border-radius: 50%;
    transition: var(--nk-transition-fast);
}

.woocommerce a.remove:hover {
    background: var(--nk-danger) !important;
    color: #fff !important;
}

.woocommerce .cart_totals h2,
.woocommerce #order_review_heading {
    font-family: var(--nk-font-heading);
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--nk-primary);
}

.woocommerce .button {
    background: var(--nk-accent) !important;
    color: #fff !important;
    border-radius: var(--nk-radius-full);
    padding: 0.875rem 1.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    transition: var(--nk-transition);
}

.woocommerce .button:hover {
    background: var(--nk-primary) !important;
    transform: translateY(-2px);
}

.woocommerce .button.alt {
    background: linear-gradient(135deg, var(--nk-accent), var(--nk-primary)) !important;
}

/* Barra de avanço no carrinho */
.nk-cart-steps {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    margin-bottom: 2rem;
}

.nk-cart-step {
    display: flex;
    align-items: center;
    gap: 0.625rem;
}

.nk-cart-step__num {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--nk-bg-light);
    color: var(--nk-text-muted);
    font-weight: 700;
    font-family: var(--nk-font-heading);
    border: 2px solid var(--nk-border);
}

.nk-cart-step.nk-cart-step--active .nk-cart-step__num {
    background: var(--nk-accent);
    color: #fff;
    border-color: var(--nk-accent);
}

.nk-cart-step__label {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--nk-text-muted);
}

.nk-cart-step.nk-cart-step--active .nk-cart-step__label {
    color: var(--nk-primary);
}

.nk-cart-step__line {
    flex: 1;
    min-width: 40px;
    height: 2px;
    background: var(--nk-border);
}

@media (max-width: 480px) {
    .nk-cart-step__label { display: none; }
}

/* ==========================================================================
   COMPARAÇÃO & FAVORITOS (popups/sidebar)
   ========================================================================== */

.nk-compare-bar {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: var(--nk-primary);
    color: #fff;
    padding: 0.875rem 0;
    z-index: 80;
    transform: translateY(120%);
    transition: transform 0.4s ease;
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.35);
}

.nk-compare-bar.nk-compare-bar--visible {
    transform: translateY(0);
}

.nk-compare-bar__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

.nk-compare-bar__items {
    display: flex;
    gap: 0.5rem;
}

.nk-compare-bar__item {
    position: relative;
    width: 48px;
    height: 48px;
    border-radius: var(--nk-radius-sm);
    overflow: hidden;
    border: 2px solid rgba(255, 255, 255, 0.2);
}

.nk-compare-bar__item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.nk-compare-bar__item button {
    position: absolute;
    top: -4px;
    right: -4px;
    width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--nk-danger);
    color: #fff;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    font-size: 0.625rem;
}

.nk-compare-bar__info {
    font-size: 0.875rem;
    color: rgba(255, 255, 255, 0.85);
}

.nk-compare-bar__actions {
    display: flex;
    gap: 0.75rem;
    align-items: center;
}

.nk-wishlist-count,
.nk-compare-count {
    position: fixed;
    top: 12px;
    right: 12px;
    z-index: 95;
    background: var(--nk-accent);
    color: #fff;
    padding: 0.375rem 0.875rem;
    border-radius: var(--nk-radius-full);
    font-size: 0.8125rem;
    font-weight: 600;
    box-shadow: var(--nk-shadow-md);
}

/* ==========================================================================
   WOOCOMMERCE NOTICES
   ========================================================================== */

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    border-radius: var(--nk-radius-sm);
    border-top-width: 3px;
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
    content: '';
}

.woocommerce-message {
    background: rgba(34, 197, 94, 0.1);
    border-top-color: var(--nk-success);
    color: #166534;
}

.woocommerce-error {
    background: rgba(239, 68, 68, 0.1);
    border-top-color: var(--nk-danger);
    color: #991b1b;
}

.woocommerce-info {
    background: rgba(0, 168, 232, 0.08);
    border-top-color: var(--nk-accent);
    color: var(--nk-accent-dark);
}
