/* Master CMS - PayPal / Buy Now block styles. Loaded by the block itself (with a version stamp), so it never depends on site.css or a browser-cached copy of it. */
.block-paypal { max-width: 560px; margin: 0 auto; }
.pp-card { background: #fff; border: 1px solid var(--color-line); border-radius: var(--radius-md); padding: 2rem; box-shadow: var(--shadow-card, 0 10px 30px rgba(0,0,0,.08)); text-align: center; }
.pp-card h2 { margin: 0 0 .5rem; }
.pp-intro { margin: 0 0 1.25rem; opacity: .85; }
.pp-price { font-size: 2.4rem; font-weight: 800; line-height: 1.1; color: var(--color-primary); }
.pp-item { margin: .3rem 0 1.25rem; opacity: .8; }
.pp-amount { text-align: left; margin-bottom: 1.25rem; }
.pp-amount label { display: block; font-weight: 700; margin-bottom: .35rem; }
.pp-amount-row { display: flex; align-items: center; border: 1px solid var(--color-line); border-radius: var(--radius-md); overflow: hidden; background: #fff; }
.pp-sym { padding: 0 .9rem; font-weight: 700; background: rgba(0,0,0,.04); align-self: stretch; display: flex; align-items: center; }
.pp-amount-input { flex: 1; border: 0; outline: 0; padding: .85rem 1rem; font: inherit; font-size: 1.2rem; font-weight: 700; min-width: 0; }
.pp-amount-row:focus-within { border-color: var(--color-primary); box-shadow: 0 0 0 3px rgba(0,0,0,.06); }
.pp-chips { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .7rem; }
.pp-chip { border: 1px solid var(--color-line); background: #fff; border-radius: 999px; padding: .4rem 1rem; font: inherit; font-weight: 700; cursor: pointer; }
.pp-chip:hover, .pp-chip.on { background: var(--color-primary); border-color: var(--color-primary); color: #fff; }
.pp-error { background: #fef2f2; border: 1px solid #fecaca; color: #991b1b; border-radius: var(--radius-md); padding: .65rem .9rem; margin-bottom: 1rem; text-align: left; font-size: .95rem; }
.pp-error[hidden], .pp-thanks[hidden], .pp-form[hidden] { display: none; }
.pp-buttons { min-height: 48px; }
.pp-secure { font-size: .82rem; opacity: .65; margin: .9rem 0 0; }
.pp-thanks { background: #f0fdf4; border: 1px solid #bbf7d0; color: #166534; border-radius: var(--radius-md); padding: 2rem 1.5rem; text-align: center; }
.pp-thanks::before { content: '\2713'; display: flex; align-items: center; justify-content: center; width: 3.2rem; height: 3.2rem; margin: 0 auto 1rem; border-radius: 50%; background: #16a34a; color: #fff; font-size: 1.6rem; font-weight: 700; line-height: 1; }
.pp-thanks strong { display: block; font-size: 1.15rem; line-height: 1.45; }
.pp-thanks .pp-ref { display: inline-block; margin-top: 1rem; padding: .3rem .85rem; background: rgba(22,101,52,.1); border-radius: 999px; font-size: .85rem; letter-spacing: .02em; }
.pp-note { margin: .75rem 0; font-size: .92rem; opacity: .8; }
.pp-testmode { background: #fef3c7; color: #92400e; border-radius: var(--radius-md); padding: .55rem .8rem; margin: .75rem 0 1rem; font-size: .88rem; text-align: left; }
.pp-breakdown { text-align: left; margin: 0 0 1rem; }
.pp-bd-row { display: flex; justify-content: space-between; gap: 1rem; padding: .35rem 0; }
.pp-bd-total { border-top: 1px solid var(--color-line); margin-top: .35rem; padding-top: .7rem; font-size: 1.15rem; }
.pp-bd-total small { font-size: .7rem; opacity: .6; font-weight: 400; }
.pp-preview { border: 2px dashed var(--color-line); border-radius: var(--radius-md); padding: 1.25rem; opacity: .75; }
@media (max-width: 600px) { .pp-card { padding: 1.25rem; } }
.pricing-col .pp-card.pp-inline { background: none; border: 0; box-shadow: none; padding: 0; text-align: center; }
.pp-pay-note { font-weight: 700; margin: 0 0 .75rem; }
.pp-preview-sm { padding: .8rem; font-size: .85rem; }
.pricing-col .pp-thanks { padding: 1.1rem .9rem; font-size: .95rem; }
.pricing-col .pp-thanks::before { width: 2.4rem; height: 2.4rem; font-size: 1.2rem; margin-bottom: .6rem; }
.pricing-col .pp-thanks strong { font-size: 1rem; }
