/* Giants Steps - Checkout Styles */

/* Desconto Pix */
tr.fee th {
    color: #16a34a;
    font-weight: bold;
}
tr.fee td span.amount {
    color: #16a34a;
    font-weight: bold;
}

/* Botao Copiar Pix */
.mp-pix-copy-button,
.pix-copy-btn,
.mp-details-pix-button {
    transition: all 0.3s ease;
    cursor: pointer;
    opacity: 1 !important;
    visibility: visible !important;
    text-indent: 0 !important;
    color: #fff !important;
    background-color: #2563eb;
    border: 1px solid #2563eb;
    padding: 10px 15px;
    border-radius: 8px;
    font-size: 14px;
    display: inline-block;
}
.mp-pix-copy-button.copied,
.pix-copy-btn.copied,
.mp-details-pix-button.copied {
    background-color: #16a34a !important;
    color: white !important;
    border-color: #16a34a !important;
}

/* Painel de pagamento */
.woocommerce-checkout #payment {
    background: #fafafa;
    border-radius: 12px;
    border: 1px solid #e5e7eb;
    padding: 24px;
}

/* Labels dos gateways */
.woocommerce-checkout #payment .payment_methods li {
    padding: 14px 16px;
    margin-bottom: 8px;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    background: #fff;
    transition: border-color 0.2s, box-shadow 0.2s;
}
.woocommerce-checkout #payment .payment_methods li:hover {
    border-color: #2563eb;
}
.woocommerce-checkout #payment .payment_methods li.wc_payment_method input[type="radio"]:checked ~ label {
    font-weight: 600;
}

/* Icones dos gateways */
.woocommerce-checkout #payment .payment_methods li.wc_payment_method label {
    display: flex;
    align-items: center;
    gap: 10px;
}

/* Frete: texto não pode ficar por cima do radio em telas estreitas. */
.woocommerce-checkout ul#shipping_method li {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
}
.woocommerce-checkout ul#shipping_method li input[type="radio"] {
    flex: 0 0 auto;
    margin-top: 0.25rem;
}
.woocommerce-checkout ul#shipping_method li label {
    flex: 1 1 auto;
    min-width: 0;
    line-height: 1.45;
    white-space: normal;
    overflow-wrap: anywhere;
}
.woocommerce-checkout #payment .payment_methods li.wc_payment_method label::before {
    content: "";
    display: inline-block;
    width: 26px;
    height: 18px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
.woocommerce-checkout #payment .payment_methods li.payment_method_stripe label::before {
    background-image: url("/wp-content/plugins/woocommerce-gateway-stripe/assets/images/stripe.svg");
}
.woocommerce-checkout #payment .payment_methods li.payment_method_woo-mercado-pago-custom label::before,
.woocommerce-checkout #payment .payment_methods li.payment_method_woo-mercado-pago-pix label::before {
    background-image: url("/wp-content/plugins/woocommerce-mercadopago/assets/images/mplogo.png");
}

/* Box do cartao Stripe */
.woocommerce-checkout .wc-stripe-elements-field,
.woocommerce-checkout .stripe-card-group {
    border-radius: 8px;
    border: 1px solid #d1d5db;
    padding: 12px;
    background: #fff;
}

/* Botao finalizar pedido */
.woocommerce-checkout #place_order {
    background: #1e293b;
    color: #fff;
    border: none;
    border-radius: 10px;
    padding: 16px 32px;
    font-size: 16px;
    font-weight: 600;
    width: 100%;
    cursor: pointer;
    transition: background 0.2s;
    margin-top: 16px;
}
.woocommerce-checkout #place_order:hover {
    background: #334155;
}

/* Resumo do pedido */
.woocommerce-checkout .woocommerce-checkout-review-order-table {
    border-collapse: separate;
    border-spacing: 0;
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid #e5e7eb;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table th,
.woocommerce-checkout .woocommerce-checkout-review-order-table td {
    padding: 12px 16px;
    border-bottom: 1px solid #e5e7eb;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr:last-child th,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr:last-child td {
    font-weight: 700;
    font-size: 1.1em;
    border-bottom: none;
}

/* Termos e condicoes */
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
    margin-top: 12px;
    padding: 12px;
    background: #f8fafc;
    border-radius: 8px;
}

/* Notificacao de produto adicionado */
.woocommerce-message {
    border-top-color: #2563eb;
    border-radius: 8px;
}

/* Campos do formulario */
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea {
    border-radius: 8px;
    border: 1px solid #d1d5db;
    padding: 10px 14px;
    transition: border-color 0.2s;
}
.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row select:focus {
    border-color: #2563eb;
    outline: none;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}

/*
 * Canonical checkout layout.
 * The cart page renders checkout inside its own template; the regular
 * checkout page uses these same rules so both entry points stay consistent.
 */
body.woocommerce-checkout {
    --gs-checkout-ink: #1f2521;
    --gs-checkout-muted: #68716a;
    --gs-checkout-line: #dfe3dd;
    --gs-checkout-surface: #ffffff;
    --gs-checkout-subtle: #f5f6f2;
    --gs-checkout-accent: #b3261e;
    --gs-checkout-accent-dark: #8f1e19;
    background: #f4f3ef;
}

body.woocommerce-checkout .entry-header,
body.woocommerce-checkout .woocommerce-breadcrumb {
    display: none;
}

body.woocommerce-checkout .site-content > .ast-container {
    width: min(1240px, calc(100% - 4rem));
    max-width: none;
    padding: clamp(1.5rem, 3vw, 3.5rem) 0;
}

body.woocommerce-checkout .gs-checkout-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1.5rem;
    margin-bottom: 1.5rem;
}

body.woocommerce-checkout .gs-checkout-heading h2 {
    margin: 0;
    color: var(--gs-checkout-ink);
    font-size: clamp(1.6rem, 2.4vw, 2.15rem);
    letter-spacing: -0.03em;
    line-height: 1.1;
}

body.woocommerce-checkout .gs-checkout-heading p {
    max-width: 52ch;
    margin: 0.55rem 0 0;
    color: var(--gs-checkout-muted);
    font-size: 0.94rem;
    line-height: 1.55;
}

body.woocommerce-checkout .gs-checkout-secure {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: #4c6755;
    font-size: 0.8rem;
    font-weight: 700;
    white-space: nowrap;
}

body.woocommerce-checkout .gs-checkout-secure svg {
    width: 1.05rem;
    height: 1.05rem;
}

body.woocommerce-checkout form.checkout {
    display: grid !important;
    grid-template-columns: minmax(0, 1.08fr) minmax(22rem, 0.82fr);
    align-items: start;
    gap: clamp(1.25rem, 3vw, 2.5rem);
}

body.woocommerce-checkout form.checkout #customer_details {
    grid-column: 1;
    grid-row: 1 / span 2;
    margin: 0 !important;
    padding: clamp(1.25rem, 3vw, 2rem) !important;
    background: var(--gs-checkout-surface);
    border: 1px solid var(--gs-checkout-line);
    border-radius: 14px;
}

body.woocommerce-checkout form.checkout #customer_details h3,
body.woocommerce-checkout form.checkout #order_review_heading {
    color: var(--gs-checkout-ink);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    line-height: 1.3;
    text-transform: uppercase;
}

body.woocommerce-checkout form.checkout #customer_details h3 {
    margin: 0 0 1.4rem;
    padding: 0 0 0.85rem;
    border-bottom: 1px solid var(--gs-checkout-line);
}

body.woocommerce-checkout form.checkout #customer_details .form-row {
    margin-bottom: 1rem;
}

body.woocommerce-checkout form.checkout #customer_details .form-row label {
    display: block;
    margin: 0 0 0.4rem;
    color: #3c463f;
    font-size: 0.82rem;
    font-weight: 700;
}

body.woocommerce-checkout form.checkout #customer_details .form-row label .required {
    color: var(--gs-checkout-accent);
}

body.woocommerce-checkout form.checkout #customer_details input.input-text,
body.woocommerce-checkout form.checkout #customer_details textarea,
body.woocommerce-checkout form.checkout #customer_details select {
    min-height: 3rem;
    box-sizing: border-box;
    border: 1px solid #cbd2ca !important;
    border-radius: 8px !important;
    background: #fcfcfa !important;
    color: var(--gs-checkout-ink);
    padding: 0.78rem 0.9rem !important;
}

body.woocommerce-checkout form.checkout #customer_details input.input-text:focus,
body.woocommerce-checkout form.checkout #customer_details textarea:focus,
body.woocommerce-checkout form.checkout #customer_details select:focus {
    border-color: var(--gs-checkout-accent) !important;
    background: #fff !important;
    box-shadow: 0 0 0 3px rgba(179, 38, 30, 0.12) !important;
    outline: none;
}

body.woocommerce-checkout form.checkout #order_review_heading {
    grid-column: 2;
    grid-row: 1;
    margin: 0;
    padding: 0 0 0.8rem;
    border-bottom: 1px solid var(--gs-checkout-line);
}

body.woocommerce-checkout form.checkout #order_review {
    grid-column: 2;
    grid-row: 2;
    position: sticky;
    top: 1.5rem;
    margin: 0 !important;
    padding: clamp(1.1rem, 2vw, 1.5rem) !important;
    background: var(--gs-checkout-surface);
    border: 1px solid var(--gs-checkout-line);
    border-radius: 14px;
}

body.woocommerce-checkout form.checkout #order_review .woocommerce-checkout-review-order-table {
    margin: 0 0 1.25rem;
    border: 0;
    border-collapse: collapse;
    background: transparent;
}

body.woocommerce-checkout form.checkout #order_review .woocommerce-checkout-review-order-table thead {
    border-bottom: 1px solid var(--gs-checkout-line);
}

body.woocommerce-checkout form.checkout #order_review .woocommerce-checkout-review-order-table th,
body.woocommerce-checkout form.checkout #order_review .woocommerce-checkout-review-order-table td {
    padding: 0.75rem 0;
    border: 0;
    color: var(--gs-checkout-ink);
    font-size: 0.88rem;
    line-height: 1.45;
    vertical-align: top;
}

body.woocommerce-checkout form.checkout #order_review .woocommerce-checkout-review-order-table th {
    font-weight: 700;
    text-align: left;
}

body.woocommerce-checkout form.checkout #order_review .woocommerce-checkout-review-order-table td {
    text-align: right;
}

body.woocommerce-checkout form.checkout #order_review .woocommerce-checkout-review-order-table .shipping {
    border-top: 1px solid var(--gs-checkout-line);
    border-bottom: 1px solid var(--gs-checkout-line);
}

body.woocommerce-checkout form.checkout #order_review .woocommerce-checkout-review-order-table ul#shipping_method {
    min-width: 0;
    margin: 0;
    padding: 0;
    text-align: left;
}

body.woocommerce-checkout form.checkout #order_review .woocommerce-checkout-review-order-table ul#shipping_method li {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    margin: 0;
    padding: 0.45rem 0;
    text-indent: 0;
}

body.woocommerce-checkout form.checkout #order_review .woocommerce-checkout-review-order-table ul#shipping_method input[type="radio"] {
    flex: 0 0 auto;
    width: 1rem;
    height: 1rem;
    margin: 0.18rem 0 0;
    accent-color: var(--gs-checkout-accent);
}

body.woocommerce-checkout form.checkout #order_review .woocommerce-checkout-review-order-table ul#shipping_method label {
    min-width: 0;
    color: #3c463f;
    cursor: pointer;
    font-size: 0.82rem;
    font-weight: 600;
    line-height: 1.45;
    overflow-wrap: anywhere;
    text-align: left;
}

body.woocommerce-checkout form.checkout #order_review .woocommerce-checkout-review-order-table .order-total th,
body.woocommerce-checkout form.checkout #order_review .woocommerce-checkout-review-order-table .order-total td {
    padding-top: 1.1rem;
    color: var(--gs-checkout-ink);
    font-size: 1.08rem;
    font-weight: 800;
}

body.woocommerce-checkout form.checkout #order_review #payment {
    margin: 0;
    padding: 1.25rem 0 0;
    border-top: 1px solid var(--gs-checkout-line);
    background: transparent;
}

body.woocommerce-checkout form.checkout #order_review #payment ul.payment_methods {
    display: grid;
    gap: 0.6rem;
    margin: 0;
    padding: 0;
    border: 0;
}

body.woocommerce-checkout form.checkout #order_review #payment ul.payment_methods > li.wc_payment_method {
    margin: 0;
    padding: 0.9rem 0.95rem;
    border: 1px solid var(--gs-checkout-line);
    border-radius: 10px;
    background: #fff;
}

body.woocommerce-checkout form.checkout #order_review #payment ul.payment_methods > li.wc_payment_method:has(input[type="radio"]:checked) {
    border-color: var(--gs-checkout-accent);
    box-shadow: 0 0 0 2px rgba(179, 38, 30, 0.1);
}

body.woocommerce-checkout form.checkout #order_review #payment .payment_box {
    margin: 0.8rem 0 0;
    padding: 0.85rem;
    border-radius: 8px;
    background: var(--gs-checkout-subtle);
}

body.woocommerce-checkout form.checkout #order_review #payment .payment_box::before {
    display: none;
}

body.woocommerce-checkout form.checkout #order_review #place_order {
    width: 100%;
    min-height: 3.25rem;
    margin-top: 0.25rem;
    border: 0 !important;
    border-radius: 9px !important;
    background: var(--gs-checkout-accent) !important;
    box-shadow: none !important;
    color: #fff !important;
    font-size: 0.95rem;
    font-weight: 800 !important;
}

body.woocommerce-checkout form.checkout #order_review #payment ul.payment_methods > li.wc_payment_method:hover {
    border-color: var(--gs-checkout-accent);
}

body.woocommerce-checkout form.checkout #order_review #place_order:hover,
body.woocommerce-checkout form.checkout #order_review #place_order:focus {
    background: var(--gs-checkout-accent-dark) !important;
}

@media (max-width: 900px) {
    body.woocommerce-checkout .site-content > .ast-container {
        width: min(100% - 2rem, 720px);
    }

    body.woocommerce-checkout form.checkout {
        grid-template-columns: minmax(0, 1fr);
        gap: 1.25rem;
    }

    body.woocommerce-checkout form.checkout #customer_details,
    body.woocommerce-checkout form.checkout #order_review_heading,
    body.woocommerce-checkout form.checkout #order_review {
        grid-column: 1;
        grid-row: auto;
    }

    body.woocommerce-checkout form.checkout #order_review {
        position: static;
    }
}

@media (max-width: 560px) {
    body.woocommerce-checkout .site-content > .ast-container {
        width: calc(100% - 1.25rem);
        padding-top: 1.25rem;
    }

    body.woocommerce-checkout .gs-checkout-heading {
        display: block;
        margin-bottom: 1.1rem;
    }

    body.woocommerce-checkout .gs-checkout-heading h2 {
        font-size: 1.5rem;
    }

    body.woocommerce-checkout .gs-checkout-secure {
        margin-top: 0.8rem;
    }

    body.woocommerce-checkout form.checkout #customer_details,
    body.woocommerce-checkout form.checkout #order_review {
        padding: 1rem !important;
        border-radius: 11px;
    }

    body.woocommerce-checkout form.checkout #customer_details .form-row-first,
    body.woocommerce-checkout form.checkout #customer_details .form-row-last {
        width: 100%;
        float: none;
    }
}

body.woocommerce-checkout .site-content > .ast-container {
    padding-top: 2rem;
    padding-bottom: 2.75rem;
}

@media (min-width: 768px) {
    body.woocommerce-checkout form.checkout #customer_details .col-1 {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 1rem;
        row-gap: 0;
    }

    body.woocommerce-checkout form.checkout #customer_details .col-1 > h3,
    body.woocommerce-checkout form.checkout #customer_details #billing_country_field,
    body.woocommerce-checkout form.checkout #customer_details #billing_cpf_field,
    body.woocommerce-checkout form.checkout #customer_details #billing_address_1_field {
        grid-column: 1 / -1;
        width: 100%;
        float: none;
    }

    body.woocommerce-checkout form.checkout #customer_details #billing_postcode_field,
    body.woocommerce-checkout form.checkout #customer_details #billing_number_field,
    body.woocommerce-checkout form.checkout #customer_details #billing_address_2_field,
    body.woocommerce-checkout form.checkout #customer_details #billing_neighborhood_field,
    body.woocommerce-checkout form.checkout #customer_details #billing_city_field,
    body.woocommerce-checkout form.checkout #customer_details #billing_state_field,
    body.woocommerce-checkout form.checkout #customer_details #billing_phone_field,
    body.woocommerce-checkout form.checkout #customer_details #billing_email_field {
        grid-column: auto;
        width: 100%;
        float: none;
    }
}

/* Stable review column: no DOM reordering and no artificial grid row. */
body.woocommerce-checkout form.checkout {
    grid-template-rows: auto;
}

body.woocommerce-checkout form.checkout #customer_details {
    grid-column: 1;
    grid-row: 1;
}

/* Neutraliza width/float de Astra e do WooCommerce nas colunas internas. */
body.woocommerce-checkout form.checkout #customer_details .col2-set,
body.woocommerce-checkout form.checkout #customer_details .col-1,
body.woocommerce-checkout form.checkout #customer_details .col-2 {
    width: 100% !important;
    max-width: none !important;
    float: none !important;
    clear: both !important;
    box-sizing: border-box;
}

body.woocommerce-checkout form.checkout #customer_details .form-row,
body.woocommerce-checkout form.checkout #customer_details .form-row-first,
body.woocommerce-checkout form.checkout #customer_details .form-row-last,
body.woocommerce-checkout form.checkout #customer_details .form-row-wide {
    width: 100% !important;
    max-width: none !important;
    float: none !important;
    box-sizing: border-box;
    margin-left: 0 !important;
    margin-right: 0 !important;
    clear: none !important;
}

body.woocommerce-checkout form.checkout #customer_details .woocommerce-billing-fields,
body.woocommerce-checkout form.checkout #customer_details .woocommerce-additional-fields,
body.woocommerce-checkout form.checkout #customer_details .woocommerce-billing-fields__field-wrapper,
body.woocommerce-checkout form.checkout #customer_details .woocommerce-additional-fields__field-wrapper {
    width: 100% !important;
    max-width: none !important;
    float: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box;
}

body.woocommerce-checkout form.checkout #customer_details .woocommerce-input-wrapper {
    display: block;
    width: 100%;
}

body.woocommerce-checkout form.checkout #customer_details .col-1 > .gs-checkout-heading {
    grid-column: 1 / -1;
    margin: 0 0 1.25rem;
    text-align: left;
}

body.woocommerce-checkout form.checkout #customer_details .col-1 > .gs-checkout-heading h2,
body.woocommerce-checkout form.checkout #customer_details .col-1 > .gs-checkout-heading p {
    text-align: left;
}

body.woocommerce-checkout form.checkout #customer_details .woocommerce-billing-fields__field-wrapper > .form-row,
body.woocommerce-checkout form.checkout #customer_details .woocommerce-additional-fields__field-wrapper > .form-row {
    position: static !important;
    left: auto !important;
    right: auto !important;
}

@media (min-width: 768px) {
    body.woocommerce-checkout form.checkout #customer_details .col-1 {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 1rem;
    }

    body.woocommerce-checkout form.checkout #customer_details .col-1 > wc-order-attribution-inputs,
    body.woocommerce-checkout form.checkout #customer_details .col-1 > .woocommerce-billing-fields,
    body.woocommerce-checkout form.checkout #customer_details .col-1 > .woocommerce-shipping-fields,
    body.woocommerce-checkout form.checkout #customer_details .col-1 > .woocommerce-additional-fields {
        grid-column: 1 / -1 !important;
    }

    body.woocommerce-checkout form.checkout #customer_details .col-1 > h3,
    body.woocommerce-checkout form.checkout #customer_details .col-1 > .form-row-wide {
        grid-column: 1 / -1;
    }

    body.woocommerce-checkout form.checkout #customer_details .woocommerce-billing-fields__field-wrapper {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 1rem;
        row-gap: 0;
    }

    body.woocommerce-checkout form.checkout #customer_details .woocommerce-billing-fields__field-wrapper .form-row-wide,
    body.woocommerce-checkout form.checkout #customer_details .woocommerce-billing-fields__field-wrapper #billing_country_field,
    body.woocommerce-checkout form.checkout #customer_details .woocommerce-billing-fields__field-wrapper #billing_cpf_field,
    body.woocommerce-checkout form.checkout #customer_details .woocommerce-billing-fields__field-wrapper #billing_address_1_field {
        grid-column: 1 / -1;
    }
}

@media (max-width: 767px) {
    body.woocommerce-checkout form.checkout #customer_details .col-1 {
        display: block !important;
    }

    body.woocommerce-checkout form.checkout #customer_details .woocommerce-billing-fields__field-wrapper {
        display: block !important;
    }

    body.woocommerce-checkout form.checkout #customer_details .col-1 > .gs-checkout-heading {
        display: block;
    }

    body.woocommerce-checkout form.checkout #customer_details .col-1 > .gs-checkout-heading .gs-checkout-secure {
        margin-top: 0.8rem;
    }
}

body.woocommerce-checkout form.checkout #order_review_heading {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

body.woocommerce-checkout form.checkout #order_review {
    grid-column: 2;
    grid-row: 1;
    position: sticky;
    top: 1.5rem;
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box;
}

body.woocommerce-checkout form.checkout #order_review::before {
    content: "Seu pedido";
    display: block;
    margin: 0 0 1rem;
    padding: 0 0 0.85rem;
    border-bottom: 1px solid var(--gs-checkout-line);
    color: var(--gs-checkout-ink);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    line-height: 1.3;
    text-transform: uppercase;
}

html[lang^="en"] body.woocommerce-checkout form.checkout #order_review::before {
    content: "Your order";
}

@media (max-width: 900px) {
    body.woocommerce-checkout form.checkout #order_review {
        grid-column: 1;
        grid-row: auto;
        position: static;
    }
}
