/* ==========================================================================
   JORNADA DE COMPRA - VISUAL MODERNO (Carrinho e Checkout)
   --------------------------------------------------------------------------
   Carregado apenas por templates/theming/carrinho.php e checkout.php.
   Tudo escopado em .jc-moderno para não interferir em outras páginas.
   Estilo inspirado em Tailwind/shadcn (CSS próprio, sem bibliotecas),
   sem degradês e sem emojis (ver "Padrão de design_UI_UX.md").
   ========================================================================== */

.jc-moderno {
    --jc-bg: #f3f4f6;
    --jc-card: #ffffff;
    --jc-borda: #e5e7eb;
    --jc-borda-forte: #d1d5db;
    --jc-texto: #111827;
    --jc-texto-2: #4b5563;
    --jc-texto-3: #6b7280;
    --jc-verde: #1dbb7f;
    --jc-verde-escuro: #16a06b;
    --jc-verde-suave: #ecfdf5;
    --jc-vermelho: #dc2626;
    --jc-vermelho-suave: #fef2f2;
    --jc-azul: #2563eb;
    --jc-azul-suave: #eff6ff;
    --jc-amarelo-suave: #fffbeb;
    --jc-raio: 12px;
    --jc-raio-sm: 8px;
    --jc-sombra: 0 1px 3px rgba(0, 0, 0, 0.06), 0 1px 2px rgba(0, 0, 0, 0.04);
    --jc-sombra-md: 0 4px 20px rgba(0, 0, 0, 0.06);

    background: var(--jc-bg);
    color: var(--jc-texto);
    padding-bottom: 60px;
}
.jc-moderno *, .jc-moderno *::before, .jc-moderno *::after { box-sizing: border-box; }

/* ---------- Cabeçalho da página (título + breadcrumb) ---------- */
.jc-moderno .categoria-titulo { background: transparent !important; padding: 36px 0 8px !important; }
.jc-moderno .categoria-titulo h1 {
    font-size: 30px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    color: var(--jc-texto) !important;
    margin: 0 0 8px !important;
}
.jc-moderno .categoria-titulo .breadcrumb {
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    font-size: 13px;
    color: var(--jc-texto-3);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
}
.jc-moderno .categoria-titulo .breadcrumb a { color: var(--jc-texto-2); text-decoration: none; }
.jc-moderno .categoria-titulo .breadcrumb a:hover { color: var(--jc-texto); }
.jc-moderno .categoria-titulo .breadcrumb a:last-child { color: var(--jc-texto); font-weight: 600; pointer-events: none; }

.jc-moderno section.white { background: transparent !important; padding-top: 16px !important; }

/* Container com largura confortável */
.jc-moderno .diogenes-container,
.jc-moderno .container { max-width: 1200px; margin-left: auto; margin-right: auto; padding-left: 20px; padding-right: 20px; }

/* ---------- Card base ---------- */
.jc-moderno .jc-card,
.jc-moderno .woocommerce-cart-form,
.jc-moderno .cart_totals,
.jc-moderno .jc-checkout-dados,
.jc-moderno .jc-checkout-resumo,
.jc-moderno .apenas-pagamento {
    background: var(--jc-card);
    border: 1px solid var(--jc-borda);
    border-radius: var(--jc-raio);
    box-shadow: var(--jc-sombra);
}

/* ---------- Avisos do WooCommerce ---------- */
.jc-moderno .woocommerce-message,
.jc-moderno .woocommerce-info,
.jc-moderno .woocommerce-error,
.jc-moderno .woocommerce-notices-wrapper > div {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    margin: 0 0 16px !important;
    padding: 14px 16px !important;
    border: 1px solid var(--jc-borda) !important;
    border-left-width: 4px !important;
    border-radius: var(--jc-raio-sm) !important;
    background: var(--jc-card) !important;
    color: var(--jc-texto-2) !important;
    font-size: 14px;
    line-height: 1.5;
    box-shadow: var(--jc-sombra);
    list-style: none;
}
.jc-moderno .woocommerce-message::before,
.jc-moderno .woocommerce-info::before,
.jc-moderno .woocommerce-error::before { position: static !important; margin: 0 !important; }
.jc-moderno .woocommerce-message { border-left-color: var(--jc-verde) !important; }
.jc-moderno .woocommerce-message::before { color: var(--jc-verde) !important; }
.jc-moderno .woocommerce-info { border-left-color: var(--jc-azul) !important; }
.jc-moderno .woocommerce-info::before { color: var(--jc-azul) !important; }
.jc-moderno .woocommerce-error { border-left-color: var(--jc-vermelho) !important; background: var(--jc-vermelho-suave) !important; flex-direction: column; align-items: flex-start; }
.jc-moderno .woocommerce-error::before { color: var(--jc-vermelho) !important; }
.jc-moderno .woocommerce-error li { margin: 0; padding: 0; }
.jc-moderno .woocommerce-message a:not(.button),
.jc-moderno .woocommerce-info a:not(.button) { color: var(--jc-azul) !important; font-weight: 600; text-decoration: none; }
.jc-moderno .woocommerce-message a:not(.button):hover,
.jc-moderno .woocommerce-info a:not(.button):hover { text-decoration: underline; }
.jc-moderno .woocommerce-message .button,
.jc-moderno .woocommerce-info .button {
    order: 2;
    margin-left: auto !important;
    float: none !important;
    padding: 8px 14px !important;
    border-radius: var(--jc-raio-sm) !important;
    background: var(--jc-card) !important;
    border: 1px solid var(--jc-borda-forte) !important;
    color: var(--jc-texto) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
}
.jc-moderno .woocommerce-message .button:hover,
.jc-moderno .woocommerce-info .button:hover { background: var(--jc-bg) !important; }

/* ---------- Inputs e botões genéricos ---------- */
.jc-moderno input.input-text,
.jc-moderno input[type="text"],
.jc-moderno input[type="email"],
.jc-moderno input[type="tel"],
.jc-moderno input[type="password"],
.jc-moderno input[type="number"],
.jc-moderno select,
.jc-moderno textarea,
.jc-moderno .select2-container .select2-selection--single {
    width: 100%;
    height: 44px;
    padding: 0 14px !important;
    font-size: 15px !important;
    line-height: 1.4;
    color: var(--jc-texto) !important;
    background: var(--jc-card) !important;
    border: 1px solid var(--jc-borda-forte) !important;
    border-radius: var(--jc-raio-sm) !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
    transition: border-color .15s, box-shadow .15s;
    outline: none;
}
.jc-moderno textarea { height: auto; min-height: 96px; padding: 10px 14px !important; }
.jc-moderno .select2-container .select2-selection--single .select2-selection__rendered { line-height: 42px; padding: 0; }
.jc-moderno .select2-container .select2-selection--single .select2-selection__arrow { height: 42px; }
.jc-moderno input.input-text:focus,
.jc-moderno input[type="text"]:focus,
.jc-moderno input[type="email"]:focus,
.jc-moderno input[type="tel"]:focus,
.jc-moderno input[type="password"]:focus,
.jc-moderno input[type="number"]:focus,
.jc-moderno select:focus,
.jc-moderno textarea:focus {
    border-color: var(--jc-texto) !important;
    box-shadow: 0 0 0 3px rgba(17, 24, 39, 0.08) !important;
}
.jc-moderno .woocommerce-invalid input.input-text,
.jc-moderno .woocommerce-invalid select { border-color: var(--jc-vermelho) !important; }
.jc-moderno .woocommerce-validated input.input-text { border-color: var(--jc-borda-forte) !important; }

.jc-moderno .form-row { margin: 0 0 16px !important; padding: 0 !important; }
.jc-moderno .form-row label {
    display: block;
    margin: 0 0 6px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--jc-texto) !important;
    line-height: 1.4;
}
.jc-moderno .form-row label .required { color: var(--jc-vermelho) !important; text-decoration: none; }
.jc-moderno .form-row label .optional { color: var(--jc-texto-3); font-weight: 400; }
.jc-moderno .form-row-first,
.jc-moderno .form-row-last { width: calc(50% - 8px) !important; }
.jc-moderno .form-row-first { float: left !important; }
.jc-moderno .form-row-last { float: right !important; }
.jc-moderno .form-row-wide { clear: both; width: 100% !important; }

/* Checkboxes (ex.: "Criar uma conta?") */
.jc-moderno .woocommerce-form__label-for-checkbox {
    display: inline-flex !important;
    align-items: center;
    gap: 10px;
    font-weight: 500 !important;
    cursor: pointer;
}
.jc-moderno input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin: 0 !important;
    accent-color: var(--jc-verde);
    cursor: pointer;
}

/* Botão primário (verde com "degrau", mesmo padrão dos singles de rifa) */
.jc-moderno .checkout-button,
.jc-moderno .wc-proceed-to-checkout a.checkout-button,
.jc-moderno .wc-proceed-to-checkout .btn-padrao,
.jc-moderno #place_order {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100% !important;
    min-height: 56px;
    margin: 0 !important;
    padding: 16px 20px !important;
    border: 0 !important;
    border-radius: var(--jc-raio-sm) !important;
    background: var(--jc-verde) !important;
    color: #ffffff !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    text-decoration: none !important;
    box-shadow: 0 4px 0 var(--jc-verde-escuro) !important;
    cursor: pointer;
    transition: filter .15s, transform .1s, box-shadow .1s;
}
.jc-moderno .checkout-button:hover,
.jc-moderno .wc-proceed-to-checkout .btn-padrao:hover,
.jc-moderno #place_order:hover { filter: brightness(.96); }
.jc-moderno .checkout-button:active,
.jc-moderno .wc-proceed-to-checkout .btn-padrao:active,
.jc-moderno #place_order:active { transform: translateY(3px); box-shadow: 0 1px 0 var(--jc-verde-escuro) !important; }

/* Botão secundário (contorno) */
.jc-moderno .jc-btn-sec,
.jc-moderno .woocommerce-cart-form button[name="apply_coupon"],
.jc-moderno .woocommerce-cart-form button[name="update_cart"],
.jc-moderno .checkout_coupon button[name="apply_coupon"],
.jc-moderno .woocommerce-form-login__submit {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    height: 44px;
    margin: 0 !important;
    padding: 0 18px !important;
    border: 1px solid var(--jc-borda-forte) !important;
    border-radius: var(--jc-raio-sm) !important;
    background: var(--jc-card) !important;
    color: var(--jc-texto) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    text-transform: none !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
    cursor: pointer;
    white-space: nowrap;
    opacity: 1 !important;
    transition: background .15s, border-color .15s;
}
.jc-moderno .jc-btn-sec:hover,
.jc-moderno .woocommerce-cart-form button[name="apply_coupon"]:hover,
.jc-moderno .woocommerce-cart-form button[name="update_cart"]:hover,
.jc-moderno .checkout_coupon button[name="apply_coupon"]:hover,
.jc-moderno .woocommerce-form-login__submit:hover { background: var(--jc-bg) !important; border-color: var(--jc-texto-3) !important; }
.jc-moderno .woocommerce-cart-form button[name="update_cart"]:disabled { color: var(--jc-texto-3) !important; cursor: not-allowed; background: var(--jc-card) !important; border-color: var(--jc-borda) !important; }

/* Reforço de especificidade: o woocommerce.css da jornada usa seletores longos com !important
   para os botões da linha de ações do carrinho (cor verde/cinza e larguras fixas). */
.jc-moderno .woocommerce .actions button.btn.btn-default[name="update_cart"],
.jc-moderno .woocommerce .actions button.btn.btn-default[name="update_cart"]:disabled,
.jc-moderno .woocommerce .actions button.btn.btn-default[name="apply_coupon"] {
    width: auto !important;
    min-width: 0 !important;
    height: 44px !important;
    background: var(--jc-card) !important;
    border: 1px solid var(--jc-borda-forte) !important;
    color: var(--jc-texto) !important;
    margin: 0 !important;
}
.jc-moderno .woocommerce .actions button.btn.btn-default[name="update_cart"]:disabled {
    color: var(--jc-texto-3) !important;
    border-color: var(--jc-borda) !important;
    cursor: not-allowed;
}
.jc-moderno .woocommerce form.checkout_coupon button.btn.btn-default[name="apply_coupon"] {
    color: var(--jc-texto) !important;
    background: var(--jc-card) !important;
    border: 1px solid var(--jc-borda-forte) !important;
    margin-top: 0 !important;
}
.jc-moderno .woocommerce form.checkout_coupon button.btn.btn-default[name="apply_coupon"]:hover { background: var(--jc-bg) !important; }
.jc-moderno .woocommerce .actions button.btn.btn-default:hover:not(:disabled) { background: var(--jc-bg) !important; border-color: var(--jc-texto-3) !important; }

/* Loader do WooCommerce (blockUI) mais discreto */
.jc-moderno .blockUI.blockOverlay { background: rgba(255, 255, 255, 0.7) !important; border-radius: var(--jc-raio); }

/* ==========================================================================
   CARRINHO
   ========================================================================== */
.jc-carrinho .woocommerce > .row { display: flex; flex-wrap: wrap; margin-left: -12px; margin-right: -12px; }
.jc-carrinho .woocommerce > .row > div { padding-left: 12px; padding-right: 12px; }

.jc-carrinho .woocommerce-cart-form { padding: 8px 24px 24px; margin-bottom: 24px; }

.jc-carrinho table.shop_table.cart {
    width: 100%;
    margin: 0 !important;
    border: 0 !important;
    border-collapse: collapse !important;
    background: transparent !important;
    border-radius: 0 !important;
}
.jc-carrinho table.shop_table.cart thead th {
    padding: 16px 8px 12px !important;
    border: 0 !important;
    border-bottom: 1px solid var(--jc-borda) !important;
    background: transparent !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--jc-texto-3) !important;
    text-align: left;
}
.jc-carrinho table.shop_table.cart td {
    padding: 18px 8px !important;
    border: 0 !important;
    border-bottom: 1px solid var(--jc-borda) !important;
    background: transparent !important;
    vertical-align: middle !important;
    font-size: 15px;
    color: var(--jc-texto);
}
.jc-carrinho table.shop_table.cart th.product-subtotal,
.jc-carrinho table.shop_table.cart td.product-subtotal { text-align: right; }
.jc-carrinho table.shop_table.cart td.product-subtotal { font-weight: 700; }
.jc-carrinho table.shop_table.cart td.product-price { color: var(--jc-texto-2); }

/* Miniatura */
.jc-carrinho td.product-thumbnail { width: 88px; }
.jc-carrinho td.product-thumbnail img {
    display: block;
    min-width: 0 !important;
    min-height: 0 !important;
    max-height: none !important;
    width: 72px !important;
    height: 72px !important;
    max-width: none !important;
    object-fit: cover;
    border-radius: var(--jc-raio-sm);
    border: 1px solid var(--jc-borda);
    background: var(--jc-bg);
}

/* Nome do produto */
.jc-carrinho td.product-name a { color: var(--jc-texto) !important; font-weight: 600; text-decoration: none; }
.jc-carrinho td.product-name a:hover { text-decoration: underline; }
.jc-carrinho td.product-name dl.variation { margin: 6px 0 0; font-size: 13px; color: var(--jc-texto-3); }

/* Remover item */
.jc-carrinho td.product-remove { width: 44px; }
.jc-carrinho td.product-remove a.remove {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 32px !important;
    height: 32px !important;
    border-radius: 999px !important;
    border: 1px solid var(--jc-borda) !important;
    background: var(--jc-card) !important;
    color: var(--jc-texto-3) !important;
    font-size: 20px !important;
    line-height: 1 !important;
    font-weight: 400 !important;
    text-decoration: none !important;
    transition: all .15s;
}
.jc-carrinho td.product-remove a.remove:hover {
    background: var(--jc-vermelho-suave) !important;
    border-color: #fecaca !important;
    color: var(--jc-vermelho) !important;
}

/* Quantidade com botões - / + (montados via JS no template) */
.jc-moderno .quantity { display: inline-flex; align-items: stretch; margin: 0 !important; }
.jc-moderno .jc-qtd {
    display: inline-flex;
    align-items: stretch;
    height: 40px;
    border: 1px solid var(--jc-borda-forte);
    border-radius: var(--jc-raio-sm);
    overflow: hidden;
    background: var(--jc-card);
}
.jc-moderno .jc-qtd button {
    width: 36px;
    border: 0;
    background: var(--jc-bg);
    color: var(--jc-texto);
    font-size: 18px;
    font-weight: 600;
    line-height: 1;
    cursor: pointer;
    transition: background .15s;
}
.jc-moderno .jc-qtd button:hover { background: var(--jc-borda); }
.jc-moderno .jc-qtd button:disabled { color: #9ca3af; cursor: not-allowed; background: #f9fafb; }
.jc-moderno .jc-qtd input.qty,
.jc-moderno .quantity input.qty {
    width: 52px !important;
    height: auto !important;
    padding: 0 !important;
    border: 0 !important;
    border-left: 1px solid var(--jc-borda-forte) !important;
    border-right: 1px solid var(--jc-borda-forte) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    text-align: center;
    font-size: 15px !important;
    font-weight: 700;
    background: var(--jc-card) !important;
    -moz-appearance: textfield;
}
.jc-moderno .quantity:not(.jc-qtd-pronto) input.qty { border: 1px solid var(--jc-borda-forte) !important; border-radius: var(--jc-raio-sm) !important; height: 40px !important; }
.jc-moderno .jc-qtd input.qty::-webkit-outer-spin-button,
.jc-moderno .jc-qtd input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.jc-moderno .jc-qtd input.qty:focus { box-shadow: none !important; background: #f9fafb !important; }

/* Linha de ações: cupom + atualizar */
.jc-carrinho table.shop_table.cart td.actions {
    padding: 20px 0 0 !important;
    border-bottom: 0 !important;
}
.jc-carrinho td.actions {
    display: table-cell;
}
.jc-carrinho td.actions .jc-acoes {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.jc-carrinho td.actions .coupon {
    display: flex !important;
    align-items: center;
    gap: 8px;
    flex: 1 1 360px;
    max-width: 460px;
    float: none !important;
    margin: 0 !important;
}
.jc-carrinho td.actions .coupon label { display: none !important; }
.jc-carrinho td.actions .coupon { padding: 0 !important; border: 0 !important; gap: 0 !important; }
.jc-carrinho td.actions .coupon::before,
.jc-carrinho td.actions .coupon::after { display: none !important; content: none !important; }
.jc-carrinho td.actions .coupon button[name="apply_coupon"] { margin-left: 8px !important; }
.jc-carrinho td.actions .coupon #coupon_code { flex: 1; width: auto !important; min-width: 0; margin: 0 !important; }
.jc-carrinho td.actions > button[name="update_cart"],
.jc-carrinho td.actions .jc-acoes > button[name="update_cart"] { float: none !important; }

/* Resumo do pedido */
.jc-carrinho .cart-collaterals { width: 100% !important; position: sticky; top: 24px; }
.jc-carrinho .cart_totals {
    float: none !important;
    width: 100% !important;
    padding: 24px;
}
.jc-moderno .jc-resumo-titulo {
    margin: 0 0 16px !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: var(--jc-texto) !important;
    text-transform: none !important;
}
.jc-moderno .cart_totals table.shop_table,
.jc-moderno table.woocommerce-checkout-review-order-table {
    width: 100%;
    margin: 0 0 20px !important;
    border: 0 !important;
    border-collapse: collapse !important;
    background: transparent !important;
    border-radius: 0 !important;
}
.jc-moderno .cart_totals table.shop_table th,
.jc-moderno .cart_totals table.shop_table td {
    padding: 10px 0 !important;
    border: 0 !important;
    border-top: 0 !important;
    background: transparent !important;
    font-size: 15px;
    color: var(--jc-texto-2);
    font-weight: 400;
    vertical-align: middle;
}
.jc-moderno .cart_totals table.shop_table td { text-align: right; color: var(--jc-texto); }
.jc-moderno .cart_totals table.shop_table tr.order-total th,
.jc-moderno .cart_totals table.shop_table tr.order-total td {
    padding-top: 16px !important;
    border-top: 1px solid var(--jc-borda) !important;
    font-size: 18px;
    font-weight: 700;
    color: var(--jc-texto);
}
.jc-moderno .cart_totals table.shop_table tr.order-total td strong { font-weight: 700; }
.jc-moderno tr.cart-discount td,
.jc-moderno tr.cart-discount th { color: var(--jc-verde-escuro) !important; }
.jc-moderno tr.cart-discount a.woocommerce-remove-coupon { color: var(--jc-texto-3); font-size: 12px; margin-left: 6px; }
.jc-carrinho .wc-proceed-to-checkout { padding: 0 !important; }
.jc-moderno .jc-seguro {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 16px;
    font-size: 12px;
    color: var(--jc-texto-3);
}
.jc-moderno .jc-seguro svg { width: 14px; height: 14px; fill: currentColor; flex: 0 0 auto; }
.jc-moderno .jc-continuar {
    display: block;
    margin-top: 12px;
    text-align: center;
    font-size: 14px;
    font-weight: 600;
    color: var(--jc-texto-2) !important;
    text-decoration: none !important;
}
.jc-moderno .jc-continuar:hover { color: var(--jc-texto) !important; text-decoration: underline !important; }

/* Carrinho vazio (template cart/cart-empty.php) */
.jc-carrinho .jc-vazio {
    max-width: 560px;
    margin: 24px auto 0;
    padding: 48px 32px 40px;
    text-align: center;
    background: var(--jc-card);
    border: 1px solid var(--jc-borda);
    border-radius: var(--jc-raio);
    box-shadow: var(--jc-sombra-md);
}
.jc-carrinho .jc-vazio-icone {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 80px;
    height: 80px;
    margin-bottom: 20px;
    border-radius: 999px;
    background: var(--jc-verde-suave);
    color: var(--jc-verde-escuro);
}
.jc-carrinho .jc-vazio-icone svg { width: 38px; height: 38px; fill: currentColor; }
.jc-carrinho .jc-vazio-titulo {
    margin: 0 0 8px !important;
    font-size: 24px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    color: var(--jc-texto) !important;
    text-transform: none !important;
}
.jc-carrinho .jc-vazio-texto {
    max-width: 420px;
    margin: 0 auto 28px !important;
    font-size: 15px;
    line-height: 1.6;
    color: var(--jc-texto-2);
}
.jc-carrinho .jc-vazio-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 14px 28px;
    border-radius: var(--jc-raio-sm);
    background: var(--jc-verde);
    color: #ffffff !important;
    font-size: 16px;
    font-weight: 700;
    text-decoration: none !important;
    box-shadow: 0 4px 0 var(--jc-verde-escuro);
    transition: filter .15s, transform .1s, box-shadow .1s;
}
.jc-carrinho .jc-vazio-btn:hover { filter: brightness(.96); }
.jc-carrinho .jc-vazio-btn:active { transform: translateY(3px); box-shadow: 0 1px 0 var(--jc-verde-escuro); }
.jc-carrinho .jc-vazio .jc-continuar { margin-top: 16px; }
@media (max-width: 767px) {
    .jc-carrinho .jc-vazio { padding: 36px 20px 32px; margin-top: 8px; }
    .jc-carrinho .jc-vazio-titulo { font-size: 20px !important; }
    .jc-carrinho .jc-vazio-btn { display: flex; width: 100%; }
}

/* ==========================================================================
   CHECKOUT
   ========================================================================== */
.jc-checkout .woocommerce-form-login-toggle,
.jc-checkout .woocommerce-form-coupon-toggle { margin-bottom: 0; }

/* Formulários de login e cupom que abrem pelo aviso */
.jc-checkout form.woocommerce-form-login,
.jc-checkout form.checkout_coupon {
    margin: 0 0 16px !important;
    padding: 20px !important;
    border: 1px solid var(--jc-borda) !important;
    border-radius: var(--jc-raio) !important;
    background: var(--jc-card) !important;
    box-shadow: var(--jc-sombra);
    font-size: 14px;
    color: var(--jc-texto-2);
}
.jc-checkout form.checkout_coupon { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.jc-checkout form.checkout_coupon[style*="display: none"],
.jc-checkout form.checkout_coupon[style*="display:none"] { display: none !important; }
.jc-checkout form.checkout_coupon > p:first-child { flex: 0 0 100%; margin: 0 0 4px; }
.jc-checkout form.checkout_coupon .form-row { float: none !important; width: auto !important; margin: 0 !important; }
.jc-checkout form.checkout_coupon .form-row-first { flex: 1 1 240px; max-width: 420px; }
.jc-checkout form.checkout_coupon button { margin-top: 0 !important; }
.jc-checkout form.checkout_coupon .clear { display: none; }

.jc-checkout #customer_details { display: flex; flex-wrap: wrap; margin: 8px -12px 0; }
.jc-checkout #customer_details > .colunas-woocommerce-novas { padding-left: 12px; padding-right: 12px; }

/* Títulos de seção dentro dos cards */
.jc-checkout .woocommerce-billing-fields > h3,
.jc-checkout .jc-checkout-resumo > h3,
.jc-checkout .apenas-pagamento > h3 {
    margin: 0 0 2px !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: var(--jc-texto) !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}
.jc-checkout .woocommerce-billing-fields > h5,
.jc-checkout .jc-checkout-resumo > h5,
.jc-checkout .apenas-pagamento > h5 {
    margin: 0 0 20px !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    color: var(--jc-texto-3) !important;
}

/* Card "Seus dados" */
.jc-checkout .jc-checkout-dados { padding: 24px; margin-bottom: 24px; }
.jc-checkout .jc-checkout-dados::after { content: ''; display: table; clear: both; }
.jc-checkout .woocommerce-billing-fields,
.jc-checkout .woocommerce-billing-fields__field-wrapper-disabled { border: 0 !important; padding: 0 !important; margin: 0 !important; background: transparent !important; }
.jc-checkout .woocommerce-billing-fields__field-wrapper-disabled { padding-top: 0 !important; }
.jc-checkout .woocommerce-billing-fields .accordion .card {
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    margin: 0 !important;
}
.jc-checkout .woocommerce-billing-fields .accordion .card + .card { margin-top: 8px !important; padding-top: 16px; border-top: 1px solid var(--jc-borda) !important; }
.jc-checkout .woocommerce-billing-fields .accordion .card-header {
    padding: 0 !important;
    margin: 0 0 16px !important;
    border: 0 !important;
    background: transparent !important;
}
.jc-checkout .woocommerce-billing-fields .accordion .card-header h2 { margin: 0 !important; }
.jc-checkout .woocommerce-billing-fields .accordion .card-header .btn-link {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--jc-texto-3) !important;
    text-decoration: none !important;
    box-shadow: none !important;
}
.jc-checkout .woocommerce-billing-fields .accordion .card-body { padding: 0 !important; }
.jc-checkout .woocommerce-billing-fields .accordion .card-body::after { content: ''; display: table; clear: both; }
.jc-checkout .woocommerce-account-fields { clear: both; margin-top: 4px; padding-top: 16px; border-top: 1px solid var(--jc-borda); }
.jc-checkout .woocommerce-account-fields .form-row { margin-bottom: 8px !important; }

/* Card "Revisão do pedido" */
.jc-checkout .jc-checkout-resumo { padding: 24px; margin-bottom: 24px; }
.jc-checkout table.woocommerce-checkout-review-order-table thead th {
    padding: 0 0 10px !important;
    border: 0 !important;
    border-bottom: 1px solid var(--jc-borda) !important;
    background: transparent !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--jc-texto-3) !important;
}
.jc-checkout table.woocommerce-checkout-review-order-table td,
.jc-checkout table.woocommerce-checkout-review-order-table tfoot th {
    padding: 12px 0 !important;
    border: 0 !important;
    border-bottom: 1px solid #f3f4f6 !important;
    background: transparent !important;
    font-size: 15px;
    font-weight: 400;
    color: var(--jc-texto-2);
    vertical-align: middle;
}
.jc-checkout table.woocommerce-checkout-review-order-table td.product-name { color: var(--jc-texto); font-weight: 500; }
.jc-checkout table.woocommerce-checkout-review-order-table td.product-name .product-quantity {
    display: inline-block;
    margin-left: 4px;
    padding: 1px 8px;
    border-radius: 999px;
    background: var(--jc-bg);
    font-size: 12px;
    font-weight: 600;
    color: var(--jc-texto-2);
}
.jc-checkout table.woocommerce-checkout-review-order-table th.product-total,
.jc-checkout table.woocommerce-checkout-review-order-table td.product-total,
.jc-checkout table.woocommerce-checkout-review-order-table tfoot td { text-align: right; color: var(--jc-texto); }
.jc-checkout table.woocommerce-checkout-review-order-table tfoot tr.order-total th,
.jc-checkout table.woocommerce-checkout-review-order-table tfoot tr.order-total td {
    padding-top: 16px !important;
    border-bottom: 0 !important;
    border-top: 1px solid var(--jc-borda) !important;
    font-size: 18px;
    font-weight: 700;
    color: var(--jc-texto);
}
.jc-checkout table.woocommerce-checkout-review-order-table { margin-bottom: 0 !important; }
.jc-checkout .jc-checkout-resumo + p { display: none; }

/* Card "Pagamento" */
.jc-checkout .apenas-pagamento { padding: 24px; }
.jc-checkout #order_review,
.jc-checkout #payment { background: transparent !important; border-radius: 0 !important; padding: 0 !important; margin: 0 !important; }
.jc-checkout #payment ul.payment_methods {
    margin: 0 0 16px !important;
    padding: 0 !important;
    border: 0 !important;
    list-style: none;
}
.jc-checkout #payment ul.payment_methods > li.wc_payment_method {
    margin: 0 0 10px !important;
    padding: 14px 16px !important;
    border: 1px solid var(--jc-borda-forte);
    border-radius: var(--jc-raio-sm);
    background: var(--jc-card);
    list-style: none;
    transition: border-color .15s, background .15s;
}
.jc-checkout #payment ul.payment_methods > li.wc_payment_method:has(> input:checked) {
    border-color: var(--jc-verde);
    background: var(--jc-verde-suave);
    box-shadow: 0 0 0 3px rgba(29, 187, 127, 0.12);
}
.jc-checkout #payment ul.payment_methods > li > label {
    display: inline-flex !important;
    align-items: center;
    gap: 10px;
    margin: 0 !important;
    font-size: 15px;
    font-weight: 600;
    color: var(--jc-texto);
    cursor: pointer;
}
.jc-checkout #payment ul.payment_methods > li > label img { max-height: 20px; width: auto; margin: 0 !important; }
.jc-checkout #payment ul.payment_methods > li > input.input-radio { accent-color: var(--jc-verde); margin-right: 8px; }
.jc-checkout #payment div.payment_box {
    margin: 12px 0 0 !important;
    padding: 14px !important;
    border-radius: var(--jc-raio-sm) !important;
    background: var(--jc-card) !important;
    border: 1px solid var(--jc-borda);
    color: var(--jc-texto-2) !important;
    font-size: 14px;
    line-height: 1.5;
}
.jc-checkout #payment div.payment_box::before { display: none !important; }
.jc-checkout #payment div.payment_box ul { margin: 0 0 8px !important; padding: 0 !important; list-style: none; }
.jc-checkout #payment div.payment_box ul li { display: flex; align-items: center; gap: 8px; margin: 0 0 6px; }
.jc-checkout #payment div.payment_box ul li label { margin: 0 !important; font-weight: 500; color: var(--jc-texto); }
.jc-checkout #payment div.payment_box input.input-radio { accent-color: var(--jc-verde); }
.jc-checkout #payment .place-order { padding: 0 !important; margin: 0 !important; }
.jc-checkout #payment .place-order > p:empty,
.jc-checkout #payment .place-order > p:not([class]):not(:has(*)) { display: none; }
.jc-checkout .woocommerce-terms-and-conditions-wrapper { margin: 0 0 20px; font-size: 13px; line-height: 1.55; color: var(--jc-texto-3); }
.jc-checkout .woocommerce-terms-and-conditions-wrapper p { margin: 0; }
.jc-checkout .woocommerce-terms-and-conditions-wrapper a { color: var(--jc-texto-2); font-weight: 600; }

/* Coluna lateral fixa ao rolar (desktop) */
@media (min-width: 992px) {
    .jc-checkout .jc-col-lateral { position: sticky; top: 24px; align-self: flex-start; }
}

/* ==========================================================================
   RESPONSIVO
   ========================================================================== */
@media (max-width: 991px) {
    .jc-carrinho .cart-collaterals { position: static; }
}

@media (max-width: 767px) {
    .jc-moderno .categoria-titulo { padding: 24px 0 4px !important; }
    .jc-moderno .categoria-titulo h1 { font-size: 24px !important; }
    .jc-moderno .diogenes-container,
    .jc-moderno .container { padding-left: 16px; padding-right: 16px; }

    .jc-moderno .form-row-first,
    .jc-moderno .form-row-last { float: none !important; width: 100% !important; }

    /* Carrinho: cada item vira um card compacto */
    .jc-carrinho .woocommerce-cart-form { padding: 4px 16px 16px; }
    .jc-carrinho table.shop_table.cart thead { display: none !important; }
    .jc-carrinho table.shop_table.cart,
    .jc-carrinho table.shop_table.cart tbody { display: block; }
    .jc-carrinho table.shop_table.cart tr.cart_item {
        display: grid !important;
        grid-template-columns: 72px 1fr auto;
        grid-template-areas:
            "thumb nome   remove"
            "thumb preco  preco"
            "thumb qtd    total";
        column-gap: 12px;
        row-gap: 6px;
        align-items: center;
        padding: 16px 0;
        border-bottom: 1px solid var(--jc-borda);
    }
    .jc-carrinho table.shop_table.cart tr.cart_item td {
        display: block !important;
        padding: 0 !important;
        border: 0 !important;
        text-align: left !important;
        background: transparent !important;
    }
    .jc-carrinho table.shop_table.cart tr.cart_item td::before { display: none !important; }
    .jc-carrinho tr.cart_item td.product-thumbnail { grid-area: thumb; width: auto; align-self: start; }
    .jc-carrinho tr.cart_item td.product-thumbnail img { width: 72px !important; height: 72px !important; }
    .jc-carrinho tr.cart_item td.product-name { grid-area: nome; font-size: 14px; }
    .jc-carrinho tr.cart_item td.product-remove { grid-area: remove; width: auto; justify-self: end; }
    .jc-carrinho tr.cart_item td.product-price { grid-area: preco; font-size: 13px; }
    .jc-carrinho tr.cart_item td.product-quantity { grid-area: qtd; }
    .jc-carrinho tr.cart_item td.product-subtotal { grid-area: total; text-align: right !important; font-size: 15px; }
    .jc-carrinho table.shop_table.cart tr:not(.cart_item) { display: block; }
    .jc-carrinho table.shop_table.cart td.actions { display: block !important; padding-top: 16px !important; }
    .jc-carrinho td.actions .coupon { flex: 1 1 100%; max-width: none; }
    .jc-moderno .woocommerce .actions .jc-acoes > button.btn.btn-default[name="update_cart"] { width: 100% !important; }

    /* Resumo: mantém linha "rótulo | valor" (o CSS responsivo do Woo esconde o th e usa td::before) */
    .jc-moderno .cart_totals table.shop_table_responsive { display: table !important; width: 100% !important; }
    .jc-moderno .cart_totals table.shop_table_responsive tbody { display: table-row-group !important; }
    .jc-moderno .cart_totals table.shop_table_responsive tr { display: table-row !important; }
    .jc-moderno .cart_totals table.shop_table_responsive th,
    .jc-moderno .cart_totals table.shop_table_responsive td { display: table-cell !important; }
    .jc-moderno .cart_totals table.shop_table_responsive td::before { display: none !important; }
    .jc-moderno .cart_totals table.shop_table th { font-weight: 400 !important; }
    .jc-moderno .cart_totals table.shop_table tr.order-total th { font-weight: 700 !important; }

    /* Revisão do pedido (checkout): mantém a estrutura de tabela em largura total */
    .jc-checkout .jc-checkout-resumo table.woocommerce-checkout-review-order-table { display: table !important; width: 100% !important; table-layout: auto; }
    .jc-checkout .jc-checkout-resumo table.woocommerce-checkout-review-order-table thead { display: table-header-group !important; }
    .jc-checkout .jc-checkout-resumo table.woocommerce-checkout-review-order-table tbody { display: table-row-group !important; }
    .jc-checkout .jc-checkout-resumo table.woocommerce-checkout-review-order-table tfoot { display: table-footer-group !important; }
    .jc-checkout .jc-checkout-resumo table.woocommerce-checkout-review-order-table tr { display: table-row !important; }
    .jc-checkout .jc-checkout-resumo table.woocommerce-checkout-review-order-table th,
    .jc-checkout .jc-checkout-resumo table.woocommerce-checkout-review-order-table td { display: table-cell !important; }
    .jc-checkout .jc-checkout-resumo table.woocommerce-checkout-review-order-table td::before { display: none !important; }
    .jc-checkout .jc-checkout-resumo table.woocommerce-checkout-review-order-table td.product-name { font-size: 14px; }

    .jc-carrinho .cart_totals,
    .jc-checkout .jc-checkout-dados,
    .jc-checkout .jc-checkout-resumo,
    .jc-checkout .apenas-pagamento { padding: 18px; }
}


.jc-moderno input.input-text, .jc-moderno select{
    background:#f9f9f9 !important;
}