/* Checkout and Phone App refinements, scoped to the two sales pages. */
#checkout-form input,#checkout-form select,#quantity{font-size:16px;line-height:1.35;min-width:0}
#checkout-form input,#checkout-form select{min-height:48px}
#checkout-form label{font-size:13px}
#checkout-form input:focus-visible,#checkout-form select:focus-visible,#quantity:focus-visible{outline:3px solid #007b9a;outline-offset:2px}
#checkout-dialog .two-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
#checkout-dialog .checkout-scroll{min-width:0}
#checkout-dialog .modal-grid>*{min-width:0}
#checkout-dialog .checkout-summary .line{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}
#checkout-dialog .checkout-summary .line>:last-child{min-width:0;text-align:right;overflow-wrap:anywhere}
#checkout-dialog .modal-head{background:#fff;flex-shrink:0}
#checkout-dialog .close-modal{min-width:44px;min-height:44px}
body.modal-open{position:fixed;inset-inline:0;top:var(--checkout-page-top,0px);width:100%;overflow:hidden}
.product .price{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.product .price small{margin-left:0}
.product-visual .badge{z-index:1}
.foot a{white-space:nowrap}
.app-actions{display:grid;gap:12px;max-width:460px;margin:24px 0 0}
.app-actions .button{display:flex;align-items:center;justify-content:space-between;gap:20px;box-sizing:border-box;width:100%;min-height:58px;margin:0;padding:16px 20px;border-radius:10px;text-decoration:none;line-height:1.3;white-space:normal;font-size:1rem;box-shadow:none}
.app-actions .app-buy-button{background:#c62e20;color:#fff;border:2px solid #c62e20;box-shadow:0 4px 12px #80201915}
.app-actions .app-buy-button:hover{background:#a9251a;border-color:#a9251a}
.app-actions .app-buy-button small{display:block;margin-top:5px;color:#fff;font-size:.82rem;font-weight:500}
.app-actions .app-explore-button{background:transparent;color:#243c45;border:1px solid #aebdb6}
.app-actions .app-explore-button:hover{background:#e8eeea;border-color:#778b83}
.app-actions .button>span:last-child{font-size:1.4rem;flex-shrink:0;line-height:1}
.app-actions .button:focus-visible{outline:3px solid #007b9a;outline-offset:3px}
@media(max-width:760px){
 #checkout-dialog[open]{position:fixed;inset:auto;left:0;top:var(--checkout-top,0px);width:100%;max-width:none;height:var(--checkout-height,100dvh);max-height:var(--checkout-height,100dvh);margin:0;padding:0;border-radius:0;overflow:hidden;display:flex;flex-direction:column}
 #checkout-dialog .modal-head{padding:18px 20px 16px;gap:16px;align-items:center;border-bottom:1px solid #e4e5e0}
 #checkout-dialog .modal-head h2{font-size:28px;line-height:1.05;margin-top:7px}
 #checkout-dialog .modal-head .eyebrow{font-size:9px;letter-spacing:1.5px}
 #checkout-dialog .checkout-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:0 20px max(24px,env(safe-area-inset-bottom));scroll-padding-block:18px}
 #checkout-dialog .modal-grid{grid-template-columns:minmax(0,1fr);gap:24px;padding-top:18px}
 #checkout-dialog .checkout-summary{grid-row:auto;margin-top:0;padding:16px;min-width:0}
 #checkout-dialog .checkout-summary h3{font-size:15px;line-height:1.3}
 #checkout-dialog .checkout-summary .line{font-size:13px}
 #checkout-dialog .checkout-summary .total{font-size:18px}
 #checkout-form label{font-size:14px;margin-bottom:15px}
 #checkout-form .field-note{font-size:12px}
 #checkout-form .buy{min-height:52px;font-size:16px;line-height:1.3;height:auto;padding:14px;border-radius:8px}
 #checkout-dialog .edit-details{min-height:44px;font-size:14px;margin-bottom:0}
 #checkout-dialog #order-success{padding:24px 0}
 .app-actions{max-width:100%;gap:12px}
 .app-actions .button{padding:16px 18px;min-height:58px}
 .app-adapter-note{margin-top:20px}
 .product-visual img{height:auto;aspect-ratio:3/2}
 .product-visual .badge{top:12px;left:12px;font-size:9px;letter-spacing:.9px;padding:6px 8px;max-width:calc(100% - 24px)}
}
@media(max-width:350px){#checkout-dialog .modal-head,#checkout-dialog .checkout-scroll{padding-left:16px;padding-right:16px}.app-actions .button{padding-left:15px;padding-right:15px}.app-actions .button>span:last-child{font-size:1.2rem}}

/* Payment action follows the complete order description and total. */
#checkout-dialog .payment-actions{grid-column:1/-1;border-top:1px solid #e4e5e0;padding-top:16px;min-width:0}
#checkout-dialog .payment-actions>.buy{width:100%;min-height:52px;border-radius:8px;font-size:16px}
#checkout-dialog .payment-actions>.edit-details{display:block;margin:0 0 8px;padding:8px 0;font-size:14px;min-height:44px}
#checkout-dialog .payment-instruction{font-size:13px;line-height:1.5;color:#65736e;margin:0 0 16px}
#checkout-dialog #checkout-message.pending{display:flex;align-items:flex-start;gap:12px;margin-top:14px;padding:16px;border-radius:8px;background:#f3f6f3;color:#294a3e}
#checkout-dialog #checkout-message.pending::before{content:"";display:block;flex:0 0 22px;width:22px;height:22px;border:3px solid #cad6cf;border-top-color:#28734f;border-radius:50%;animation:checkout-spin .9s linear infinite;margin-top:2px}
@keyframes checkout-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){#checkout-dialog #checkout-message.pending::before{animation:none;border-style:dotted}}
#checkout-dialog #success-email{overflow-wrap:anywhere}
