/* NOSC Design System - Frete no Carrinho v1.0.5 */

.cart_totals .shop_table {
    border: 1px solid #E8DDD0 !important;
    border-radius: 8px !important;
}

.cart_totals .shop_table th {
    background: #FFFDF9 !important;
    color: #b0b0b0 !important;
    font-weight: 600 !important;
}

.woocommerce-shipping-totals td {
    background: #FFFDF9 !important;
    padding: 20px !important;
}

.woocommerce-shipping-methods {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.woocommerce-shipping-methods li {
    padding: 14px 16px !important;
    margin: 0 0 10px 0 !important;
    background: #fff !important;
    border: 2px solid #E8DDD0 !important;
    border-radius: 8px !important;
}

.woocommerce-shipping-methods li:hover {
    border-color: #C4973B !important;
}

.woocommerce-shipping-methods input[type='radio'] {
    accent-color: #C4973B !important;
    width: 18px !important;
    height: 18px !important;
}

.woocommerce-shipping-methods .amount {
    font-weight: 700 !important;
    color: #C4973B !important;
    font-size: 16px !important;
}

.shipping-calculator-button {
    color: #C4973B !important;
    font-weight: 600 !important;
}

/* Subtotal - preto */
.cart_totals .cart-subtotal .amount,
.cart_totals .cart-subtotal .woocommerce-Price-amount,
.cart_totals .cart-subtotal .woocommerce-Price-amount bdi {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #000 !important;
}

/* Total - branco */
.cart_totals .order-total th,
.cart_totals .order-total td {
    background: #FFFDF9 !important;
    color: #000 !important;
}

.cart_totals .order-total .amount,
.cart_totals .order-total .woocommerce-Price-amount,
.cart_totals .order-total .woocommerce-Price-amount bdi {
    color: #000 !important;
    font-size: 20px !important;
    font-weight: 700 !important;
}

.cart_totals > h2 {
    color: #b0b0b0 !important;
}

/* Botão Continuar para Finalização - verde igual ao Adicionar ao Carrinho */
.wc-proceed-to-checkout .checkout-button,
.cart_totals .wc-proceed-to-checkout a {
    background-color: #5cb85c !important;
    color: #fff !important;
    border: none !important;
    border-radius: 4px !important;
}

.wc-proceed-to-checkout .checkout-button:hover,
.cart_totals .wc-proceed-to-checkout a:hover {
    background-color: #449d44 !important;
}

/* ============================================
   QUANTITY SELECTOR - Mobile UX v1.0
   ============================================ */

/* Wrapper dos botões de quantidade */
.qty-wrapper {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #fff !important;
    border: 2px solid #E8DDD0 !important;
    border-radius: 50px !important;
    overflow: hidden !important;
    min-width: 140px !important;
}

.qty-wrapper.updating {
    opacity: 0.6 !important;
    pointer-events: none !important;
}

/* Botões + e - */
.qty-btn {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
    border: none !important;
    background: #f3efdf !important;
    color: #000 !important;
    font-size: 24px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background 0.2s ease !important;
    -webkit-tap-highlight-color: transparent !important;
    user-select: none !important;
    padding: 0 !important;
    margin: 0 !important;
    line-height: 1 !important;
}

.qty-btn:hover,
.qty-btn:active {
    background: #e8e4d6 !important;
}

.qty-btn:active {
    transform: scale(0.95) !important;
}

.qty-minus {
    border-radius: 50px 0 0 50px !important;
}

.qty-plus {
    border-radius: 0 50px 50px 0 !important;
}

/* Input de quantidade */
.qty-wrapper input.qty {
    width: 50px !important;
    height: 48px !important;
    border: none !important;
    background: #fff !important;
    text-align: center !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #000 !important;
    padding: 0 !important;
    margin: 0 !important;
    -moz-appearance: textfield !important;
    appearance: textfield !important;
}

.qty-wrapper input.qty::-webkit-outer-spin-button,
.qty-wrapper input.qty::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

.qty-wrapper input.qty:focus {
    outline: none !important;
    box-shadow: none !important;
}

/* Esconder botão "Atualizar carrinho" - agora é automático */
.woocommerce-cart-form .actions button[name="update_cart"] {
    display: none !important;
}

/* Ajustes mobile */
@media (max-width: 768px) {
    .qty-wrapper {
        min-width: 130px !important;
    }
    
    .qty-btn {
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
        min-height: 44px !important;
        font-size: 22px !important;
    }
    
    .qty-wrapper input.qty {
        width: 42px !important;
        height: 44px !important;
        font-size: 16px !important;
    }
    
    /* Quantidade na tabela do carrinho mobile */
    .woocommerce-cart-form__cart-item .product-quantity {
        text-align: center !important;
    }
}

/* Label "Quantidade:" mais visível */
.cart_item td[data-title="Quantidade"],
.woocommerce-cart-form td.product-quantity {
    vertical-align: middle !important;
}

/* Padding reduzido no carrinho mobile */
@media (max-width: 768px) {
    .separate-containers .inside-article,
    .separate-containers .comments-area,
    .separate-containers .page-header,
    .separate-containers .paging-navigation,
    .one-container .container,
    .site-content,
    .inside-page-header {
        padding: 10px !important;
    }
}

/* ============================================
   AVISO DE HORÁRIO DE CORTE - v1.0
   Para remover: delete este bloco e a função
   nosc_delivery_cutoff_notice() em functions.php
   ============================================ */

.nosc-cutoff-notice {
    display: flex !important;
    align-items: flex-start !important;
    gap: 12px !important;
    background: #FFFDF9 !important;
    border: 1px solid #E8DDD0 !important;
    border-left: 3px solid #ddb970 !important;
    border-radius: 6px !important;
    padding: 14px 16px !important;
    margin: 0 0 20px 0 !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    color: #5C4A3D !important;
}

.nosc-cutoff-notice svg {
    flex-shrink: 0 !important;
    width: 22px !important;
    height: 22px !important;
    margin-top: 1px !important;
}

.nosc-cutoff-notice .notice-text strong {
    color: #5C4A3D !important;
}

@media (max-width: 768px) {
    .nosc-cutoff-notice {
        padding: 12px 14px !important;
        font-size: 13px !important;
        gap: 10px !important;
    }
    
    .nosc-cutoff-notice svg {
        width: 20px !important;
        height: 20px !important;
    }
}
