.ptw-payment {
    --ptw-accent: #cf4b3e;
    box-sizing: border-box;
    width: 100%;
    padding: 22px 24px;
    background: #fff;
    color: #242220;
    font-family: inherit;
    font-size: 14px;
    line-height: 1.5;
    text-align: left;
    border: 1px solid #ece9e6;
    border-radius: 6px;
}
.ptw-payment *, .ptw-payment *::before, .ptw-payment *::after { box-sizing: border-box; }
.ptw-payment .ptw-heading { margin: 0 0 8px; font-size: 16px; font-weight: 650; line-height: 1.4; color: inherit; }
.ptw-payment .ptw-method {
    appearance: none;
    display: grid;
    grid-template-columns: 17px 56px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
    width: 100%;
    min-height: 69px;
    padding: 12px 0;
    margin: 0;
    border: 0;
    border-bottom: 1px solid #eae7e4;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: inherit;
    font: inherit;
    letter-spacing: normal;
    text-align: left;
    text-transform: none;
    cursor: pointer;
    white-space: normal;
    transition: background-color .15s ease;
}
.ptw-payment .ptw-method:hover { background: #faf8f6; color: inherit; }
.ptw-payment .ptw-method:focus-visible { outline: 2px solid var(--ptw-accent); outline-offset: 3px; position: relative; z-index: 1; }
.ptw-payment .ptw-radio { width: 15px; height: 15px; border: 1px solid #c8c4c0; border-radius: 50%; display: block; position: relative; }
.ptw-payment .is-selected .ptw-radio { border-color: var(--ptw-accent); }
.ptw-payment .is-selected .ptw-radio::after { content: ''; position: absolute; inset: 3px; border-radius: 50%; background: var(--ptw-accent); }
.ptw-payment .ptw-icon { display: block; width: 56px; height: 28px; margin: 0; object-fit: contain; float: none; border: 0; }
.ptw-payment .ptw-method-name { display: block; font-size: 13px; font-weight: 500; }
.payment_box.payment_method_bacs:has(.ptw-payment) { background: transparent !important; padding: 0 !important; }
.payment_box.payment_method_bacs:has(.ptw-payment)::before { display: none !important; }
@media (max-width: 480px) {
    .ptw-payment { padding: 16px 12px; }
    .ptw-payment .ptw-method { grid-template-columns: 15px 42px minmax(0, 1fr); gap: 8px; }
    .ptw-payment .ptw-icon { width: 42px; }
    .ptw-payment .ptw-method-name { font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) { .ptw-payment .ptw-method { transition: none; } }
