/* -----------------------------------------------------------------------
   MadNutz — Cart Page
   Estratégia: NÃO sobrescrever display/grid/flex interno do WC Block.
   Apenas cores, fundos, tipografia e borders.
   ----------------------------------------------------------------------- */

/* ── Fundo da página ────────────────────────────────────────── */
body.woocommerce-cart {
    background: #131313;
}

body.woocommerce-cart::before {
    content: '';
    position: fixed;
    inset: 0;
    z-index: 0;
    background: radial-gradient(circle at 50% 20%, rgba(255,0,60,.08) 0%, transparent 60%);
    pointer-events: none;
}

body.woocommerce-cart .mn-wc-wrap {
    position: relative;
    z-index: 1;
    max-width: 1100px;
    margin: 0 auto;
    padding: 40px 24px 72px;
}

/* ── Título ─────────────────────────────────────────────────── */
body.woocommerce-cart h1.entry-title,
body.woocommerce-cart .page-title {
    font-family: 'Passion One', sans-serif;
    font-size: clamp(1.8rem, 3.5vw, 2.6rem);
    font-weight: 900;
    text-transform: uppercase;
    color: #fff;
    letter-spacing: .02em;
    margin: 0 0 28px;
}

/* ── Sidebar layout: deixa o flex do WC, só corrige as larguras ─ */
body.woocommerce-cart .wc-block-components-sidebar-layout {
    gap: 24px !important;
}

body.woocommerce-cart .wc-block-components-main {
    width: calc(100% - 360px) !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
    min-width: 0 !important;
}

body.woocommerce-cart .wc-block-components-sidebar {
    width: 336px !important;
    min-width: 260px !important;
    padding-left: 0 !important;
    box-sizing: border-box !important;
    position: sticky;
    top: 80px;
    align-self: flex-start;
}

@media (max-width: 860px) {
    body.woocommerce-cart .wc-block-components-main,
    body.woocommerce-cart .wc-block-components-sidebar {
        width: 100% !important;
        position: static !important;
    }
}

/* ── Card da lista de itens ─────────────────────────────────── */
body.woocommerce-cart .wc-block-cart__main,
body.woocommerce-cart .wc-block-components-main .wp-block-woocommerce-cart-line-items-block {
    background: rgba(22, 22, 22, .92);
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 14px;
    overflow: hidden;
}

/* Cabeçalho da tabela */
body.woocommerce-cart .wc-block-cart-items__header {
    background: rgba(255,255,255,.03) !important;
    border-bottom: 1px solid rgba(255,255,255,.06) !important;
    color: rgba(255,255,255,.3) !important;
    padding: 12px 16px !important;
}

body.woocommerce-cart .wc-block-cart-items__header th,
body.woocommerce-cart .wc-block-cart-items__header-product,
body.woocommerce-cart .wc-block-cart-items__header-total {
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
    color: rgba(255,255,255,.3) !important;
}

/* Linha de item — não alterar display/grid, só aparência */
body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row {
    border-bottom: 1px solid rgba(255,255,255,.05) !important;
    padding: 16px !important;
    transition: background .15s;
}

body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row:last-child {
    border-bottom: none !important;
}

body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row:hover {
    background: rgba(255,255,255,.015) !important;
}

/* Imagem */
body.woocommerce-cart .wc-block-cart-item__image {
    width: 72px;
}

body.woocommerce-cart .wc-block-cart-item__image a {
    display: block;
    width: 68px;
    height: 68px;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.08);
    background: rgba(255,255,255,.04);
}

body.woocommerce-cart .wc-block-cart-item__image img {
    width: 100% !important;
    height: 100%;
    object-fit: cover;
    margin: 0 !important;
}

/* Nome do produto */
body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name,
body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name a {
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name a:hover {
    color: #ff525c !important;
}

/* Descrição curta do produto */
body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-details,
body.woocommerce-cart .wc-block-cart-item__product p,
body.woocommerce-cart .wc-block-cart-item__product .short-description {
    color: #e5e2e1 !important;
    font-size: 12px !important;
    line-height: 1.5;
}

/* Preço unitário */
body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__prices {
    color: #e5e2e1 !important;
    font-size: 12px !important;
}

body.woocommerce-cart .wc-block-cart-item__prices .wc-block-components-product-price,
body.woocommerce-cart .wc-block-cart-item__prices .wc-block-components-formatted-money-amount {
    color: #e5e2e1 !important;
}

/* Metadados do kit (sabores) */
body.woocommerce-cart .wc-block-components-product-metadata__description {
    color: #e5e2e1 !important;
    font-size: 12px !important;
    line-height: 1.55;
}

body.woocommerce-cart .wc-block-components-product-metadata__description dt {
    display: inline !important;
    font-weight: 700 !important;
    color: #fff !important;
}

body.woocommerce-cart .wc-block-components-product-metadata__description dt::after {
    content: ':' !important;
    margin-right: 3px;
}

body.woocommerce-cart .wc-block-components-product-metadata__description dd {
    display: inline !important;
    margin: 0 !important;
    color: #e5e2e1 !important;
}

body.woocommerce-cart .wc-block-components-product-metadata__description dd::after {
    content: '';
    display: block;
}

/* Seletor de quantidade */
body.woocommerce-cart .wc-block-components-quantity-selector {
    border: 1px solid rgba(255,255,255,.14) !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    background: rgba(255,255,255,.04) !important;
    height: 34px !important;
    display: flex !important;
    align-items: stretch !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector__button {
    background: transparent !important;
    border: none !important;
    color: rgba(255,255,255,.5) !important;
    width: 32px !important;
    height: 100% !important;
    font-size: 16px !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    transition: background .15s, color .15s !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector__button:hover {
    background: rgba(255,255,255,.1) !important;
    color: #fff !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector__button.wc-block-components-quantity-selector__button--minus {
    color: #ff525c !important;
    border-right: 1px solid rgba(255,255,255,.1) !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector__button.wc-block-components-quantity-selector__button--plus {
    border-left: 1px solid rgba(255,255,255,.1) !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector__input {
    width: 36px !important;
    text-align: center !important;
    background: transparent !important;
    border: none !important;
    color: #e6eb00 !important;
    font-family: 'Passion One', sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    padding: 0 !important;
    -moz-appearance: textfield !important;
    outline: none !important;
    box-shadow: none !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector__input::-webkit-inner-spin-button,
body.woocommerce-cart .wc-block-components-quantity-selector__input::-webkit-outer-spin-button {
    -webkit-appearance: none !important;
}

/* Botão remover (SVG trash icon) */
body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity .wc-block-cart-item__remove-link {
    color: rgba(255,255,255,.22) !important;
    background: transparent !important;
    border-radius: 6px !important;
    padding: 2px !important;
    transition: color .15s !important;
    text-decoration: none !important;
}

body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity .wc-block-cart-item__remove-link:hover {
    color: #ff525c !important;
}

/* Preço total do item */
body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total {
    color: #fff !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    text-align: right !important;
}

body.woocommerce-cart .wc-block-cart-item__total .wc-block-components-formatted-money-amount {
    color: #fff !important;
    font-weight: 700 !important;
}

/* ── Sidebar / Totais ────────────────────────────────────────── */
body.woocommerce-cart .wc-block-components-totals-wrapper {
    background: rgba(22, 22, 22, .92) !important;
    border: 1px solid rgba(255,255,255,.07) !important;
    border-radius: 14px !important;
    overflow: visible !important;
    color: #e5e2e1 !important;
}

/* Garante que os cantos arredondados funcionem sem overflow:hidden */
body.woocommerce-cart .wc-block-cart__submit-button,
body.woocommerce-cart .wc-block-cart__submit-button.wp-element-button {
    overflow: hidden !important;
}

/* Título "TOTAL NO CARRINHO" */
body.woocommerce-cart .wc-block-cart__totals-title {
    display: block !important;
    font-family: 'Passion One', sans-serif !important;
    font-size: .82rem !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: .14em !important;
    color: rgba(255,255,255,.3) !important;
    padding: 16px 20px 13px !important;
    margin: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.06) !important;
    background: rgba(255,255,255,.02) !important;
}

/* Painel de cupom */
body.woocommerce-cart .wc-block-components-panel {
    border-bottom: 1px solid rgba(255,255,255,.06) !important;
    background: transparent !important;
}

body.woocommerce-cart .wc-block-components-panel > h2 {
    color: inherit !important;
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.woocommerce-cart .wc-block-components-panel__button {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 13px 20px !important;
    background: transparent !important;
    border: none !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: rgba(255,255,255,.4) !important;
    cursor: pointer !important;
    transition: color .15s !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

body.woocommerce-cart .wc-block-components-panel__button:hover {
    color: rgba(255,255,255,.75) !important;
    background: transparent !important;
}

body.woocommerce-cart .wc-block-components-panel__button-icon {
    flex-shrink: 0 !important;
    opacity: .4 !important;
}

body.woocommerce-cart .wc-block-components-panel__content {
    padding: 0 20px 16px !important;
}

/* Input do cupom — coluna para não cortar */
body.woocommerce-cart .wc-block-components-totals-coupon__form {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
}

body.woocommerce-cart .wc-block-components-totals-coupon__input,
body.woocommerce-cart .wc-block-components-totals-coupon__input .wc-block-components-text-input {
    width: 100% !important;
}

body.woocommerce-cart .wc-block-components-totals-coupon__input input,
body.woocommerce-cart .wc-block-components-panel__content input[type="text"] {
    width: 100% !important;
    padding: 10px 14px !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    border-radius: 8px !important;
    background: rgba(255,255,255,.06) !important;
    color: #fff !important;
    font-size: 13px !important;
    outline: none !important;
    box-shadow: none !important;
    transition: border-color .2s !important;
    box-sizing: border-box !important;
}

body.woocommerce-cart .wc-block-components-totals-coupon__input input:focus,
body.woocommerce-cart .wc-block-components-panel__content input[type="text"]:focus {
    border-color: rgba(255,0,60,.55) !important;
    box-shadow: 0 0 0 2px rgba(255,0,60,.1) !important;
}

body.woocommerce-cart .wc-block-components-totals-coupon__input input::placeholder {
    color: rgba(255,255,255,.25) !important;
}

body.woocommerce-cart .wc-block-components-totals-coupon__button {
    width: 100% !important;
    padding: 10px 14px !important;
    background: rgba(255,255,255,.07) !important;
    color: rgba(255,255,255,.65) !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    box-shadow: none !important;
    transition: background .15s, color .15s, border-color .15s !important;
    text-align: center !important;
    letter-spacing: .04em !important;
}

body.woocommerce-cart .wc-block-components-totals-coupon__button:hover {
    background: #FF003C !important;
    color: #fff !important;
    border-color: #FF003C !important;
}

/* Linhas de subtotal */
body.woocommerce-cart .wc-block-components-totals-item {
    padding-left: 20px !important;
    padding-right: 20px !important;
    border-color: rgba(255,255,255,.05) !important;
    color: rgba(255,255,255,.45) !important;
}

body.woocommerce-cart .wc-block-components-totals-item__label {
    color: rgba(255,255,255,.45) !important;
    font-size: 13px !important;
}

body.woocommerce-cart .wc-block-components-totals-item__value {
    color: rgba(255,255,255,.75) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}

/* Total estimado (footer) */
body.woocommerce-cart .wc-block-components-totals-footer-item {
    padding: 16px 20px 14px !important;
    border-top: 1px solid rgba(255,255,255,.1) !important;
    background: rgba(255,255,255,.02) !important;
}

body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
    font-family: 'Passion One', sans-serif !important;
    font-size: .95rem !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: .06em !important;
    color: rgba(255,255,255,.6) !important;
}

body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-formatted-money-amount,
body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-formatted-money-amount {
    font-family: 'Passion One', sans-serif !important;
    font-size: 1.5rem !important;
    font-weight: 900 !important;
    color: #e6eb00 !important;
    letter-spacing: .02em !important;
}

/* Frete Grátis — mesmo estilo do valor do Total Estimado */
body.woocommerce-cart .wc-block-components-totals-shipping .wc-block-components-totals-item__value {
    font-family: 'Passion One', sans-serif !important;
    font-size: 1.5rem !important;
    font-weight: 900 !important;
    color: #e6eb00 !important;
    letter-spacing: .02em !important;
}

/* ── Botão Continuar para finalização ─────────────────────── */
body.woocommerce-cart .wc-block-cart__submit-button,
body.woocommerce-cart .wc-block-cart__submit-button.wp-element-button,
body.woocommerce-cart a.wc-block-cart__submit-button,
body.woocommerce-cart .wc-block-cart__submit-button .wc-block-components-button {
    display: block !important;
    width: 100% !important;
    padding: 15px 20px !important;
    background: #FF003C !important;
    color: #fff !important;
    font-family: 'Passion One', sans-serif !important;
    font-size: 1rem !important;
    font-weight: 900 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    text-align: center !important;
    text-decoration: none !important;
    border: none !important;
    border-radius: 0 0 13px 13px !important;
    cursor: pointer !important;
    box-shadow: 0 4px 20px rgba(255,0,60,.35) !important;
    transition: background .18s, box-shadow .18s, transform .15s !important;
}

body.woocommerce-cart .wc-block-cart__submit-button:hover,
body.woocommerce-cart .wc-block-cart__submit-button.wp-element-button:hover,
body.woocommerce-cart a.wc-block-cart__submit-button:hover {
    background: #cc0030 !important;
    box-shadow: 0 0 0 2px #e6eb00, 0 6px 28px rgba(255,0,60,.5) !important;
    transform: translateY(-1px) !important;
}

/* ── Cupom aplicado ─────────────────────────────────────────── */
body.woocommerce-cart .wc-block-components-totals-discount__coupon-list {
    list-style: none !important;
    padding: 4px 20px 12px !important;
    margin: 0 !important;
}

body.woocommerce-cart .wc-block-components-totals-discount__coupon-list-item {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    background: rgba(74,222,128,.1) !important;
    border: 1px solid rgba(74,222,128,.25) !important;
    color: #4ade80 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    padding: 3px 10px !important;
    border-radius: 20px !important;
}

/* ── Notices ────────────────────────────────────────────────── */
body.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-message,
body.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-error,
body.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-info {
    border-radius: 10px !important;
    padding: 13px 18px !important;
    margin: 0 0 16px !important;
    font-size: 14px !important;
    list-style: none !important;
    border-left: 4px solid #4ade80 !important;
    background: rgba(74,222,128,.08) !important;
    color: rgba(255,255,255,.75) !important;
}

body.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-error {
    border-left-color: #ff525c !important;
    background: rgba(255,82,92,.08) !important;
}

/* ── Carrinho vazio ─────────────────────────────────────────── */
body.woocommerce-cart .wc-block-cart__empty-cart__title {
    font-family: 'Passion One', sans-serif !important;
    font-size: 1.6rem !important;
    color: rgba(255,255,255,.45) !important;
    text-align: center !important;
}

body.woocommerce-cart .wc-block-cart__empty-cart a.wp-element-button {
    background: #FF003C !important;
    color: #fff !important;
    font-family: 'Passion One', sans-serif !important;
    font-size: 1rem !important;
    font-weight: 900 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    border-radius: 10px !important;
    padding: 12px 28px !important;
    border: none !important;
    transition: background .18s !important;
}

body.woocommerce-cart .wc-block-cart__empty-cart a.wp-element-button:hover {
    background: #cc0030 !important;
}
