.cartao-public:has(.automatic-checkout) .rodape { display: none !important; }
.cartao-public:has(.automatic-checkout) #__next { min-height: 100vh; }

.automatic-checkout {
    --auto-navy: #041a38;
    --auto-blue: #083367;
    --auto-ink: #081634;
    --auto-gold: #ffcc36;
    --auto-gold-dark: #e9a500;
    --auto-border: #cad6e6;
    --auto-theme: var(--incrivel-checkout-color-p, #083367);
    --auto-dark-gradient: linear-gradient(165deg, var(--auto-blue), var(--auto-navy) 70%);
    --auto-gold-gradient: linear-gradient(#ffe47c, var(--auto-gold) 45%, var(--auto-gold-dark));
    --auto-light-gradient: linear-gradient(#fdfdff, color-mix(in srgb, #e9eff7 93%, var(--auto-theme)));
    --auto-shadow: 0 2px 1px #031b4738, 0 4px 9px #0b29591c;
    color: var(--auto-ink);
    background: radial-gradient(ellipse at 75% 8%, #285f94, transparent 45%), linear-gradient(#041a38 145px, #a6c2e1 300px, #eaf4fd 65%, #b5d2ed);
    font: 1rem/1.3 Arial, sans-serif;
    padding-bottom: 30px;
    position: relative;
}

.automatic-checkout :is(h1, h2, h3, p, ol, ul) { margin: 0; }
.automatic-checkout :is(ol, ul) { padding: 0; list-style: none; }
.automatic-checkout [hidden] { display: none !important; }
.automatic-checkout :is(a, button, input):focus-visible { outline: 3px solid #1478db; outline-offset: 3px; }
.automatic-checkout :is(a, button) { font: inherit; }
.automatic-checkout a { color: inherit; text-decoration: none; }
.automatic-checkout .bi { flex: none; line-height: 1; }
.automatic-ticket { width: 1em; height: 1em; }

.automatic-hero { position: relative; overflow: hidden; min-height: 130px; isolation: isolate; }
.automatic-hero-art {
    position: absolute;
    inset: 0 0 0 auto;
    width: min(53vw, 678px);
    z-index: -1;
    background: url("../img/natal-checkout-referencia.png") no-repeat right -67px / 1448px 1086px;
    mask-image: linear-gradient(to right, transparent, #000 12%);
}
.automatic-hero-copy {
    width: min(100% - 36px, 1340px);
    min-height: 130px;
    margin: auto;
    padding: 14px 0;
    display: flex;
    align-items: center;
    gap: clamp(10px, 2vw, 26px);
    color: #fff;
    text-shadow: 0 3px 5px #021027;
}
.automatic-hero-copy > .bi { font-size: clamp(2rem, 6vw, 5.25rem); color: var(--auto-gold); transform: rotate(-18deg); }
.automatic-hero h1 { font-size: clamp(1.55rem, 3.05vw, 2.55rem); line-height: 1.1; font-weight: 850; letter-spacing: -.035em; }
.automatic-hero p { max-width: min(640px, 46vw); margin-top: 5px; font-size: clamp(.9rem, 1.35vw, 1.14rem); }

.automatic-checkout .automatic-steps {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: clamp(7px, 1.2vw, 22px);
    position: relative;
    margin: 0 auto 17px;
    padding: 5px clamp(12px, 6vw, 90px);
    width: min(95%, 1440px);
    min-height: 55px;
    color: #f2f7ff;
    background: linear-gradient(#082952ec, #304a68cb);
    border: 1px solid #dfeeff;
    box-shadow: 0 8px 20px #162d57a3, inset 0 0 20px #b0d4ff40;
    border-radius: 99px;
}
.automatic-steps li { flex: 1 1 0; display: flex; gap: clamp(5px, .9vw, 14px); align-items: center; font-size: clamp(.72rem, 1.3vw, 1.05rem); }
.automatic-steps li:last-child { flex: none; }
.automatic-steps li:not(:last-child)::after { content: ""; flex: 1; min-width: 8px; height: 1px; background: #c5d6eb; }
.automatic-steps li span {
    display: grid;
    place-items: center;
    width: clamp(26px, 3vw, 42px);
    aspect-ratio: 1;
    flex: none;
    border: 1px solid #ffffff80;
    border-radius: 50%;
    color: #0a2245;
    background: #cddced;
    font-weight: 800;
    font-size: clamp(.85rem, 1.5vw, 1.35rem);
}
.automatic-steps li[aria-current] { color: #ffe366; }
.automatic-steps li[aria-current] span { background: var(--auto-gold-gradient); color: #10182b; }

.automatic-layout {
    display: grid;
    grid-template-columns: minmax(0, 20fr) minmax(0, 55fr) minmax(0, 24fr);
    width: min(100% - 28px, 1500px);
    margin: auto;
    gap: 10px;
}
.automatic-panel {
    min-width: 0;
    padding: clamp(11px, 1.05vw, 17px);
    border: 1px solid #fff;
    border-radius: 27px;
    background: linear-gradient(#fbfcfe, #f4f8fc);
    box-shadow: 0 5px 18px #468ac356, inset 0 0 20px #fff;
}
.automatic-checkout[data-stage="identification"] .automatic-layout {
    grid-template-columns: minmax(0, 76fr) minmax(0, 24fr);
    align-items: start;
}
.automatic-checkout[data-stage="identification"] .automatic-quick { display: none; }
.automatic-identification { padding: clamp(14px, 2.4vw, 30px); }
.automatic-identification h2 { font-size: clamp(1.38rem, 2.25vw, 2rem); font-weight: 850; }
.automatic-checkout .automatic-back {
    margin: 0 0 12px;
    padding: 6px 10px;
    border: 1px solid var(--auto-border);
    border-radius: 9px;
    color: var(--auto-blue);
    background: #f9fbff;
    font-size: .9rem;
    font-weight: 700;
}
.automatic-buyer-form {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 185px), 1fr));
    gap: 14px;
    margin: 15px 0;
}
.automatic-buyer-form label { display: grid; gap: 5px; min-width: 0; font-weight: 700; }
.automatic-buyer-form input {
    width: 100%;
    min-width: 0;
    min-height: 44px;
    padding: 7px 10px;
    border: 1px solid #aebed3;
    border-radius: 9px;
    color: var(--auto-ink);
    background: #fff;
}
.automatic-buyer-form input[readonly] { background: #e9eff7; }
.automatic-checkout .automatic-buyer-terms a { color: #114e8f; text-decoration: underline; }
.automatic-checkout .automatic-panel-heading {
    display: flex;
    align-items: center;
    gap: 10px;
    background: var(--auto-dark-gradient);
    border-radius: 13px;
    padding: 8px 12px;
    color: #fff;
    font-size: clamp(.9rem, 1.38vw, 1.26rem);
    font-weight: 800;
}
.automatic-panel-heading .bi { font-size: 1.55em; color: var(--auto-gold); }
.automatic-quick > p:not(.automatic-note) { font-size: .9rem; margin: 6px 0; }
.automatic-quick-stepper { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 5px; padding: 10px 2px 5px; text-align: center; }
.automatic-quick-stepper strong { font-size: clamp(1.5rem, 3.8vw, 3.25rem); font-weight: 850; line-height: 1; }
.automatic-quick-stepper button, .automatic-custom-stepper button, .automatic-shortcuts button {
    border: 1px solid var(--auto-border);
    background: var(--auto-light-gradient);
    box-shadow: var(--auto-shadow);
    color: var(--auto-ink);
    font-weight: 800;
}
.automatic-quick-stepper button { width: min(100%, 53px); min-height: 48px; border-radius: 14px; font-size: 1.6rem; justify-self: center; }
.automatic-quick-stepper button:last-child, .automatic-shortcuts button[aria-pressed="true"] { background: var(--auto-gold-gradient); border-color: #eebc46; }
.automatic-checkout button:disabled { opacity: .55; cursor: default; }
.automatic-shortcuts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.automatic-shortcuts button { border-radius: 10px; min-height: 35px; padding: 4px; font-size: clamp(.73rem, 1.12vw, 1rem); }
.automatic-shortcuts button:last-child:nth-child(odd) { grid-column: 1 / -1; }
.automatic-checkout .automatic-note {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 10px 12px;
    margin: 14px 0;
    border-radius: 14px;
    background: linear-gradient(125deg, #e8f2ff, #d7e7fb);
    font-size: .91rem;
}
.automatic-note .bi { font-size: 1.6em; color: #134e8d; }
.automatic-checkout .automatic-side-benefits {
    padding: 3px 10px;
    margin-top: 6px;
    background: var(--auto-light-gradient);
    border: 1px solid var(--auto-border);
    border-radius: 12px;
}
.automatic-side-benefits li { display: flex; align-items: center; gap: 12px; padding: 9px 4px; font-size: .87rem; }
.automatic-side-benefits li + li { border-top: 1px solid var(--auto-border); }
.automatic-side-benefits .bi { color: var(--auto-blue); font-size: 1.5rem; }

.automatic-choices h2 { font-size: clamp(1.35rem, 2vw, 1.9rem); font-weight: 850; letter-spacing: -.035em; }
.automatic-choices > p { margin-top: 2px; }
.automatic-packages { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 9px; margin-top: 22px; }
.automatic-checkout .automatic-package {
    position: relative;
    display: grid;
    grid-template-rows: auto auto auto minmax(20px, auto) auto 1fr;
    align-items: start;
    justify-items: center;
    gap: 8px;
    min-width: 0;
    min-height: 235px;
    padding: 14px 4px 10px;
    border: 1px solid var(--auto-border);
    border-radius: 15px;
    background: linear-gradient(#fbfcff, #edf3fa);
    box-shadow: var(--auto-shadow);
    color: var(--auto-ink);
    text-align: center;
    line-height: 1.13;
}
.automatic-package:has(.automatic-package-badge:not([hidden])), .automatic-checkout .automatic-package[aria-pressed="true"] {
    background: linear-gradient(#fffcf1, #fff1cc);
    border-color: #d79b15;
}
.automatic-package:hover { border-color: #175696; }
.automatic-package strong { font-size: clamp(.88rem, 1.48vw, 1.35rem); font-weight: 850; letter-spacing: -.03em; }
.automatic-package b { display: block; font-size: clamp(.79rem, 1.25vw, 1.09rem); }
.automatic-package small { display: block; font-size: clamp(.65rem, .99vw, .89rem); }
.automatic-package-icon { font-size: 2rem; line-height: 1; color: #c18000; transform: rotate(-17deg); text-shadow: 1px 1px #ffe584; }
.automatic-package-dot { display: grid; place-items: center; align-self: end; width: 20px; height: 20px; border: 1px solid #244673; border-radius: 50%; }
.automatic-package[aria-pressed="true"] .automatic-package-dot { background: var(--auto-gold); }
.automatic-package[aria-pressed="true"] .automatic-package-dot::after { content: ""; width: 9px; height: 9px; border-radius: 50%; background: #05264d; }
.automatic-package-badge, .automatic-package-saving { font-size: clamp(.63rem, .95vw, .8rem); font-weight: 800; }
.automatic-package-badge {
    position: absolute;
    top: -13px;
    inset-inline: 3px;
    padding: 4px;
    background: var(--auto-gold-gradient);
    border-radius: 9px;
    color: #161306;
    box-shadow: 0 2px 5px #96640035;
}
.automatic-package-saving { grid-row: 4; align-self: center; padding: 3px 6px; background: #c2f2b5; border-radius: 99px; color: #123c16; }
.automatic-package > span:has([data-package-total]) { grid-row: 5; }
.automatic-package-dot { grid-row: 6; }
.automatic-custom {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px 12px;
    padding: 8px 13px;
    margin: 15px 0;
    border: 1px solid var(--auto-border);
    border-radius: 14px;
    background: var(--auto-light-gradient);
    box-shadow: var(--auto-shadow);
    font-size: .9rem;
}
.automatic-custom label { display: inline-flex; align-items: center; gap: 7px; font-weight: 750; }
.automatic-custom label .bi { font-size: 1.4rem; }
.automatic-custom-stepper { display: flex; border: 1px solid var(--auto-border); border-radius: 12px; overflow: hidden; box-shadow: var(--auto-shadow); }
.automatic-custom-stepper button { border: 0; box-shadow: none; width: 37px; min-height: 37px; font-size: 1.35rem; }
.automatic-custom-stepper input {
    width: 76px;
    border: 0;
    border-inline: 1px solid var(--auto-border);
    color: var(--auto-ink);
    text-align: center;
    font-weight: 800;
    font-size: 1.2rem;
    appearance: textfield;
}
.automatic-custom-stepper input::-webkit-inner-spin-button { appearance: none; }
.automatic-custom-stepper :focus-visible { outline-offset: -3px; }
.automatic-banner {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
    gap: 15px;
    align-items: center;
    background: var(--auto-dark-gradient);
    box-shadow: inset 0 1px 7px #8ecbfc45;
    border-radius: 16px;
    color: #fff;
    padding: 13px 16px;
}
.automatic-banner h3 { display: flex; align-items: center; gap: 12px; color: #ffde55; font-size: clamp(1.05rem, 2vw, 1.7rem); line-height: 1; font-weight: 850; }
.automatic-banner h3 .bi { font-size: clamp(2rem, 4.5vw, 4rem); }
.automatic-checkout .automatic-banner ul { border-left: 1px solid #d8e5f0; padding-left: 15px; }
.automatic-banner li { display: flex; gap: 7px; align-items: flex-start; font-size: clamp(.78rem, 1.04vw, .98rem); }
.automatic-banner li + li { margin-top: 4px; }
.automatic-banner li .bi { color: #54e475; margin-top: 2px; }
.automatic-checkout .automatic-benefits { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-top: 14px; }
.automatic-benefits li { background: var(--auto-light-gradient); border: 1px solid var(--auto-border); border-radius: 15px; padding: 10px; box-shadow: var(--auto-shadow); }
.automatic-benefits strong { display: flex; align-items: center; gap: 7px; line-height: 1.12; font-size: clamp(.74rem, 1.04vw, .97rem); }
.automatic-benefits .bi { font-size: clamp(1.45rem, 2.35vw, 2rem); color: #1768b2; }
.automatic-benefits li:first-child .bi { color: #ad7000; }
.automatic-benefits li:nth-child(even) .bi { color: #17843c; }
.automatic-benefits p { margin-top: 7px; font-size: .8rem; }

.automatic-summary .automatic-panel-heading { font-size: clamp(1.05rem, 1.7vw, 1.5rem); }
.automatic-summary-row { display: flex; justify-content: space-between; align-items: center; gap: 6px; padding: 8px 5px; }
.automatic-summary > .automatic-summary-row { margin-top: 4px; border-bottom: 1px solid var(--auto-border); }
.automatic-summary-row strong { flex: none; font-size: clamp(.99rem, 1.43vw, 1.28rem); font-weight: 850; }
.automatic-summary .automatic-note { font-weight: 700; align-items: center; }
.automatic-summary-totals { border-top: 1px solid var(--auto-border); padding-top: 4px; }
.automatic-summary-totals div:nth-child(2) strong { font-size: clamp(1.15rem, 1.8vw, 1.55rem); }
.automatic-summary-row.automatic-saving { justify-content: flex-start; margin-top: 9px; border-radius: 12px; background: #c6f0bd; padding: 8px 11px; }
.automatic-saving strong { margin-left: auto; }
.automatic-saving .bi, .automatic-saving strong, .automatic-checkout .automatic-secure { color: #135e2a; }
.automatic-summary .automatic-highlight { background: linear-gradient(120deg, #fff5d0, #ffe9a7); }
.automatic-highlight .bi { color: #ad7000; font-size: 2em; }
.automatic-checkout .automatic-continue {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    min-height: 57px;
    width: 100%;
    color: #1c1506;
    background: var(--auto-gold-gradient);
    box-shadow: var(--auto-shadow);
    border: 1px solid #d39700;
    border-radius: 16px;
    font-size: clamp(1.2rem, 1.95vw, 1.65rem);
    font-weight: 850;
}
.automatic-continue:hover:not(:disabled) { filter: brightness(1.06); }
.automatic-checkout .automatic-secure { text-align: center; margin-top: 13px; }

.automatic-checkout .automatic-footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-evenly;
    width: min(95%, 1440px);
    margin: 23px auto 0;
    padding: 9px 15px;
    background: var(--auto-dark-gradient);
    color: #fff;
    border: 1px solid #fff;
    border-radius: 30px;
    box-shadow: 0 9px 20px #2d518c56;
}
.automatic-checkout::after {
    content: "";
    position: absolute;
    inset: auto 0 0 auto;
    width: 91px;
    height: 83px;
    background: url("../img/natal-checkout-referencia.png") no-repeat 0 0 / 1448px 1086px;
    transform: rotate(180deg);
    mask-image: radial-gradient(ellipse at top left, #000 36%, transparent 78%);
    pointer-events: none;
}
.automatic-footer li { display: flex; align-items: center; justify-content: center; gap: 10px; flex: 1 0 auto; padding: 2px 12px; font-weight: 700; }
.automatic-footer li + li { border-left: 1px solid #e5f2ffb3; }
.automatic-footer .bi { color: var(--auto-gold); font-size: 1.7rem; }
.cartao-public:has(.automatic-checkout) #modal-checkout .modal-content { background: #f6faff; border: 1px solid #b9cbdf; color: #081634; }
.cartao-public:has(.automatic-checkout) #modal-checkout .automatic-modal-total { display: flex; justify-content: space-between; padding: 8px 0; color: #081634; }
.cartao-public:has(.automatic-checkout) #place_order { width: 100%; border-color: #e6ab11; background: linear-gradient(#ffdf72, #e9a500); color: #131212; font-weight: 800; }
.automatic-order-error:not([hidden]) { background: #fae8e8; color: #811c22; padding: 8px; border-radius: 8px; margin: 8px 0; }
.automatic-quote-list:not([hidden]) {
    margin: 8px 0;
    padding: 8px 8px 8px 25px;
    border: 1px solid #d7e2ef;
    border-radius: 9px;
    background: #eef5ff;
    font-size: .85rem;
    list-style: disc;
}
.automatic-delivery {
    margin-top: 16px;
    padding: 12px;
    border: 1px solid #d7e2ef;
    border-radius: 12px;
}
.automatic-delivery legend { width: auto; margin: 0; padding: 0 4px; font-size: 1rem; font-weight: 800; }
.automatic-delivery .automatic-buyer-form { margin-top: 12px; }
.automatic-delivery-nav:not([hidden]) {
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 6px;
}
.automatic-delivery-nav button { border: 1px solid #b8c8dc; border-radius: 6px; padding: 4px 8px; background: #fff; color: #0b2447; }

@media (max-width: 1120px) {
    .automatic-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 290px); }
    .automatic-quick { display: none; }
}
@media (max-width: 790px) {
    .automatic-hero-art { opacity: .52; width: 80%; }
    .automatic-hero p { max-width: 420px; }
    .automatic-layout { grid-template-columns: 1fr; }
    .automatic-checkout[data-stage="identification"] .automatic-layout { grid-template-columns: 1fr; }
    .automatic-choices { padding: 13px; }
    .automatic-package { min-height: 175px !important; }
    .automatic-footer li { flex-basis: 100%; justify-content: flex-start; }
    .automatic-footer li + li { border: 0; }
}
@media (max-width: 520px) {
    .automatic-hero-copy { width: calc(100% - 24px); }
    .automatic-hero-art { opacity: .35; }
    .automatic-checkout .automatic-steps { gap: 2px; padding: 6px; border-radius: 18px; }
    .automatic-steps li, .automatic-steps li:last-child { flex: 1 1 0; flex-direction: column; gap: 3px; text-align: center; }
    .automatic-steps li:not(:last-child)::after { content: none; }
    .automatic-packages { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 15px; }
    .automatic-custom label { flex-basis: 100%; }
    .automatic-banner { grid-template-columns: 1fr; gap: 9px; }
    .automatic-checkout .automatic-banner ul { border-left: 0; padding-left: 0; }
    .automatic-checkout .automatic-benefits { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
