.redesign .checkout-page { padding: 8px 0 30px; }
.redesign .checkout-page.hidden { display: none; }
.redesign .checkout-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin:32px 0 28px; }
.redesign .checkout-heading h1 { margin:0 0 12px; font-size:clamp(28px,3vw,42px); line-height:1.15; letter-spacing:-.035em; outline:none; }
.redesign .checkout-heading p { margin:0; color:var(--muted); font-size:16px; line-height:1.6; max-width:650px; }
.redesign .checkout-heading .btn { flex-shrink:0; }
.redesign .checkout-layout { display:grid; grid-template-columns:minmax(280px,340px) minmax(0,1fr); align-items:start; gap:28px; }
.redesign .checkout-sidebar { position:sticky; top:24px; min-width:0; }
.redesign .checkout-summary,.redesign .checkout-gallery,.redesign .checkout-cloud { border:1px solid var(--line); border-radius:22px; background:var(--surface); }
.redesign .checkout-summary { padding:26px; }
.redesign .checkout-summary h2,.redesign .checkout-gallery h2 { font-size:22px; line-height:1.3; margin:0; letter-spacing:-.025em; }
.redesign .checkout-counts { display:grid; grid-template-columns:1fr 1fr; padding:24px 0; border-bottom:1px solid var(--line); gap:18px; }
.redesign .checkout-counts>div { display:grid; gap:5px; }
.redesign .checkout-counts strong { font-size:34px; line-height:1.1; color:var(--accent); }
.redesign .checkout-counts span { font-size:14px; color:var(--muted); }
.redesign .checkout-summary-row { display:flex; justify-content:space-between; align-items:start; gap:15px; padding:18px 0; border-bottom:1px solid var(--line); }
.redesign .checkout-summary-row>span { display:grid; gap:6px; min-width:0; }
.redesign .checkout-summary-row strong { font-size:15px; line-height:1.5; font-weight:600; }
.redesign .checkout-summary-row small { font-size:13px; line-height:1.5; color:var(--muted); }
.redesign .checkout-summary-row>b { white-space:nowrap; font-size:15px; padding-top:2px; }
.redesign .checkout-total { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-top:24px; font-size:18px; }
.redesign .checkout-total strong { color:var(--accent); font-size:28px; }
.redesign .checkout-discount { padding:12px; margin:16px 0 0; border-radius:12px; background:var(--accent-soft); color:var(--accent); font-size:13px; line-height:1.55; }
.redesign .checkout-customer { display:grid; gap:8px; padding:20px 5px; }
.redesign .checkout-customer span { color:var(--muted); font-size:13px; }
.redesign .checkout-customer strong { font-size:15px; line-height:1.5; overflow-wrap:anywhere; }
.redesign .checkout-next { border-left:2px solid var(--accent); margin-top:4px; padding:6px 16px; }
.redesign .checkout-next strong { font-size:15px; }
.redesign .checkout-next p { font-size:14px; line-height:1.65; color:var(--muted); margin:8px 0 0; }
.redesign .checkout-main { min-width:0; display:grid; gap:20px; }
.redesign .checkout-gallery { padding:24px; }
.redesign .checkout-gallery-heading { display:flex; gap:15px; justify-content:space-between; align-items:center; margin-bottom:12px; }
.redesign .checkout-gallery-heading>span { border-radius:30px; padding:7px 12px; font-size:13px; color:var(--accent); background:var(--accent-soft); white-space:nowrap; }
.redesign .checkout-gallery-help { font-size:14px; line-height:1.6; color:var(--muted); margin:0 0 20px; }
.redesign .checkout-photos { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; max-height:76vh; overflow:auto; padding:2px 10px 8px 2px; scrollbar-width:thin; scrollbar-color:var(--accent-line) transparent; scroll-behavior:smooth; }
.redesign .checkout-photos:focus-visible { outline:2px solid var(--accent); outline-offset:6px; border-radius:8px; }
.redesign .checkout-photo { min-width:0; margin:0; border:1px solid var(--line); border-radius:14px; overflow:hidden; background:rgba(255,255,255,.018); }
.redesign .checkout-photo-stage { position:relative; display:grid; place-items:center; aspect-ratio:1; padding:12px; background:rgba(0,0,0,.18); }
.redesign .checkout-photo-frame { position:relative; overflow:hidden; background:#fff; box-shadow:0 7px 14px rgba(0,0,0,.25); }
.redesign .checkout-photo-inner { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); }
.redesign .checkout-photo-inner img { width:100%; height:100%; display:block; }
.redesign .checkout-canvas-image { position:absolute; max-width:none; object-fit:fill; transform:translate(-50%,-50%); }
.redesign .checkout-photo-caption { padding:13px; display:grid; gap:10px; }
.redesign .checkout-file-name { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:13px; font-weight:600; }
.redesign .checkout-photo-detail { display:flex; justify-content:space-between; align-items:start; gap:8px; line-height:1.45; }
.redesign .checkout-photo-detail>span { color:var(--muted); font-size:12px; }
.redesign .checkout-photo-detail>b { color:var(--accent); white-space:nowrap; font-size:13px; }
.redesign .checkout-photo-caption>small { color:var(--muted); font-size:12px; line-height:1.4; }
.redesign .checkout-quality { color:#f5bb7a; font-size:12px; line-height:1.4; }
.redesign .checkout-image-error { padding:18px; text-align:center; color:var(--muted); font-size:13px; }
.redesign .checkout-privacy { margin:18px 0 0; color:var(--muted); font-size:13px; line-height:1.6; }
.redesign .checkout-cloud { padding:24px; }
.redesign .checkout-cloud>strong { font-size:19px; }
.redesign .checkout-cloud p { font-size:14px; line-height:1.65; margin:12px 0; overflow-wrap:anywhere; }
.redesign .checkout-cloud small { color:var(--muted); font-size:13px; line-height:1.6; }
.redesign .checkout-cloud-url { color:var(--accent); }
.redesign .checkout-actions { display:flex; gap:16px; justify-content:space-between; margin-top:32px; padding-top:24px; border-top:1px solid var(--line); }
.redesign .checkout-actions .btn { min-height:54px; padding:16px 26px; font-size:16px; }
.redesign .checkout-actions .btn.primary { min-width:250px; }
.redesign .checkout-loading { padding:50px 20px; text-align:center; border:1px solid var(--line); border-radius:20px; color:var(--muted); }
.redesign .checkout-loading::before { content:''; display:block; width:26px; height:26px; border:2px solid var(--line); border-top-color:var(--accent); border-radius:50%; margin:0 auto 16px; animation:checkout-spin .8s linear infinite; }
.redesign .checkout-error:empty { display:none; }
.redesign .checkout-error:not(:empty) { padding:20px; margin:0 0 15px; background:rgba(221,83,104,.1); border:1px solid rgba(221,83,104,.3); border-radius:15px; color:#ffb4bf; line-height:1.6; }
@keyframes checkout-spin { to { transform:rotate(360deg); } }
@media(max-width:1100px) { .redesign .checkout-photos { grid-template-columns:repeat(2,minmax(0,1fr)); } .redesign .checkout-layout { grid-template-columns:minmax(250px,310px) minmax(0,1fr); gap:20px; } }
@media(max-width:760px) {
 .redesign .checkout-heading { flex-direction:column; margin:25px 0; gap:16px; }
 .redesign .checkout-heading p { font-size:15px; }
 .redesign .checkout-layout { grid-template-columns:1fr; }
 .redesign .checkout-sidebar { position:static; }
 .redesign .checkout-summary,.redesign .checkout-gallery,.redesign .checkout-cloud { padding:20px; border-radius:18px; }
 .redesign .checkout-next { margin-bottom:8px; }
 .redesign .checkout-photos { max-height:65svh; overflow:auto; padding:0 4px 4px 0; gap:12px; }
 .redesign .checkout-photo-stage { padding:9px; }
 .redesign .checkout-photo-caption { padding:10px; }
 .redesign .checkout-photo-detail { flex-wrap:wrap; gap:5px; }
 .redesign .checkout-gallery h2 { font-size:19px; }
 .redesign .checkout-gallery-heading { gap:8px; }
 .redesign .checkout-actions { position:sticky; bottom:0; z-index:8; background:var(--page); padding:12px 0 max(12px,env(safe-area-inset-bottom)); gap:10px; }
 .redesign .checkout-actions .btn { padding:13px 12px; font-size:14px; min-height:50px; }
 .redesign .checkout-actions .btn.primary { min-width:0; flex:1; }
 body.site.redesign[data-view="review"] #chatFab { bottom:92px!important; }
}
@media(max-width:360px) { .redesign .checkout-gallery { padding:14px; } .redesign .checkout-photos { gap:8px; } .redesign .checkout-actions .btn { font-size:12px; padding:12px 9px; } }
@media(prefers-reduced-motion:reduce) { .redesign .checkout-loading::before { animation:none; } .redesign .checkout-photos { scroll-behavior:auto; } }
