/* Intrinsic grid and fieldset widths must not expand after adding an extra. */
.builder,.builder-main,.builder-preview,.wizard-pane,.extras-card,.letter-options,.summary-card{min-width:0;max-width:100%}
.builder .option-group{min-inline-size:0;max-width:100%}
.certificate-gallery{width:100%;min-width:0;align-items:start}
.certificate-design,.certificate-design.is-selected{border:2px solid #e4d6c6;min-width:0;max-width:100%;transform:none}
.certificate-design.is-selected{border-color:#ae2033;box-shadow:0 0 0 2px #ae203314}
.certificate-zoom{display:block;width:100%;max-width:100%;min-width:0;padding:0;position:relative}
.certificate-zoom img{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:714/530;object-fit:contain}
.certificate-sizes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.certificate-sizes button{min-width:0;white-space:normal;overflow-wrap:anywhere;box-sizing:border-box}
.summary-card p,.summary-letter,.order-totals>div{min-width:0;gap:14px}
.summary-card p>span,.summary-letter>span,.summary-letter>strong,.ordered-letters h3{min-width:0;overflow-wrap:anywhere}
.summary-card p>strong{flex-shrink:0;white-space:nowrap}
#image-dialog.image-lightbox{position:fixed;inset:0;margin:auto;border:0;padding:0;background:transparent;box-shadow:none;border-radius:0;width:calc(100vw - 32px);height:calc(100dvh - 96px);max-width:1400px;max-height:calc(100dvh - 96px);overflow:visible}
#image-dialog.image-lightbox[open]{display:grid;place-items:center}
#image-dialog.image-lightbox::backdrop{background:#101514ed;backdrop-filter:none}
#image-dialog.image-lightbox #image-preview{display:block;width:auto;height:auto;max-width:100%;max-height:calc(100dvh - 96px);object-fit:contain;margin:0;border:0;box-shadow:none}
#image-dialog.image-lightbox .dialog-close{position:fixed;top:12px;right:12px;inset-inline-end:12px;width:44px;height:44px;border:1px solid #ffffff80;border-radius:50%;color:white;background:#111c;font-size:24px;display:grid;place-items:center;padding:0}
.checkout-block{margin:0 0 24px;padding:28px;background:#fff;border:1px solid #e7dfd3;border-radius:18px}
.builder .checkout-block h3{display:flex;align-items:center;gap:12px;font-size:24px;margin:0 0 22px;color:#193e35}
.checkout-number{display:inline-grid;place-items:center;flex:0 0 32px;height:32px;border-radius:50%;background:#a51c30;color:white;font:700 16px Arial}
.builder .checkout-block label{font-size:16px;line-height:1.5}
.checkout-block .field-grid{gap:20px}.checkout-block input,.checkout-block select,.checkout-block textarea{font-size:18px;min-height:50px;border-radius:9px}
.checkout-block input[type=radio],.checkout-block input[type=checkbox]{min-height:22px;flex-shrink:0}
.checkout-block .payment-options{display:grid;grid-template-columns:1fr;gap:12px}.checkout-block .payment-choice{padding:18px;border:1px solid #ddd4c6;border-radius:12px}.checkout-block .payment-choice:has(input:checked){border-color:#a51c30;background:#fff5f3}
.checkout-block .coupon-entry{padding:0 0 22px;margin-bottom:22px;border-bottom:1px solid #e7dfd3}.checkout-block #invoice-fields{margin-top:22px}
.order-overview-grid>article,.ordered-letters>article{min-width:0;padding:26px;border:1px solid #e7dfd3;border-radius:16px;background:white}
.order-overview h3{font-size:23px}.order-overview p,.order-overview li,.order-totals{font-size:17px;line-height:1.65}.order-overview p{overflow-wrap:anywhere}.order-total{font-size:24px;font-weight:700;border-top:2px solid #193e35;padding-top:16px}
@media(max-width:650px){.builder .checkout-block{padding:20px 16px}.checkout-block .field-grid{grid-template-columns:minmax(0,1fr)}.checkout-block .span-2{grid-column:auto}.builder .checkout-block h3{font-size:22px}.certificate-sizes button{font-size:15px;padding:12px 6px}.order-overview-grid>article,.ordered-letters>article{padding:20px}}

.builder.checkout-final #preview-details{display:none}.builder.checkout-final .wizard-nav{position:static}.checkout-block>.summary-card{margin-bottom:24px;padding:20px;background:#fff6e9;border:1px solid #ead5b6}.checkout-block>.summary-card h3{font-size:24px}@media(max-width:850px){.builder.checkout-final>.builder-preview{display:none}}
