.order-page{padding-block:32px 72px;max-width:980px}
.order-page h1{font-size:clamp(2rem,4vw,3.4rem);line-height:1.1;margin:20px 0}
.order-page section{background:#fff;border:1px solid #e8e5dd;border-radius:20px;padding:clamp(20px,3vw,32px);margin-block:24px}
.order-page section h2{margin-top:0}
.order-page dl{margin:0}.order-page dl div{display:grid;grid-template-columns:minmax(150px,220px) minmax(0,1fr);gap:12px;padding-block:12px;border-bottom:1px solid #eee}.order-page dt{font-weight:700}.order-page dd{margin:0;overflow-wrap:anywhere}
.order-page-status{background:#fff0bc;border-radius:999px;padding:12px 20px;display:inline-block}
.order-page form{display:grid;gap:12px;max-width:100%;margin-block:16px}
.order-page form label{display:grid;gap:8px;font-weight:700}
.order-page form input{box-sizing:border-box;width:100%;min-width:0;min-height:48px;padding:12px;border:1px solid #e8e5dd;border-radius:12px;font:inherit}
.order-page form button{width:fit-content;max-width:100%;min-height:44px;padding:10px 18px;border:1px solid #e8e5dd;border-radius:12px;background:#fff;font:inherit;cursor:pointer}
.order-page form p{margin:0}
.order-page .order-pay-action.is-primary button{background:#c3272d;color:#fff;border-color:#c3272d;font-weight:700}
.order-page .order-pay-action.is-secondary button{background:#fff;color:#9b2026;border-color:#dec7c7}
.order-page .order-recipe-compact{border-top:1px solid #e8e5dd;margin-top:20px;padding-top:16px;overflow-wrap:anywhere}
.order-page .order-glasses dl div:last-child{border-bottom:0}
.order-page textarea,.order-page select{box-sizing:border-box;width:100%;min-width:0;padding:12px;border:1px solid #e8e5dd;border-radius:12px;font:inherit}
.order-page .review-rating{display:flex;gap:16px;flex-wrap:wrap}.order-page .review-rating label{display:flex;align-items:center;gap:6px}.order-page .review-rating input{width:auto;min-height:0}
.order-page input[type="checkbox"]{width:20px;min-height:20px}
@media(max-width:600px){.order-page{padding-block:20px 48px}.order-page dl div{display:block}.order-page dd{margin-top:4px}}


/* Saved order composition: public frame description and exact selected lens model. */
.order-page .order-product-card { display: block; min-width: 0; margin: 0; }
.order-page .order-product-card.has-media { display: grid; grid-template-columns: 152px minmax(0,1fr); gap: 18px; align-items: center; }
.order-page .order-product-card-lens.has-media { grid-template-columns: 92px minmax(0,1fr); align-items: start; }
.order-product-image-link { display: block; min-width: 0; padding: 8px; border: 1px solid #e8e5dd; border-radius: 12px; background: #fffefa; }
.order-product-image-link[hidden] { display: none; }
.order-product-image-link img { display: block; width: 100%; height: 104px; object-fit: contain; }
.order-lens-photo img { height: 82px; }
.order-product-name { display: block; margin: 0; line-height: 1.55; }
.order-product-info { display: block; min-width: 0; }
.order-manufacturer { display: grid; gap: 4px; margin-top: 10px; }
.order-manufacturer-caption { font-size: 12px; color: #686672; }
.order-manufacturer-value { font-size: 14px; line-height: 1.55; overflow-wrap: anywhere; }
.order-frame-information { margin-top: 18px; }
.order-frame-information h3 { margin: 0 0 12px; font-size: 16px; }
.order-page .order-frame-specs { display: grid; grid-template-columns: minmax(0,1fr); gap: 10px; margin: 0; }
.order-page .order-frame-specs > div { display: grid; grid-template-columns: minmax(0,160px) minmax(0,1fr); gap: 12px; align-items: baseline; min-width: 0; padding: 0; border: 0; }
.order-page .order-frame-specs dt { margin: 0; font-size: 14px; line-height: 1.5; font-weight: 400; color: #686672; }
.order-page .order-frame-specs dd { margin: 0; font-size: 14px; line-height: 1.5; font-weight: 600; }
.order-frame-description { margin-top: 16px; }
.order-frame-description summary { width: fit-content; max-width: 100%; min-height: 44px; display: list-item; align-content: center; color: #9b2026; cursor: pointer; font-weight: 600; }
.order-frame-description summary:focus-visible { outline: 3px solid #a92331; outline-offset: 3px; border-radius: 4px; }
.order-frame-description p { margin: 12px 0 0; line-height: 1.65; }
.order-media-dialog { box-sizing: border-box; width: min(880px,calc(100% - 28px)); max-height: 90vh; max-height: 90dvh; padding: 20px; border: 1px solid #e8e5dd; border-radius: 18px; color: #292931; background: #fff; }
.order-media-dialog::backdrop { background: rgba(20,40,36,.62); }
.order-media-dialog header { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 14px; }
.order-media-dialog h2 { margin: 0; font-size: 20px; }
.order-media-dialog button { width: 44px; height: 44px; flex: 0 0 auto; border: 1px solid #e8e5dd; border-radius: 10px; background: #fff; color: #292931; font-size: 28px; cursor: pointer; }
.order-media-dialog > img { display: block; width: 100%; max-height: 70vh; max-height: 70dvh; object-fit: contain; }
.order-product-image-link:focus-visible,.order-media-dialog button:focus-visible { outline: 3px solid #a92331; outline-offset: 3px; }
@media(max-width:600px){
  .order-page .order-product-card.has-media { grid-template-columns: 96px minmax(0,1fr); gap: 12px; align-items: start; }
  .order-page .order-product-card-lens.has-media { grid-template-columns: 72px minmax(0,1fr); }
  .order-product-image-link { padding: 5px; }
  .order-product-image-link img { height: 74px; }
  .order-lens-photo img { height: 62px; }
  .order-media-dialog { padding: 14px; }
}
