/* Day Glance Pro — contact form + feature board. Brand: indigo→magenta. */
.dgc-form { max-width: 640px; margin: 0 auto; display: grid; gap: 18px; }
.dgc-form .dgc-field { display: grid; gap: 6px; }
/* Ensure hidden fields actually hide (author display rule would otherwise beat [hidden]). */
.dgc-form .dgc-field[hidden] { display: none; }
.dgc-row[hidden] { display: none; }
.dgc-form label { font-weight: 600; font-size: .95rem; }
.dgc-form input[type="text"],
.dgc-form input[type="email"],
.dgc-form select,
.dgc-form textarea {
	width: 100%; padding: 12px 14px; border: 1px solid #d7dae5; border-radius: 12px;
	font: inherit; background: #fff; color: #12131a; box-sizing: border-box;
}
.dgc-form textarea { resize: vertical; }
.dgc-form input:focus, .dgc-form select:focus, .dgc-form textarea:focus {
	outline: none; border-color: #7C3AED; box-shadow: 0 0 0 3px rgba(124, 58, 237, .15);
}
.dgc-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
@media (max-width: 520px) { .dgc-row { grid-template-columns: 1fr; } }

.dgc-consent label { display: flex; gap: 10px; align-items: flex-start; font-weight: 400; font-size: .9rem; }
.dgc-consent input { margin-top: 3px; }

.dgc-drop {
	border: 2px dashed #c7ccdb; border-radius: 14px; padding: 20px; text-align: center;
	cursor: pointer; color: #5b6172; position: relative;
}
.dgc-drop.is-over { border-color: #7C3AED; background: #faf6ff; }
.dgc-drop input[type="file"] { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.dgc-filelist { list-style: none; margin: 8px 0 0; padding: 0; font-size: .85rem; color: #5b6172; }
.dgc-filelist li { padding: 2px 0; }

.dgc-hp { position: absolute; left: -9999px; height: 0; overflow: hidden; }

.dgc-submit {
	justify-self: start; border: 0; cursor: pointer; color: #fff; font-weight: 700; font-size: 1rem;
	padding: 13px 30px; border-radius: 999px;
	background: linear-gradient(135deg, #4F46E5, #7C3AED 50%, #DB2777);
}
.dgc-submit:disabled { opacity: .6; cursor: default; }
.dgc-privacy-note { font-size: .78rem; color: #8b90a3; margin: 0; }

.dgc-alert { padding: 12px 16px; border-radius: 12px; font-weight: 500; }
.dgc-alert.is-ok { background: #e7f7ec; color: #14663a; }
.dgc-alert.is-err { background: #fdeaea; color: #99231f; }

/* Feature board */
.dgc-board { max-width: 720px; margin: 0 auto; display: grid; gap: 14px; }
.dgc-board .dgc-card {
	display: flex; gap: 16px; align-items: flex-start; padding: 18px 20px;
	border: 1px solid #e7e9f0; border-radius: 16px; background: #fff;
}
.dgc-vote {
	flex: 0 0 auto; display: grid; justify-items: center; gap: 2px; min-width: 58px;
	padding: 10px 6px; border: 1px solid #e0e2ec; border-radius: 12px; background: #fbfbfe;
	cursor: pointer; color: #4F46E5; font-weight: 800;
}
.dgc-vote:hover { border-color: #7C3AED; }
.dgc-vote.is-voted { background: linear-gradient(135deg, #4F46E5, #7C3AED); color: #fff; border-color: transparent; }
.dgc-vote-caret { font-size: .8rem; line-height: 1; }
.dgc-vote-count { font-size: 1.1rem; line-height: 1; }
.dgc-card-body h3 { margin: 6px 0 4px; font-size: 1.1rem; }
.dgc-card-body p { margin: 0; color: #5b6172; }
.dgc-status {
	display: inline-block; font-size: .72rem; font-weight: 700; text-transform: uppercase;
	letter-spacing: .04em; padding: 2px 9px; border-radius: 999px; background: #eef0f6; color: #5b6172;
}
.dgc-status-planned { background: #e7edff; color: #2a49b8; }
.dgc-status-in_progress { background: #fff2d8; color: #8a5a00; }
.dgc-status-shipped { background: #e2f7e6; color: #14663a; }
.dgc-status-declined { background: #f1f1f4; color: #7a7f8d; }
.dgc-board-empty { text-align: center; color: #8b90a3; }
