/* =====================================================================
 *  Personalization — Order Received form
 * =================================================================== */

.davima-pers {
	margin: 32px auto 0;
	padding: 28px 28px 32px;
	background: #FFF7F1;
	border: 1px solid #F4DDC9;
	border-radius: 22px;
	max-width: 980px;
}

/* Variant: rendered on the single product page (inside cart form). */
.davima-pers--product {
	margin: 18px 0 22px;
	padding: 22px 22px 24px;
	max-width: none;
}

.davima-pers__head { margin-bottom: 22px; }
.davima-pers__head h2,
.davima-pers__head h3.davima-pers__title { margin: 4px 0 8px; font-size: 1.35rem; line-height: 1.25; }
.davima-pers__lede { color: #5A4F4A; line-height: 1.55; margin: 0 0 10px; max-width: 60ch; }
.davima-pers__wa {
	margin: 16px 0 0;
	padding: 12px 16px;
	background: #F0FAF3;
	border: 1px dashed #BFE4CB;
	border-radius: 12px;
	color: #2A1F1A;
	font-size: 0.92rem;
	line-height: 1.45;
}
.davima-pers__wa a { color: #1A8E4A; font-weight: 600; text-decoration: underline; }

.davima-pers__err {
	margin: 4px 0 0;
	color: #C44;
	font-size: 0.85rem;
	font-weight: 500;
}

.davima-pers__card {
	background: #fff;
	border: 1px solid #F0E2D2;
	border-radius: 18px;
	padding: 18px 20px 20px;
	margin: 0 0 16px;
	box-shadow: 0 1px 0 rgba(0,0,0,0.02);
}

.davima-pers__card-head {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	margin-bottom: 14px;
	padding-bottom: 14px;
	border-bottom: 1px dashed #F0E2D2;
}
.davima-pers__card-img {
	width: 56px;
	height: 56px;
	object-fit: cover;
	border-radius: 12px;
	flex: 0 0 56px;
}
.davima-pers__card-title { margin: 0 0 2px; font-size: 1.05rem; line-height: 1.3; }
.davima-pers__card-intro { margin: 0; font-size: 0.92rem; color: #6A5C55; line-height: 1.4; }
.davima-pers__status {
	margin-left: auto;
	font-size: 0.82rem;
	color: #2F8E55;
	opacity: 0;
	transition: opacity .25s;
	white-space: nowrap;
}
.davima-pers__status.is-saving { color: #888; opacity: 1; }
.davima-pers__status.is-saved { color: #2F8E55; opacity: 1; }
.davima-pers__status.is-error { color: #C44; opacity: 1; }

.davima-pers__fields { display: flex; flex-direction: column; gap: 14px; }
.davima-pers__field { display: flex; flex-direction: column; gap: 6px; }
.davima-pers__label { font-weight: 600; color: #2A1F1A; font-size: 0.95rem; }
.davima-pers__req { color: #C44; }
.davima-pers__help { margin: 0; font-size: 0.85rem; color: #6A5C55; line-height: 1.4; }

.davima-pers__input {
	width: 100%;
	padding: 11px 14px;
	border: 1.5px solid #E5D4C0;
	border-radius: 10px;
	background: #fff;
	font: inherit;
	color: #1F1A18;
	transition: border-color .15s;
}
.davima-pers__input:focus {
	outline: none;
	border-color: #FF6B9D;
	box-shadow: 0 0 0 3px rgba(255,107,157,.15);
}
.davima-pers__textarea { resize: vertical; min-height: 92px; }
.davima-pers__date { width: auto; min-width: 180px; }

/* Photo dropzone */
.davima-pers__photos { display: flex; flex-direction: column; gap: 12px; }
.davima-pers__dropzone {
	border: 2px dashed #E5C8B0;
	border-radius: 14px;
	padding: 24px 20px;
	text-align: center;
	cursor: pointer;
	background: #FFFCF8;
	transition: background .2s, border-color .2s;
	position: relative;
}
.davima-pers__dropzone:hover,
.davima-pers__dropzone:focus,
.davima-pers__dropzone.is-drag {
	background: #FFF1E5;
	border-color: #FF6B9D;
	outline: none;
}
.davima-pers__drop-icon { color: #C49A7A; margin-bottom: 6px; }
.davima-pers__drop-title { margin: 0 0 4px; font-weight: 600; color: #2A1F1A; }
.davima-pers__drop-sub { margin: 0; font-size: 0.85rem; color: #6A5C55; }
.davima-pers__drop-sub [data-pers-counter] { font-weight: 600; color: #2A1F1A; }

.davima-pers__thumbs {
	list-style: none;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(96px, 1fr));
	gap: 10px;
	margin: 0;
	padding: 0;
}
.davima-pers__thumb {
	position: relative;
	aspect-ratio: 1 / 1;
	border-radius: 12px;
	overflow: hidden;
	background: #F4E6D6;
	border: 1px solid #E5D4C0;
}
.davima-pers__thumb.is-uploading { opacity: 0.5; }
.davima-pers__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.davima-pers__thumb-x {
	position: absolute;
	top: 4px;
	right: 4px;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	border: 0;
	background: rgba(0,0,0,0.65);
	color: #fff;
	cursor: pointer;
	font-size: 16px;
	line-height: 22px;
	font-weight: 700;
	padding: 0;
	display: grid;
	place-items: center;
}
.davima-pers__thumb-x:hover { background: #C44; }
.davima-pers__thumb-progress {
	position: absolute;
	left: 0; right: 0; bottom: 0;
	height: 3px;
	background: rgba(0,0,0,0.1);
}
.davima-pers__thumb-progress::after {
	content: "";
	position: absolute;
	left: 0; top: 0; bottom: 0;
	width: var(--p, 0%);
	background: #FF6B9D;
	transition: width .15s;
}

@media (max-width: 600px) {
	.davima-pers { padding: 20px 18px; border-radius: 18px; }
	.davima-pers__card { padding: 14px 14px 16px; }
	.davima-pers__card-head { flex-wrap: wrap; }
	.davima-pers__status { margin-left: 0; width: 100%; }
}
