/* Shared visual layer for public product checkouts. Payment controls stay native. */
html body #getfy-checkout-root#getfy-checkout-root.kt-compact-checkout {
    --kt-green: #0aaa5e;
    --kt-green-dark: #087545;
    --kt-ink: #172b35;
    --kt-muted: #60727b;
    --kt-line: #e2e9e6;
    background: #fff !important;
    color: var(--kt-ink) !important;
    font-family: Arial, Helvetica, sans-serif !important;
}

html body:has(#getfy-checkout-root.kt-compact-checkout) {
    background: #fff !important;
}

html body:has(#getfy-checkout-root.kt-compact-checkout) .metodogo-secure-header {
    display: none !important;
}

#getfy-checkout-root.kt-compact-checkout *,
#getfy-checkout-root.kt-compact-checkout *::before,
#getfy-checkout-root.kt-compact-checkout *::after {
    box-sizing: border-box;
    letter-spacing: 0 !important;
}

html body #getfy-checkout-root#getfy-checkout-root.kt-compact-checkout [data-checkout="layout-inner"] {
    width: 100% !important;
    max-width: 510px !important;
    margin: 0 auto !important;
    padding: 0 12px 30px !important;
}

#getfy-checkout-root.kt-compact-checkout .kt-checkout-brandbar {
    display: flex;
    min-height: 60px;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    color: var(--kt-green-dark);
}

#getfy-checkout-root.kt-compact-checkout .kt-checkout-brand {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 8px;
    font-size: 17px;
    font-weight: 800;
}

#getfy-checkout-root.kt-compact-checkout .kt-checkout-mark {
    display: grid;
    width: 36px;
    height: 36px;
    flex: none;
    place-items: center;
    border-radius: 9px;
    background: var(--kt-green);
    color: #fff;
    font-size: 13px;
    font-weight: 800;
}

#getfy-checkout-root.kt-compact-checkout .kt-checkout-safe {
    display: flex;
    flex: none;
    align-items: center;
    gap: 5px;
    font-size: 11px;
    font-weight: 700;
}

#getfy-checkout-root.kt-compact-checkout .kt-checkout-safe svg,
#getfy-checkout-root.kt-compact-checkout .kt-delivery-icon svg,
#getfy-checkout-root.kt-compact-checkout .kt-checkout-assurance svg {
    width: 16px;
    height: 16px;
}

html body #getfy-checkout-root#getfy-checkout-root.kt-compact-checkout [data-checkout="security-bar"] {
    display: none !important;
}

html body #getfy-checkout-root#getfy-checkout-root.kt-compact-checkout [data-checkout="banners-top"] {
    width: 100% !important;
    max-width: none !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
    overflow: hidden;
    border: 1px solid var(--kt-line);
    border-radius: 14px;
    background: #fff;
}

#getfy-checkout-root.kt-compact-checkout [data-checkout="banners-top"] img {
    display: block;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    max-height: 390px !important;
    margin: 0 !important;
    object-fit: contain !important;
    border-radius: 0 !important;
}

#getfy-checkout-root.kt-compact-checkout .kt-delivery-strip {
    display: flex;
    min-height: 76px;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin: 0 0 14px;
    padding: 12px;
    border-radius: 14px;
    background: #ebf9f0;
    color: var(--kt-green-dark);
}

#getfy-checkout-root.kt-compact-checkout .kt-delivery-icon {
    display: grid;
    width: 34px;
    height: 34px;
    flex: none;
    place-items: center;
    border-radius: 9px;
    background: var(--kt-green);
    color: #fff;
}

#getfy-checkout-root.kt-compact-checkout .kt-delivery-copy strong,
#getfy-checkout-root.kt-compact-checkout .kt-delivery-copy small {
    display: block;
    line-height: 1.3;
}

#getfy-checkout-root.kt-compact-checkout .kt-delivery-copy strong {
    font-size: 14px;
    font-weight: 700;
}

#getfy-checkout-root.kt-compact-checkout .kt-delivery-copy small {
    margin-top: 4px;
    color: #52715e;
    font-size: 11px;
}

html body #getfy-checkout-root#getfy-checkout-root.kt-compact-checkout [data-checkout="layout-columns"] {
    display: block !important;
    margin: 0 !important;
}

html body #getfy-checkout-root#getfy-checkout-root.kt-compact-checkout [data-checkout="column-primary"],
html body #getfy-checkout-root#getfy-checkout-root.kt-compact-checkout [data-checkout="card-main"] {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
}

html body #getfy-checkout-root#getfy-checkout-root.kt-compact-checkout.kt-has-banner [data-checkout="summary"],
html body #getfy-checkout-root#getfy-checkout-root.kt-compact-checkout.kt-has-banner [data-checkout="divider-summary-form"] {
    display: none !important;
}

html body #getfy-checkout-root#getfy-checkout-root.kt-compact-checkout:not(.kt-has-banner) [data-checkout="summary"] {
    margin: 0 0 14px !important;
    padding: 14px !important;
    border: 1px solid var(--kt-line) !important;
    border-radius: 12px !important;
    background: #fff !important;
}

html body #getfy-checkout-root#getfy-checkout-root.kt-compact-checkout:not(.kt-has-banner) [data-checkout="divider-summary-form"] {
    display: none !important;
}

html body #getfy-checkout-root#getfy-checkout-root.kt-compact-checkout [data-checkout="form"] {
    display: block !important;
    margin: 0 !important;
    padding: 18px 16px 15px !important;
    overflow: visible !important;
    border: 1px solid var(--kt-line) !important;
    border-radius: 15px !important;
    background: #fff !important;
    box-shadow: none !important;
}

html body #getfy-checkout-root#getfy-checkout-root.kt-compact-checkout [data-checkout="form-section-dados-header"],
html body #getfy-checkout-root#getfy-checkout-root.kt-compact-checkout [data-checkout="payment-methods-header"] {
    display: flex !important;
    min-height: 42px !important;
    align-items: center !important;
    gap: 12px !important;
    margin: 0 0 18px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

#getfy-checkout-root.kt-compact-checkout [data-checkout="form-section-dados-header"] > span,
#getfy-checkout-root.kt-compact-checkout [data-checkout="payment-methods-header"] > span {
    display: grid !important;
    width: 40px !important;
    height: 40px !important;
    flex: none !important;
    place-items: center !important;
    border-radius: 50% !important;
    background: var(--kt-green) !important;
    color: #fff !important;
    font-size: 18px !important;
    font-weight: 700 !important;
}

#getfy-checkout-root.kt-compact-checkout [data-checkout="form-section-dados-header"] > span svg,
#getfy-checkout-root.kt-compact-checkout [data-checkout="payment-methods-header"] > span svg {
    display: none !important;
}

#getfy-checkout-root.kt-compact-checkout [data-checkout="form-section-dados-header"] > span::after { content: "1"; }
#getfy-checkout-root.kt-compact-checkout [data-checkout="payment-methods-header"] > span::after { content: "2"; }

#getfy-checkout-root.kt-compact-checkout [data-checkout="form-section-dados-header"] h2,
#getfy-checkout-root.kt-compact-checkout [data-checkout="payment-methods-header"] h2 {
    color: var(--kt-ink) !important;
    font-size: 20px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
}

html body #getfy-checkout-root#getfy-checkout-root.kt-compact-checkout [data-checkout="form-fields"] {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

#getfy-checkout-root.kt-compact-checkout [data-checkout="form-fields"] [data-checkout^="field-"] {
    grid-column: 1 / -1 !important;
    min-width: 0 !important;
}

#getfy-checkout-root.kt-compact-checkout [data-checkout="field-name"] { order: 1; }
#getfy-checkout-root.kt-compact-checkout [data-checkout="field-email"] { order: 2; }
#getfy-checkout-root.kt-compact-checkout [data-checkout="field-phone"] { order: 3; }
#getfy-checkout-root.kt-compact-checkout [data-checkout="field-cpf"] { order: 4; }

html body #getfy-checkout-root#getfy-checkout-root.kt-compact-checkout [data-checkout="form-fields"] [data-checkout^="field-"] > label {
    position: static !important;
    display: block !important;
    margin: 0 0 7px !important;
    color: var(--kt-ink) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    pointer-events: auto !important;
}

#getfy-checkout-root.kt-compact-checkout [data-checkout="field-name"] > div > span.pointer-events-none,
#getfy-checkout-root.kt-compact-checkout [data-checkout="field-email"] > div > span.pointer-events-none {
    display: none !important;
}

html body #getfy-checkout-root#getfy-checkout-root.kt-compact-checkout [data-checkout="form-fields"] input:not([type="hidden"]) {
    width: 100% !important;
    min-height: 54px !important;
    padding-top: 14px !important;
    padding-bottom: 14px !important;
    border: 1px solid #d0dadd !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: var(--kt-ink) !important;
    font-size: 14px !important;
    box-shadow: none !important;
}

html body #getfy-checkout-root#getfy-checkout-root.kt-compact-checkout [data-checkout="field-name"] input,
html body #getfy-checkout-root#getfy-checkout-root.kt-compact-checkout [data-checkout="field-email"] input,
html body #getfy-checkout-root#getfy-checkout-root.kt-compact-checkout [data-checkout="field-cpf"] input {
    padding-left: 15px !important;
}

html body #getfy-checkout-root#getfy-checkout-root.kt-compact-checkout [data-checkout="field-cpf"] input {
    padding-right: 48px !important;
}

#getfy-checkout-root.kt-compact-checkout [data-checkout="form-fields"] input:focus {
    outline: 2px solid #9de1b9 !important;
    outline-offset: 1px !important;
}

html body #getfy-checkout-root#getfy-checkout-root.kt-compact-checkout [data-checkout="payment-methods"] {
    margin-top: 20px !important;
    padding-top: 17px !important;
    padding-right: 0 !important;
    padding-bottom: 0 !important;
    padding-left: 0 !important;
    border: 0 !important;
    border-top: 1px solid var(--kt-line) !important;
    background: transparent !important;
    box-shadow: none !important;
}

html body #getfy-checkout-root#getfy-checkout-root.kt-compact-checkout [data-checkout="payment-methods-grid"] {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
}

html body #getfy-checkout-root#getfy-checkout-root.kt-compact-checkout .metodogo-purchase-summary,
html body #getfy-checkout-root#getfy-checkout-root.kt-compact-checkout .metodogo-payment-info {
    display: none !important;
}

#getfy-checkout-root.kt-compact-checkout [data-checkout="payment-methods-grid"] button {
    min-width: 0 !important;
    min-height: 78px !important;
    padding: 10px !important;
    border: 1px solid #d8e0e2 !important;
    border-radius: 9px !important;
    background: #fff !important;
    color: var(--kt-ink) !important;
    box-shadow: none !important;
}

#getfy-checkout-root.kt-compact-checkout [data-checkout="payment-methods-grid"] button[style*="background-color"] {
    border: 2px solid var(--kt-green) !important;
    background: #effbf4 !important;
}

html body #getfy-checkout-root#getfy-checkout-root.kt-compact-checkout [data-checkout="order-bumps"] {
    margin-top: 20px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

#getfy-checkout-root.kt-compact-checkout [data-checkout="order-bumps-header"] {
    margin-bottom: 16px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

#getfy-checkout-root.kt-compact-checkout [data-checkout="order-bumps-header"] h2 {
    color: var(--kt-ink) !important;
    font-size: 17px !important;
    font-weight: 800 !important;
}

#getfy-checkout-root.kt-compact-checkout [data-checkout="order-bumps-header"] p {
    color: var(--kt-muted) !important;
    font-size: 11px !important;
}

html body #getfy-checkout-root#getfy-checkout-root.kt-compact-checkout [data-checkout="order-bump-card"] {
    margin: 0 0 10px !important;
    padding: 12px !important;
    border: 1px dashed #49bf85 !important;
    border-radius: 11px !important;
    background: #fff !important;
    box-shadow: none !important;
}

#getfy-checkout-root.kt-compact-checkout [data-checkout="order-bump-card"] .checkout-order-bump-footer {
    border-color: #7bd3a4 !important;
    background: #effaf3 !important;
}

#getfy-checkout-root.kt-compact-checkout [data-checkout="order-bump-card"] .checkout-order-bump-price {
    color: var(--kt-green-dark) !important;
}

#getfy-checkout-root.kt-compact-checkout [data-checkout="order-bump-card"] .checkout-order-bump-cta {
    border-color: #6acb95 !important;
    background: #fff !important;
    color: var(--kt-green-dark) !important;
}

#getfy-checkout-root.kt-compact-checkout [data-checkout="order-bump-card"]:has(input:checked) .checkout-order-bump-cta {
    background: var(--kt-green) !important;
    color: #fff !important;
}

#getfy-checkout-root.kt-compact-checkout [data-checkout="order-bump-card"] h3 {
    color: var(--kt-ink) !important;
    font-size: 13px !important;
    line-height: 1.25 !important;
}

#getfy-checkout-root.kt-compact-checkout [data-checkout="order-bump-card"] p {
    color: var(--kt-muted) !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
}

#getfy-checkout-root.kt-compact-checkout [data-checkout="order-bump-bundle"] {
    border: 2px solid var(--kt-green) !important;
    border-radius: 12px !important;
    background: #effaf3 !important;
}

#getfy-checkout-root.kt-compact-checkout .kt-order-total {
    display: flex;
    min-height: 72px;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 20px 0 8px;
    padding: 13px 15px;
    border-radius: 11px;
    background: #eefaf3;
}

#getfy-checkout-root.kt-compact-checkout .kt-order-total strong,
#getfy-checkout-root.kt-compact-checkout .kt-order-total small {
    display: block;
}

#getfy-checkout-root.kt-compact-checkout .kt-order-total strong {
    color: var(--kt-green-dark);
    font-size: 14px;
}

#getfy-checkout-root.kt-compact-checkout .kt-order-total small {
    margin-top: 4px;
    color: var(--kt-muted);
    font-size: 10px;
}

#getfy-checkout-root.kt-compact-checkout .kt-order-total-price {
    color: var(--kt-green-dark);
    font-size: 22px;
    font-weight: 800;
    white-space: nowrap;
}

html body #getfy-checkout-root#getfy-checkout-root.kt-compact-checkout [data-checkout="form-submit"],
html body #getfy-checkout-root#getfy-checkout-root.kt-compact-checkout [data-metodogo-proxy-submit] {
    min-height: 56px !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: linear-gradient(180deg, #0fc46b, #079753) !important;
    color: #fff !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    box-shadow: 0 5px 12px rgba(3, 128, 68, .16) !important;
}

html body #getfy-checkout-root#getfy-checkout-root.kt-compact-checkout [data-checkout="form-submit"] {
    justify-content: center !important;
    gap: 4px !important;
    font-size: 0 !important;
}

html body #getfy-checkout-root#getfy-checkout-root.kt-compact-checkout [data-checkout="form-submit"] > * {
    display: none !important;
}

html body #getfy-checkout-root#getfy-checkout-root.kt-compact-checkout [data-checkout="form-submit"]::before {
    content: "FINALIZAR COMPRA" !important;
    font-size: 15px !important;
    line-height: 1.2 !important;
}

html body #getfy-checkout-root#getfy-checkout-root.kt-compact-checkout[data-kt-payment="pix"] [data-checkout="form-submit"]::before,
html body #getfy-checkout-root#getfy-checkout-root.kt-compact-checkout[data-kt-payment="pix_auto"] [data-checkout="form-submit"]::before {
    content: "GERAR PIX DE" !important;
}

html body #getfy-checkout-root#getfy-checkout-root.kt-compact-checkout[data-kt-payment="card"] [data-checkout="form-submit"]::before {
    content: "PAGAR" !important;
}

html body #getfy-checkout-root#getfy-checkout-root.kt-compact-checkout [data-checkout="form-submit"][data-metodogo-total]::after {
    content: attr(data-metodogo-total) !important;
    margin: 0 !important;
    font-size: 15px !important;
    line-height: 1.2 !important;
}

html body #getfy-checkout-root#getfy-checkout-root.kt-compact-checkout [data-checkout="form-submit"]:disabled::before,
html body #getfy-checkout-root#getfy-checkout-root.kt-compact-checkout [data-checkout="form-submit"]:disabled::after {
    display: none !important;
}

html body #getfy-checkout-root#getfy-checkout-root.kt-compact-checkout [data-checkout="form-submit"]:disabled > * {
    display: inline-flex !important;
    font-size: 14px !important;
}

#getfy-checkout-root.kt-compact-checkout .kt-checkout-assurance {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 14px 0 0;
    padding: 15px 10px;
    border-top: 1px solid var(--kt-line);
    color: var(--kt-green-dark);
}

#getfy-checkout-root.kt-compact-checkout .kt-checkout-assurance svg {
    width: 31px;
    height: 31px;
    flex: none;
    padding: 7px;
    border-radius: 8px;
    background: var(--kt-green);
    color: #fff;
}

#getfy-checkout-root.kt-compact-checkout .kt-checkout-assurance strong,
#getfy-checkout-root.kt-compact-checkout .kt-checkout-assurance small {
    display: block;
}

#getfy-checkout-root.kt-compact-checkout .kt-checkout-assurance strong { font-size: 13px; }
#getfy-checkout-root.kt-compact-checkout .kt-checkout-assurance small { margin-top: 3px; color: var(--kt-muted); font-size: 11px; }

html body #getfy-checkout-root#getfy-checkout-root.kt-compact-checkout.kt-total-ready:not(.kt-recurring) [data-checkout="sidebar-summary-header"],
html body #getfy-checkout-root#getfy-checkout-root.kt-compact-checkout.kt-total-ready:not(.kt-recurring) [data-checkout="sidebar-line-items"],
html body #getfy-checkout-root#getfy-checkout-root.kt-compact-checkout.kt-total-ready:not(.kt-recurring) [data-checkout="sidebar-total"],
html body #getfy-checkout-root#getfy-checkout-root.kt-compact-checkout.kt-total-ready:not(.kt-recurring) [data-checkout="sidebar-trust-badge"],
html body #getfy-checkout-root#getfy-checkout-root.kt-compact-checkout.kt-total-ready:not(.kt-recurring) [data-checkout="sidebar-summary-card"] > hr {
    display: none !important;
}

html body #getfy-checkout-root#getfy-checkout-root.kt-compact-checkout [data-checkout="sidebar"] {
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
}

html body #getfy-checkout-root#getfy-checkout-root.kt-compact-checkout.kt-total-ready:not(.kt-recurring) [data-checkout="sidebar-summary-card"] {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

@media (max-width: 520px) {
    #getfy-checkout-root.kt-compact-checkout .kt-checkout-brand { font-size: 15px; }
    #getfy-checkout-root.kt-compact-checkout .kt-checkout-safe { font-size: 10px; }
    #getfy-checkout-root.kt-compact-checkout .kt-delivery-copy strong { font-size: 12px; }
    #getfy-checkout-root.kt-compact-checkout .kt-order-total-price { font-size: 19px; }
    html body #getfy-checkout-root#getfy-checkout-root.kt-compact-checkout [data-checkout="form"] { padding: 16px 12px 14px !important; }
    html body #getfy-checkout-root#getfy-checkout-root.kt-compact-checkout [data-checkout="payment-methods-grid"] { gap: 6px !important; }
    #getfy-checkout-root.kt-compact-checkout [data-checkout="payment-methods-grid"] button { padding: 8px !important; }
}

@media (max-width: 360px) {
    #getfy-checkout-root.kt-compact-checkout [data-checkout="order-bump-card"] .checkout-order-bump-footer {
        display: flex !important;
        min-height: 0 !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 6px !important;
    }

    #getfy-checkout-root.kt-compact-checkout [data-checkout="order-bump-card"] .checkout-order-bump-price,
    #getfy-checkout-root.kt-compact-checkout [data-checkout="order-bump-card"] .checkout-order-bump-cta {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        text-align: center !important;
        white-space: normal !important;
    }
}
