/* Checkout layout: aligned panels, consistent fields, deliberate action spacing. */
#checkout-page{max-width:1120px;margin-inline:auto;padding-top:32px;padding-bottom:64px}
#checkout-page .checkout-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:48px;margin-top:28px}
#checkout-page .order-panel{min-width:0;padding:8px 0}
#checkout-page h1{font-size:clamp(36px,4vw,52px);line-height:1.12;margin:0 0 24px}
#checkout-page .order-price{font-size:60px;line-height:1.1}
#checkout-page .order-summary{margin-top:28px;padding:24px}
#checkout-page .order-product h2{font-size:25px;line-height:1.25}
#checkout-page .payment-panel{min-width:0;padding:32px;border-radius:20px}
#checkout-page .payment-panel h2{font-size:26px;margin:0 0 24px}
#checkout-page .checkout-contact-row{display:grid;gap:20px}
#checkout-page .pay-field{display:grid;gap:9px;margin:0;font:14px/1.5 var(--sans)}
#checkout-page .pay-field input,#checkout-page .pay-field select{height:52px;padding:12px 14px;border:1px solid #cbbba9;border-radius:10px;font:16px/1.4 var(--sans);background:#fffdf9}
#checkout-page .pay-field input:focus-visible,#checkout-page .pay-field select:focus-visible{outline:2px solid var(--wine);outline-offset:3px;border-color:var(--wine)}
#checkout-page .pay-row{gap:16px;margin-top:20px}
#checkout-page #card-demo>.pay-field{margin-top:20px}
#checkout-page .payment-methods{margin:24px 0}
#checkout-page .payment-panel>.button{width:100%;min-height:52px;margin-top:24px;padding:14px 20px;border-radius:12px;font:500 17px/1.4 var(--sans)}
#checkout-page .button:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}
#checkout-status{font:14px/1.7 var(--sans);color:var(--wine);padding:18px 0 0;margin:24px 0 0;border-top:1px solid var(--line)}
#checkout-page [hidden]{display:none!important}
@media(max-width:760px){#checkout-page{padding-top:24px}#checkout-page .checkout-layout{grid-template-columns:1fr;gap:24px}#checkout-page .payment-panel{padding:24px}#checkout-page h1{font-size:36px}#checkout-page .order-price{font-size:50px}}
@media(max-width:380px){#checkout-page .pay-row{grid-template-columns:1fr}#checkout-page .payment-panel{padding:20px}}

#checkout-page .checkout-contact-row{grid-template-columns:1fr;gap:20px}#checkout-page .payment-panel>.payment-methods{margin:20px 0 24px}#checkout-page .payment-panel>.payment-methods+h2{margin-top:24px}#checkout-page .payment-panel>h2:not(:first-child){margin-top:28px}#checkout-page #simulate-pay{margin-top:24px}#coin-preview .button{margin-top:24px}#coin-preview h2{font-size:clamp(30px,4vw,44px);line-height:1.15}

/* Warm paper region picker and region-specific provider cards. */
.region-picker{position:relative;width:100%;font-family:var(--sans);text-align:left}
.region-trigger,.region-option{width:100%;display:flex;align-items:center;gap:12px;text-align:left}
.region-trigger{min-height:66px;padding:12px 16px;border:1px solid #cdbdab;border-radius:13px;background:#fffdf7;color:var(--ink)}
.region-trigger:hover,.region-trigger[aria-expanded=true]{border-color:var(--wine);background:#faf4e9}
.region-trigger:focus-visible,.region-option:focus-visible{outline:2px solid var(--wine);outline-offset:3px}
.region-badge{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border:1px solid #d9cab6;border-radius:50%;background:#f3eade;color:var(--wine);font:500 11px var(--sans);letter-spacing:1px}
.region-copy{display:grid;gap:4px;flex:1;min-width:0}.region-copy strong{font:500 14px/1.4 var(--sans)}.region-copy small{font:11px/1.4 var(--sans);color:#9a8471}.region-chevron{font-size:21px;color:var(--wine)}
.region-menu{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:50;padding:7px;background:#fffdf7;border:1px solid #d7c5ad;border-radius:15px;box-shadow:0 12px 34px #6043371c}
.region-menu[hidden]{display:none}.region-option{padding:12px 10px;border-radius:10px;color:var(--ink)}.region-option:hover,.region-option[aria-selected=true]{background:#f3e9dc}.region-check{color:var(--wine);font-size:18px}
#checkout-page .payment-methods{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}
#checkout-page .provider-choice{display:flex;align-items:center;gap:10px;border:1px solid #d7c7b3;border-radius:13px;padding:18px 14px;min-height:74px;background:#fffdf8}
#checkout-page .provider-choice:has(input:checked){border-color:var(--wine);background:#f6eee3;box-shadow:0 0 0 1px #79554722}
.provider-mark{font:bold italic 26px/1 Arial,sans-serif}.provider-paypal{color:#003087}.provider-pix{color:#398a7e;font-style:normal;font-size:30px}.provider-name{font:500 15px var(--sans)}
.provider-preview{padding:20px 22px;margin:18px 0 10px;background:#f7f0e5;border:1px solid #e3d7c6;border-radius:13px;color:var(--ink)}.provider-preview strong{font:500 19px/1.4 var(--serif)}.provider-preview p{font:13px/1.8 var(--sans);margin:8px 0 0}

/* Plans stay above the current reading until the reader proceeds to checkout. */
body.membership-modal-open{overflow:hidden}
#membership-dialog{box-sizing:border-box;width:min(1120px,calc(100vw - 48px));max-width:none;max-height:calc(100dvh - 64px);padding:0;border:1px solid #dfcfbb;border-radius:24px;background:#faf7ef;color:var(--ink);box-shadow:0 24px 90px #35251f40;overflow:auto;overscroll-behavior:contain}
#membership-dialog::backdrop{background:rgba(48,37,32,.42);backdrop-filter:blur(3px)}
#membership-dialog .membership-close{position:absolute;right:18px;top:16px;z-index:2;display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid #dfcfbb;border-radius:50%;background:#fffdf8;color:var(--wine);font:26px/1 var(--sans);cursor:pointer}
#membership-dialog .membership-close:focus-visible{outline:2px solid var(--wine);outline-offset:3px}
#membership-dialog #membership-page{box-sizing:border-box;width:100%;max-width:none;margin:0;padding:40px 44px}
#membership-dialog [data-commerce-back]{display:none}
#membership-dialog .membership-intro{padding-right:30px}
#membership-dialog .membership-intro h1{font-size:clamp(30px,3.3vw,44px);line-height:1.15;margin-top:0}
#membership-dialog .commerce-layout{gap:32px;margin-top:26px}
#membership-dialog .benefits-panel{min-width:0}
@media(max-width:760px){#membership-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);border-radius:18px}#membership-dialog #membership-page{padding:30px 22px}#membership-dialog .membership-intro{padding-right:22px}#membership-dialog .commerce-layout{grid-template-columns:1fr;gap:24px}#membership-dialog .membership-close{right:12px;top:12px;width:32px;height:32px}}

#membership-dialog .membership-close{position:sticky;float:right;top:12px;right:16px;margin:12px 16px -50px 0}
#membership-dialog .plan-card{padding:18px 22px;min-height:0}
#membership-dialog .plan-card b{font-size:38px;line-height:1.1;margin:12px 0}
#membership-dialog .plan-card strong{font-size:24px;line-height:1.2}
#membership-dialog .benefits-panel{padding:24px}
#membership-dialog .benefits-panel h2{font-size:28px;margin:12px 0 20px}
#membership-dialog .benefit-list{gap:18px}
#membership-dialog .benefit-list li{padding:0}
#membership-dialog .benefit-list p{font-size:13px;line-height:1.6}
#membership-dialog .commerce-lead{font-size:16px;line-height:1.6}
