.pd-reference-upload { padding:.7rem .75rem; border:1px solid rgba(180,104,171,.25); border-radius:10px; background:rgba(255,255,255,.72); }
.pd-reference-upload-row { display:flex; align-items:center; gap:.7rem; min-width:0; }
.pd-reference-upload input[type=file] { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.pd-reference-trigger { display:inline-flex; flex:0 0 auto; align-items:center; gap:.35rem; margin:0; padding:.48rem .7rem; border:1px solid rgba(102,19,94,.28); border-radius:999px; color:var(--deep-rose); background:#fff; font:500 .66rem var(--sans); letter-spacing:.04em; cursor:pointer; transition:background .2s ease,color .2s ease,border-color .2s ease; }
.pd-reference-trigger:hover,.pd-reference-trigger:focus-visible { color:#fff; background:var(--deep-rose); border-color:var(--deep-rose); outline:none; }
.pd-reference-trigger-mark { font-size:.9rem; font-weight:300; line-height:1; }
.pd-reference-upload .pd-reference-status { min-width:0; margin:0; overflow:hidden; color:#6f636b!important; font-size:.67rem!important; font-style:normal; line-height:1.35!important; text-overflow:ellipsis; white-space:nowrap; }
.pd-reference-upload .pd-reference-hint { margin:.42rem 0 0; color:#8b7c86!important; font-size:.62rem!important; font-style:normal; line-height:1.4!important; }
.pd-special-link { display:inline-block; margin-top:.55rem; color:var(--deep-rose); font-size:.69rem; font-weight:500; text-decoration:underline; text-underline-offset:3px; }
@media (max-width:540px) {
  .pd-reference-upload-row { align-items:flex-start; flex-direction:column; gap:.4rem; }
  .pd-reference-upload .pd-reference-status { max-width:100%; }
}
.inspiration-upload { margin:1.2rem 0; padding:1.3rem; background:linear-gradient(145deg,rgba(241,227,239,.75),rgba(255,255,255,.95)); border:1px solid rgba(180,104,171,.24); border-radius:14px; }
.inspiration-upload h4 { margin:0 0 .4rem; color:var(--dark); font:400 1.35rem var(--serif); }
.inspiration-upload p { margin:.35rem 0 .85rem; color:var(--warm-gray); font-size:.78rem; line-height:1.65; }
.inspiration-upload input { width:100%; }
.form-consent { display:flex; gap:.65rem; align-items:flex-start; color:var(--warm-gray); font-size:.75rem; line-height:1.5; }
.form-consent input { width:auto; margin-top:.2rem; }
.checkout-system-page { min-height:70vh; padding:calc(var(--header-offset) + 4rem) 5vw 5rem; text-align:center; background:linear-gradient(180deg,rgba(241,227,239,.45),#fff); }
.checkout-system-card { width:min(660px,100%); margin:auto; padding:clamp(2rem,6vw,4rem); background:#fff; border:1px solid rgba(180,104,171,.18); border-radius:24px; box-shadow:0 20px 60px rgba(102,19,94,.08); }
.checkout-system-card h2 { margin:.4rem 0 1rem; font:400 clamp(2.2rem,6vw,3.5rem)/1 var(--serif); }
.checkout-system-card p { color:var(--warm-gray); line-height:1.75; }
.checkout-reference { margin:1rem 0; color:var(--deep-rose)!important; font-weight:600; }
.quote-line { display:flex;justify-content:space-between;gap:1rem;padding:.8rem 0;border-bottom:1px solid rgba(180,104,171,.16);font-size:.8rem; }
.quote-line span:last-child { white-space:nowrap;font-weight:600; }
.quote-totals { margin:1rem 0;padding:1rem;background:var(--cream);border-radius:10px; }
.quote-total-row { display:flex;justify-content:space-between;gap:1rem;margin:.45rem 0;font-size:.8rem; }
.quote-total-row--grand { padding-top:.65rem;border-top:1px solid rgba(180,104,171,.2);color:var(--dark);font-size:1rem;font-weight:600; }
.cart-checkout-btn[disabled],.form-submit[disabled] { opacity:.65; cursor:wait; }
