.cf-checkout[hidden] { display: none !important; }
.cf-checkout button[hidden] { display: none !important; }
#cf-contact-form[hidden] { display: none !important; }
.cf-checkout { --cca-ink: #40372e; --cca-sage: #d8dccd; --cca-olive: #65634f; --cca-paper: #faf7f2; --cca-sand: #c9b8a5; box-sizing: border-box; width: min(100%, 820px); margin: 2rem auto; color: var(--cca-ink); }
.cf-checkout *, .cf-newsletter-choice * { box-sizing: border-box; }
.cf-checkout__steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: .75rem; margin: 0 0 1.25rem; padding: 0; list-style: none; }
.cf-checkout__steps li { display: flex; align-items: center; gap: .55rem; padding: .75rem .9rem; border-radius: 999px; background: #f0ebe3; color: #72685d; font: 500 .82rem/1.25 Inter, Arial, sans-serif; }
.cf-checkout__steps li span { display: grid; flex: 0 0 1.7rem; width: 1.7rem; height: 1.7rem; place-items: center; border-radius: 50%; background: #fffdf9; font-weight: 700; }
.cf-checkout__steps li.is-complete { background: var(--cca-sage); color: var(--cca-ink); }
.cf-checkout__steps li.is-current { background: var(--cca-olive); color: var(--cca-paper); }
.cf-checkout__steps li.is-current span { background: var(--cca-paper); color: var(--cca-olive); }
.cf-checkout__card { padding: clamp(1.5rem, 5vw, 3rem); border: 1px solid var(--cca-sand); border-radius: 48px; background: var(--cca-paper); box-shadow: 0 12px 38px rgb(64 55 46 / 7%); }
.cf-checkout__card .kicker { margin: 0 0 .65rem; color: var(--cca-olive); font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; }
.cf-checkout__card h2 { margin: 0 0 1rem; color: var(--cca-ink); font-family: 'Playfair Display', Georgia, serif; font-size: clamp(1.8rem, 4vw, 2.6rem); line-height: 1.15; }
.cf-checkout__card p { line-height: 1.65; }
.cf-checkout__summary { padding: 1rem 1.2rem; border-radius: 18px; background: var(--cca-sage); font-size: 1.12rem; }
.cf-checkout__paypal { width: min(100%, 460px); margin: 1.4rem auto; }
.cf-checkout__separator { display: flex; align-items: center; gap: 1rem; margin: 1.3rem 0; color: #796f64; font-size: .86rem; }
.cf-checkout__separator::before, .cf-checkout__separator::after { content: ''; flex: 1; height: 1px; background: var(--cca-sand); }
.cf-checkout__secondary, .cf-newsletter-choice__option--primary span { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; padding: .8rem 1.35rem; border: 1px solid var(--cca-olive); border-radius: 999px; background: var(--cca-paper); color: var(--cca-olive); font: 600 1rem/1.3 Inter, Arial, sans-serif; cursor: pointer; transition: background .2s ease, color .2s ease, transform .2s ease; }
.cf-checkout__secondary:hover, .cf-checkout__secondary:focus-visible { background: var(--cca-olive); color: var(--cca-paper); }
.cf-checkout__secondary:disabled { cursor: wait; opacity: .65; }
.cf-checkout__restart { display: block; margin: 1rem auto 0; padding: .4rem .65rem; border: 0; background: transparent; color: var(--cca-olive); font: 500 .92rem/1.4 Inter, Arial, sans-serif; text-decoration: underline; text-underline-offset: .2em; cursor: pointer; }
.cf-checkout__steps--form { width: min(100%, 820px); margin: 0 auto 1rem; }
.cf-checkout__note { margin: 1rem 0 0; color: #6f665b; font-size: .9rem; }
#cf-checkout-message { margin-top: 1rem; color: var(--cca-ink); }
.cf-newsletter-choice { min-width: 0; margin: 1.4rem 0; padding: 1.2rem; border: 1px solid var(--cca-sand); border-radius: 48px; background: var(--cca-paper); }
.cf-newsletter-choice legend { padding: 0 .4rem; color: var(--cca-ink); font: 600 1.12rem/1.35 'Playfair Display', Georgia, serif; }
.cf-newsletter-choice__description { margin: .2rem 0 .75rem; line-height: 1.55; }
.cf-newsletter-choice__hint { margin: 0; color: #71675c; font-size: .88rem; }
.cf-newsletter-choice__actions { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 1rem; }
.cf-newsletter-choice__option { position: relative; display: inline-flex; cursor: pointer; }
.cf-newsletter-choice__option input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.cf-newsletter-choice__option span { display: inline-flex; min-height: 46px; align-items: center; justify-content: center; padding: .7rem 1.25rem; border: 1px solid var(--cca-olive); border-radius: 999px; font: 600 .96rem/1.3 Inter, Arial, sans-serif; transition: background .2s ease, color .2s ease, box-shadow .2s ease; }
.cf-newsletter-choice__option--primary span { background: var(--cca-olive); color: var(--cca-paper); }
.cf-newsletter-choice__option--primary:hover span, .cf-newsletter-choice__option--primary input:checked + span { background: #40372e; border-color: #40372e; color: var(--cca-paper); }
.cf-newsletter-choice__option--secondary span { background: transparent; color: var(--cca-olive); }
.cf-newsletter-choice__option--secondary:hover span, .cf-newsletter-choice__option--secondary input:checked + span { background: var(--cca-sage); color: var(--cca-ink); }
.cf-newsletter-choice__option input:focus-visible + span { outline: 3px solid var(--cca-sand); outline-offset: 3px; }
@media (max-width: 600px) { .cf-checkout__steps { gap: .35rem; } .cf-checkout__steps li { justify-content: center; padding: .6rem .35rem; font-size: .68rem; } .cf-checkout__steps li span { flex-basis: 1.45rem; width: 1.45rem; height: 1.45rem; } .cf-newsletter-choice__actions { flex-direction: column; } .cf-newsletter-choice__option, .cf-newsletter-choice__option span { width: 100%; } }
