.pdfc-card,
.pdfc-card * {
    box-sizing: border-box;
}

.pdfc-message {
    scroll-margin-top: 40px;
}

.pdfc-card {
    --pdfc-ink: #24211d;
    --pdfc-muted: #6d665e;
    --pdfc-accent: #9a5e2b;
    --pdfc-paper: #fffdf8;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 26px;
    max-width: 620px;
    margin: 32px auto;
    padding: clamp(22px, 4vw, 42px);
    color: var(--pdfc-ink);
    background: var(--pdfc-paper);
    border: 1px solid rgba(74, 57, 40, .16);
    border-radius: 18px;
    box-shadow: 0 18px 60px rgba(51, 39, 27, .09);
}

.pdfc-cover {
    width: min(68vw, 260px);
    margin: 0 auto;
}

.pdfc-cover img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 390px;
    object-fit: contain;
    border-radius: 4px;
    box-shadow: 0 15px 30px rgba(34, 27, 20, .2);
}

.pdfc-title {
    margin: 0 0 10px;
    color: var(--pdfc-ink);
    font: inherit;
    font-size: clamp(1.6rem, 3vw, 2.3rem);
    font-weight: 700;
    line-height: 1.12;
    text-align: center;
}

.pdfc-description,
.pdfc-description p {
    margin: 0 0 14px;
    color: var(--pdfc-muted);
    line-height: 1.6;
}

.pdfc-counter {
    margin: 16px 0 24px;
    color: var(--pdfc-accent);
    font-size: .95rem;
    text-align: center;
}

.pdfc-label,
.pdfc-amounts legend {
    display: block;
    margin-bottom: 8px;
    font-weight: 650;
}

.pdfc-name,
.pdfc-email,
.pdfc-custom input {
    width: 100%;
    min-height: 46px;
    padding: 10px 13px;
    color: var(--pdfc-ink);
    background: #fff;
    border: 1px solid #bbb2a8;
    border-radius: 8px;
    font: inherit;
}

.pdfc-name {
    margin-bottom: 16px;
}

.pdfc-amounts {
    padding: 0;
    margin: 20px 0;
    border: 0;
}

.pdfc-options {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.pdfc-options label {
    cursor: pointer;
}

.pdfc-options input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.pdfc-options span {
    display: block;
    padding: 9px 13px;
    border: 1px solid #bfb5a9;
    border-radius: 999px;
    transition: .18s ease;
}

.pdfc-options input:checked + span,
.pdfc-options input:focus-visible + span {
    color: var(--pdfc-button-color, #fff);
    background: var(--pdfc-button-bg, var(--pdfc-accent));
    border-color: var(--pdfc-button-border, var(--pdfc-button-bg, var(--pdfc-accent)));
    outline: 2px solid transparent;
}

.pdfc-custom {
    margin-top: 12px;
}

.pdfc-custom label {
    display: block;
    margin-bottom: 5px;
    font-size: .9rem;
}

.pdfc-custom a {
    display: inline-block;
    margin-top: 8px;
    color: var(--pdfc-accent);
}

.pdfc-consent {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 9px;
    align-items: start;
    margin: 18px 0;
    color: var(--pdfc-muted);
    font-size: .86rem;
    line-height: 1.45;
}

.pdfc-consent input {
    margin-top: 3px;
}

.pdfc-submit:disabled {
    opacity: .6;
    cursor: wait;
}

.pdfc-form-message {
    min-height: 1.4em;
    margin-top: 10px;
    color: var(--pdfc-muted);
    font-size: .9rem;
}

.pdfc-form-message.is-error {
    color: #a11d1d;
}

.pdfc-message {
    margin: 0 0 20px;
    padding: 14px;
    border-radius: 9px;
}

/* The site uses a global :target rule to hide anchored headings. Stripe returns
   to this message's anchor, so keep the plugin result visible and in flow. */
.pdfc-card .pdfc-message:target {
    display: block;
    position: static;
    top: auto;
    visibility: visible;
}

.pdfc-message--success {
    background: #edf7ee;
    border: 1px solid #b8dbbc;
}

.pdfc-message--pending {
    background: #fff7e6;
    border: 1px solid #ead19d;
}

.pdfc-message .pdfc-download {
    display: inline-block;
    margin: 12px 0 8px;
}

.pdfc-message span {
    display: block;
    font-size: .88rem;
}

.pdfc-trap {
    position: absolute !important;
    left: -10000px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

@media (max-width: 640px) {
    .pdfc-cover {
        width: min(64vw, 230px);
    }

    .pdfc-submit {
        width: 100%;
    }
}
