/* Payment presentation only. Amounts, consent fields and submission handlers stay intact. */
.product-purchase-modal,.payment-choice-overlay {background:rgba(35,25,42,.56);backdrop-filter:blur(5px);}
.product-purchase-card,.payment-choice-card {width:min(520px,100%);padding:32px;border:1px solid #e2d6e7;border-radius:8px;background:#fffdfa;box-shadow:0 20px 65px rgba(35,25,42,.17);color:#3d2948;}
.product-purchase-close,.payment-choice-header .payment-modal-close {width:44px;height:44px;border-radius:4px;background:transparent;color:#80688c;}
.product-purchase-close {top:20px;right:20px;}
.product-purchase-eyebrow,.payment-choice-header>div>span {color:#8a7293;font-size:9px;font-weight:600;letter-spacing:1.5px;}
.product-purchase-card h2,.payment-choice-header h2 {font-family:'Gowun Batang',serif;font-size:27px;font-weight:400;line-height:1.45;letter-spacing:-.6px;color:#3d2948;}
.product-purchase-card h2 {margin:10px 34px 24px 0;}
.product-purchase-price {padding:18px 0;border:0;border-top:1px solid #e2d6e7;border-bottom:1px solid #e2d6e7;border-radius:0;background:transparent;}
.product-purchase-price span {font-size:12px;font-weight:500;color:#76647f;}
.product-purchase-price strong {font-size:30px;font-weight:700;letter-spacing:-1px;color:#60436e;}
.product-purchase-price small {font-size:11px;color:#88788f;}
.product-purchase-summary {gap:0;padding:18px 0;}
.product-purchase-summary p,.product-purchase-card.is-direction .product-purchase-summary .is-connection-pass {align-items:flex-start;gap:12px;padding:9px 0;margin:0;border:0;border-radius:0;background:transparent;}
.product-purchase-summary i,.product-purchase-card.is-direction .is-connection-pass i {flex:0 0 18px;width:18px;height:22px;background:none;border-radius:0;color:#866695;font-size:0;}
.product-purchase-summary i::before {content:'✓';font-size:14px;font-weight:500;}
.product-purchase-summary b {font-size:14px;font-weight:600;line-height:1.5;color:#594363;}
.product-purchase-summary small {margin-top:3px;font-size:12px;line-height:1.65;color:#82708a;}
.product-purchase-card.is-direction .product-purchase-summary p:nth-child(3) {border-top:1px solid #e4d9e8;margin-top:10px;padding-top:17px;}
.product-purchase-card.is-direction .product-purchase-summary p:nth-child(n+3) b {color:#735385;}
.product-purchase-legal,.payment-detail-fold {margin:0 0 16px;border:0;border-top:1px solid #e2d6e7;border-bottom:1px solid #e2d6e7;border-radius:0;background:transparent;}
.product-purchase-legal summary,.payment-detail-fold summary {min-height:48px;padding:12px 0;font-size:12px;font-weight:500;color:#6e557a;}
.product-purchase-legal p {padding:8px 0;font-size:12px;line-height:1.65;}
.product-purchase-legal p b {font-size:12px;font-weight:600;}
.product-purchase-legal>small {padding:10px 0 14px;font-size:11px;line-height:1.6;}
.product-purchase-confirm,.payment-confirmation-list .payment-confirm-row {gap:10px;margin:0;padding:10px 0;border:0;border-radius:0;background:transparent;font-size:12px;line-height:1.75;color:#76647f;}
.product-purchase-confirm input {width:17px;height:17px;margin-top:3px;accent-color:#71527f;}
.product-purchase-confirm a {font-weight:600;color:#60436e;text-underline-offset:3px;}
.product-purchase-confirm span>b {font-weight:600;color:#71527f;}
.product-purchase-submit,.payment-choice-submit {min-height:52px;margin-top:18px;border-radius:6px;background:#71527f;box-shadow:none;font-weight:600;font-size:14px;}
.product-purchase-submit:disabled,.payment-choice-submit:disabled {background:#d6ced8;box-shadow:none;cursor:not-allowed;}
.product-purchase-safe,.payment-choice-unavailable {margin-top:12px;font-size:11px;line-height:1.6;color:#8a788f;}
.payment-choice-description {margin:12px 0 24px;font-size:13px;line-height:1.75;color:#82708a;}
.payment-choice-options legend {margin-bottom:10px;font-size:12px;font-weight:500;color:#76647f;}
.payment-choice-option {border-color:#ded0e5;border-radius:6px;background:#fffdfa;padding:17px 15px;}
.payment-choice-option:has(input:checked) {background:#f1ebf4;border-color:#9d7daf;box-shadow:none;}
.payment-choice-copy strong {font-weight:600;color:#594363;}
.payment-choice-copy small {font-size:12px;color:#82708a;}
.payment-choice-price {font-size:20px;font-weight:700;color:#60436e;}
.payment-essential-summary {margin:20px 0;padding:0;border-radius:0;background:transparent;gap:11px;}
.payment-essential-summary span {font-size:12px;line-height:1.65;}
.payment-essential-summary b {font-size:12px;font-weight:600;}
.payment-detail-notice {padding:14px 0;font-size:12px;line-height:1.75;}
.payment-detail-fold .payment-contact-consent {margin:0 0 14px;border-radius:4px;}
.payment-confirmation-list {gap:0;}
.payment-choice-card .payment-modal-later {min-height:44px;font-size:12px;font-weight:500;color:#82708a;}
.product-purchase-card :focus-visible,.payment-choice-card :focus-visible {outline:2px solid #9d7daf;outline-offset:3px;}
@media(max-width:640px){
  .product-purchase-modal,.payment-choice-overlay {align-items:flex-end;padding:0;}
  .product-purchase-card,.payment-choice-card {width:100%;max-height:94dvh;padding:26px 24px max(24px,env(safe-area-inset-bottom));border-radius:10px 10px 0 0;}
  .product-purchase-card h2,.payment-choice-header h2 {font-size:25px;}
  .product-purchase-close {right:12px;top:14px;}
  .product-purchase-price strong {font-size:28px;}
}
