/* All three real checkout layouts share these presentation rules. Payment
   selectors, visibility states and provider mounts remain owned by the engine. */
body[class^="lay-"]{--cream:#f5f5f0;--ink:#252920;--ink-line:#252920;--muted:#62665c;--line:#dde0d5;background:var(--cream)}
.shell{padding:42px 24px 60px;max-width:620px}
.merchant{text-align:left;font-size:18px;font-weight:600;letter-spacing:-.025em;margin:0 0 25px}
.merchant-logo{max-height:38px;max-width:220px;margin:0 0 25px}
.card{border:1px solid #d9ddcf;border-radius:22px;box-shadow:0 16px 60px #35412409;overflow-wrap:anywhere}
.co-info,.co-form{padding:32px}
.co-info{background:#f0f2e9;padding-bottom:28px}
.co-form{background:#fff}
.co-foot{padding:22px 32px;border-top:1px solid var(--line);background:#fafbf7}
h1{font-size:34px;font-weight:500;line-height:1.15;letter-spacing:-.045em;margin:0 0 18px;text-wrap:balance}
.desc{font-size:15px;line-height:1.85;margin-bottom:25px}
.co-banner{border-radius:12px;margin-bottom:26px}
.co-benefits{margin:0 0 30px!important}
.co-benefits li{font-size:13px!important;line-height:1.65;padding:7px 0 7px 27px!important}
.co-benefits li>span{color:var(--accent)!important}
.price-row{font-size:13px;padding:14px 0;align-items:baseline;gap:16px}
.price-row.total{font-size:18px;font-weight:600;padding-top:18px;margin-top:3px}
.price-row.total>span:last-child{font-size:24px;letter-spacing:-.035em}
.co-payment-title{display:flex;gap:12px;align-items:center;font-size:21px;font-weight:500;letter-spacing:-.035em;margin:0 0 24px}
.co-payment-title::before{content:'→';font-size:21px;display:grid;place-items:center;border:1px solid #d3dac4;background:#f2f5e8;width:36px;height:36px;border-radius:50%;flex-shrink:0}
#checkout-form>label:first-of-type{margin-top:0}
label{font-size:12px;font-weight:500;margin-top:17px;margin-bottom:8px}
input[type=email],input[type=text],#country{min-height:50px;border:1px solid var(--field-line);border-radius:8px!important;padding:13px 14px;background:#fff;font-size:16px;box-shadow:0 2px 3px #25292006}
input[type=checkbox]{width:18px;height:18px;flex-shrink:0}
#checkout-form input:focus-visible,#checkout-form select:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid #53643f;outline-offset:3px}
.bump{background:#f5f7ee;border:1px solid #b8c39e;border-radius:12px;padding:18px;margin:25px 0;gap:13px;transition:background .15s,border-color .15s}
.bump:has(input:checked){background:#e9efd8;border-color:#667e3d;box-shadow:0 0 0 1px #667e3d}
.bump .b-head{font-size:13px;font-weight:500;line-height:1.65}
.bump .b-price{display:inline-block;font-size:12px;margin-top:4px}
button.pay,a.pay{display:block;min-height:54px;border-radius:10px;font-size:15px;font-weight:500;padding:16px 18px;margin-top:15px;box-shadow:0 3px 0 #0000000a}
.secure{font-size:11px;line-height:1.8;margin-top:16px}
.co-foot>.secure{margin-top:0}
.cushy-badge{border:0;background:transparent;max-width:none;margin:12px auto 0;padding:0;box-shadow:none}
.cb-mark{font-size:10px;gap:7px}.cb-mark img{height:15px}.cb-cta{font-size:10px;margin-top:8px}
.co-testimonial{background:#fff!important;border:1px solid #d9dfcb!important;border-radius:12px!important;padding:21px!important;margin-top:20px!important}
.co-testimonial p:first-child{font-size:14px!important;line-height:1.75;font-style:normal!important}
.co-testimonial p:last-child{font-size:11px!important;margin-top:14px!important}
.co-guarantee{background:#e6ecd8!important;border:0!important;border-radius:12px!important;padding:20px!important;margin-top:22px!important}
.co-guarantee p:first-child{font-size:13px!important;font-weight:500!important}
.co-guarantee p:last-child{font-size:12px!important;line-height:1.75;margin-top:6px!important}
.co-trial{border-radius:10px;background:#e8efd4!important;border-color:#afbd94!important;line-height:1.8!important}
#coupon-toggle,#coupon-remove{min-height:36px}#coupon-apply{border-radius:8px!important;min-height:48px}
#coupon-banner,#coupon-countdown,#deadline{border-radius:9px;padding:12px 16px!important;line-height:1.7}
#awx-card{border-radius:8px}#awx-fx{flex-wrap:wrap}
.err:not(:empty),.notice:not(:empty){border-radius:6px;line-height:1.7}
@media(min-width:900px){
 .lay-standard .shell,.lay-hero .shell{max-width:1120px}
 .lay-standard .card,.lay-hero .card{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:stretch}
 .lay-standard .co-info,.lay-hero .co-info{grid-column:1;grid-row:2;padding:40px;border-left:0;border-right:1px solid var(--line);background:#f0f2e9;min-width:0}
 .lay-standard .co-form,.lay-hero .co-form{grid-column:2;grid-row:2;padding:40px;min-width:0}
 .lay-standard .co-foot,.lay-hero .co-foot{grid-column:1/-1;grid-row:3;padding:21px 40px;display:flex;align-items:center;justify-content:space-between;gap:25px}
 .co-foot>.secure{text-align:left}.co-foot .cushy-badge{margin:0;max-width:260px}
 .lay-hero .co-hero img{max-height:360px;aspect-ratio:3/1;object-fit:cover}
 .lay-hero:has(.co-hero) .co-info{background:#fff}.lay-hero:has(.co-hero) .co-form{background:#fafbf7}
 .lay-compact .shell{max-width:590px}.lay-compact .co-info{padding:36px 38px 27px;background:#fff}
 .lay-compact .co-form{padding:30px 38px;background:#f8f9f4;border-top:1px solid var(--line)}
 .lay-compact h1{font-size:37px}
}
@media(max-width:600px){
 .shell{padding:24px 16px 36px}.merchant{font-size:17px;margin-bottom:20px}.merchant-logo{margin-bottom:20px;max-height:34px}
 .card{border-radius:16px}.co-info,.co-form{padding:25px 22px}.co-foot{padding:20px 22px}
 h1{font-size:30px}.co-banner{border-radius:9px;margin-bottom:22px}.desc{font-size:14px!important;line-height:1.75;margin-bottom:20px}
 .co-payment-title{font-size:20px}.co-benefits{margin-bottom:20px!important}.co-benefits li{font-size:12px!important}
 .price-row{font-size:12px;gap:10px;align-items:flex-start}.price-row.total{font-size:16px}.price-row.total>span:last-child{font-size:20px}
 .price-row>span:last-child{white-space:normal;text-align:right;max-width:55%}
 .bump{padding:15px;gap:11px}.co-form{border-top:1px solid var(--line)}
}
@media(prefers-reduced-motion:reduce){input,select,.bump,button.pay,a.pay{transition:none}}

.co-jump{display:none}#checkout-details{scroll-margin-top:22px}
@media(max-width:899px){.co-jump{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:13px 16px;border:1px solid #859474;border-radius:8px;margin:18px 0 0;color:var(--ink);font-size:13px;font-weight:500;text-decoration:none;background:#fff}.co-jump:hover{background:#f6f8ef}}

/* Provider menus and 3DS surfaces must be able to extend past the card. */
.card{overflow:visible}.co-info{border-radius:22px 22px 0 0}.co-foot{border-radius:0 0 22px 22px}.co-hero{overflow:hidden;border-radius:22px 22px 0 0}
@media(min-width:900px){.lay-standard .co-info,.lay-hero .co-info{border-radius:22px 0 0 0}.lay-standard .co-form,.lay-hero .co-form{border-radius:0 22px 0 0}.lay-hero:has(.co-hero) .co-info,.lay-hero:has(.co-hero) .co-form{border-radius:0}}
@media(max-width:600px){.co-info{border-radius:16px 16px 0 0}.co-foot{border-radius:0 0 16px 16px}}
