.order-review{position:fixed;inset:0;margin:auto;box-sizing:border-box;width:min(480px,calc(100% - 24px));max-width:calc(100% - 24px);max-height:calc(100dvh - 24px);overflow:auto;overflow-wrap:anywhere;padding:28px;border:1px solid var(--line);border-radius:16px;background:var(--paper);color:var(--ink)}
.order-review::backdrop{background:rgba(10,25,20,.65)}
.order-review h2{font-size:1.85rem;line-height:1.15;margin:0 0 .5rem}.order-review p{font-size:.9rem;line-height:1.5;margin:.35rem 0;color:var(--muted)}.order-review .order-plan{font-size:1rem;color:var(--ink);margin:0 0 1rem}.order-price{display:flex;align-items:baseline;gap:.5rem;margin:.5rem 0;flex-wrap:wrap}.order-price-value{font-size:2.8rem;line-height:1.1;font-weight:600;letter-spacing:-.04em}.order-price span{font-size:1rem;color:var(--muted)}.order-review .order-renewal{color:var(--ink);margin-bottom:.65rem}.order-review .order-small{font-size:.8rem}
.order-promotion{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem;align-items:center;margin:1rem 0}.order-promotion label,.order-promotion p{grid-column:1/-1;margin:0}.order-promotion label{font-size:.9rem}.order-promotion input{box-sizing:border-box;width:100%;min-width:0;min-height:44px;padding:.6rem;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink);font:inherit}.order-promotion button{min-height:44px;padding:.65rem 1rem}.order-promotion p{padding:0}.order-promotion p:empty{display:none}.order-review .order-code-applied{color:var(--ink);font-size:.85rem}
.order-agreement{display:flex;align-items:flex-start;gap:.6rem;min-height:44px;line-height:1.5;font-size:.8rem;margin:1rem 0}.order-agreement input{flex:0 0 auto;width:20px;height:20px;margin:.15rem 0 0}.order-agreement a{text-decoration:underline;color:inherit}.order-actions{display:flex;flex-direction:column;gap:.35rem}.order-review .button{white-space:normal;min-width:0;min-height:44px}.order-actions .button{width:100%}.order-actions .order-cancel{background:transparent;border:0;color:var(--muted);font-size:.85rem}.order-promotion .order-cancel{background:transparent;color:var(--ink);border:1px solid var(--line)}.order-review button:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:400px){.order-review{padding:18px}.order-review h2{font-size:1.45rem}.order-price-value{font-size:2.4rem}.order-promotion{grid-template-columns:minmax(0,1fr) auto}}

.order-promotion-box{margin:.75rem 0}.order-promotion-box>summary{cursor:pointer;min-height:44px;line-height:1.5;padding:0;font-size:.85rem;color:var(--muted)}.order-promotion-box .order-promotion{margin:.25rem 0 .75rem}.order-review h2:focus{outline:none}.order-review .order-actions .order-cancel{background:transparent!important;border:0;color:var(--muted);font-size:.85rem;box-shadow:none}
@media(max-width:350px){.order-promotion{grid-template-columns:1fr}.order-promotion button{width:100%}}
