/*
 * Gift certificate: recipient fields on the product page — VYDNA
 */

.vydna-cert-fields {
	margin: 0 0 clamp(1rem, 2.5vw, 1.5rem);
	padding: clamp(0.9rem, 2vw, 1.25rem);
	background: #fafafa;
	border: 1px solid #ececec;
	border-radius: 10px;
}

.vydna-cert-fields:empty {
	display: none;
	margin: 0;
	padding: 0;
	border: 0;
}

.vydna-cert-fields .vydna-cert-field {
	display: block;
	margin: 0 0 0.85rem;
	padding: 0;
	width: 100%;
	float: none;
}

.vydna-cert-fields .vydna-cert-field:last-child {
	margin-bottom: 0;
}

.vydna-cert-fields label {
	display: block;
	margin-bottom: 6px;
	font-family: var(--vydna-font-sans, 'DM Sans', system-ui, sans-serif);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 1.3;
	color: #5c5c5c;
}

.vydna-cert-fields .required {
	text-decoration: none;
	color: #b84d4d;
}

.vydna-cert-fields .woocommerce-input-wrapper {
	display: block;
	width: 100%;
}

.vydna-cert-fields input[type="text"],
.vydna-cert-fields input[type="email"],
.vydna-cert-fields input[type="date"],
.vydna-cert-fields input[type="datetime-local"],
.vydna-cert-fields textarea {
	width: 100%;
	min-height: 48px;
	padding: 10px 14px;
	font-family: var(--vydna-font-sans, 'DM Sans', system-ui, sans-serif);
	font-size: 15px;
	color: #1a1a1a;
	background: #fff;
	border: 1px solid #e0e0e0;
	border-radius: 8px;
	box-sizing: border-box;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.vydna-cert-fields textarea {
	min-height: 96px;
	line-height: 1.45;
	resize: vertical;
}

.vydna-cert-fields input[type="text"]:focus,
.vydna-cert-fields input[type="email"]:focus,
.vydna-cert-fields input[type="date"]:focus,
.vydna-cert-fields input[type="datetime-local"]:focus,
.vydna-cert-fields textarea:focus {
	outline: none;
	border-color: #1a1a1a;
	box-shadow: 0 0 0 1px #1a1a1a;
}

.vydna-cert-fields .fc-counter-wrapper {
	font-family: var(--vydna-font-sans, 'DM Sans', system-ui, sans-serif);
	font-size: 12px;
	color: #8a8a8a;
}

/* Recipient data shown next to the item in cart, checkout and order views. */
.woocommerce-cart .vydna-cart__item-meta .wc-item-meta,
.woocommerce-checkout .wc-item-meta {
	margin: 0.35rem 0 0;
	padding: 0;
	list-style: none;
	font-size: 12px;
	line-height: 1.45;
	color: #6b6b6b;
}

.woocommerce-cart .vydna-cart__item-meta .wc-item-meta p,
.woocommerce-checkout .wc-item-meta p {
	display: inline;
	margin: 0;
}

/* Mobile PDP: the summary turns into a grid, keep the fields on their own first row. */
@media (max-width: 768px) {
	.vydna-pdp:not(.product-type-variable) .vydna-pdp__summary-bottom:has(.vydna-cert-fields) .vydna-cert-fields {
		grid-column: 1 / -1;
		grid-row: 1;
		min-width: 0;
	}

	.vydna-pdp:not(.product-type-variable) .vydna-pdp__summary-bottom:has(.vydna-cert-fields) .vydna-cert-fields textarea,
	.vydna-pdp:not(.product-type-variable) .vydna-pdp__summary-bottom:has(.vydna-cert-fields) .vydna-cert-fields input {
		min-width: 0;
	}

	.vydna-pdp:not(.product-type-variable) .vydna-pdp__summary-bottom:has(.vydna-cert-fields) .vydna-pdp__price-before-cart,
	.vydna-pdp:not(.product-type-variable) .vydna-pdp__summary-bottom:has(.vydna-cert-fields) form.cart:not(.variations_form) .vydna-pdp__cta-row .vydna-pdp-qty-wrap {
		grid-row: 2;
	}

	.vydna-pdp:not(.product-type-variable) .vydna-pdp__summary-bottom:has(.vydna-cert-fields) form.cart:not(.variations_form) .vydna-pdp__cta-row .single_add_to_cart_button,
	.vydna-pdp:not(.product-type-variable) .vydna-pdp__summary-bottom:has(.vydna-cert-fields) form.cart:not(.variations_form) .vydna-pdp__cta-row .vydna-pdp__fav {
		grid-row: 3;
	}
}

.vydna-cert-fields__note {
	margin: 0 0 14px;
	font-family: var(--vydna-font-sans, 'DM Sans', system-ui, sans-serif);
	font-size: 13px;
	line-height: 1.5;
	color: #5c5c5c;
}

.vydna-cert-fields .optional {
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
	color: #8a8a8a;
}

.vydna-cert-field__hint {
	display: block;
	margin-top: 6px;
	font-size: 12px;
	line-height: 1.4;
	color: #8a8a8a;
}

/* Поле даты: системный виджет выглядит чужим, поэтому у него наша рамка и своя иконка. */
.vydna-cert-date {
	position: relative;
	display: block;
}

.vydna-cert-date__input {
	width: 100%;
	padding-right: 44px;
	appearance: none;
	-webkit-appearance: none;
}

.vydna-cert-date__input::-webkit-calendar-picker-indicator {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	padding: 0;
	margin: 0;
	opacity: 0;
	cursor: pointer;
}

.vydna-cert-date__input::-webkit-datetime-edit {
	color: #1a1a1a;
}

.vydna-cert-date__input:invalid::-webkit-datetime-edit,
.vydna-cert-date__input:not(:valid)::-webkit-datetime-edit {
	color: #9a9a9a;
}

.vydna-cert-date__icon {
	position: absolute;
	top: 50%;
	right: 14px;
	transform: translateY(-50%);
	display: flex;
	color: #8a8a8a;
	pointer-events: none;
}

.vydna-cert-field__req {
	margin-left: 4px;
	color: #8d182f;
}
