/* Quote form uploads — shared by lp, contact and location layouts */
.dg-upload .opt					{ font-weight:300; opacity:.7; text-transform:none; }
.dg-upload-hint					{ margin:4px 0 8px; font-size:14px; line-height:20px; font-weight:300; opacity:.85; }
.dg-upload-drop					{ position:relative; display:flex; align-items:center; justify-content:center; gap:12px; flex-wrap:wrap; min-height:64px; padding:12px 16px; background-color:var(--colorElement); border:1px dashed var(--colorLiter); border-radius:2px; cursor:pointer; text-align:center; transition:background-color .3s ease, border-color .3s ease; }
.dg-upload-drop:hover,
.dg-upload-drop.over,
.dg-upload-drop:focus-within	{ background-color:var(--colorElementAlt); border-color:var(--colorAlpha); border-style:solid; }
.dg-upload-drop input			{ position:absolute; width:1px; height:1px; opacity:0; overflow:hidden; }
.dg-upload-cta					{ display:inline-block; padding:8px 16px; border:1px solid var(--colorAlpha); border-radius:2px; font-size:14px; font-weight:600; text-transform:uppercase; letter-spacing:.5px; }
.dg-upload-or					{ font-size:14px; font-weight:300; opacity:.75; }
.dg-upload-list					{ margin:8px 0 0; padding:0; list-style:none; }
.dg-upload-list:empty			{ display:none; }
.dg-upload-list li				{ display:flex; align-items:center; gap:12px; padding:6px 0; border-bottom:1px solid var(--colorLiter); font-size:14px; line-height:20px; }
.dg-upload-list li .n			{ flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dg-upload-list li .s			{ opacity:.7; white-space:nowrap; }
.dg-upload-list li .x			{ width:28px; height:28px; padding:0; background:none; border:0; font-size:22px; line-height:28px; cursor:pointer; color:inherit; opacity:.7; }
.dg-upload-list li .x:hover,
.dg-upload-list li .x:focus-visible	{ opacity:1; }
.dg-upload-list li.busy			{ font-style:italic; opacity:.7; }
.dg-upload-error				{ margin:8px 0 0; font-size:14px; line-height:20px; color:#B91C1C; }

/* Match the layouts' #id-level form rules so they don't restyle the drop zone or show the raw input */
#dg_lp form .field label.dg-upload-drop,
#dg_contact form .field label.dg-upload-drop,
#dg_location .quote-form .field label.dg-upload-drop	{ display:flex; line-height:20px; font-size:14px; margin-top:4px; }
#dg_lp form .field .dg-upload-drop input,
#dg_contact form .field .dg-upload-drop input,
#dg_location .quote-form .field .dg-upload-drop input	{ position:absolute; width:1px; height:1px; min-height:0; margin:0; padding:0; border:0; opacity:0; overflow:hidden; }
#dg_lp .dg-upload p,
#dg_contact .dg-upload p,
#dg_location .dg-upload p			{ text-align:left; font-size:14px; line-height:20px; }
#dg_lp .dg-upload p.dg-upload-hint,
#dg_contact .dg-upload p.dg-upload-hint,
#dg_location .dg-upload p.dg-upload-hint	{ margin:4px 0 8px; }
