.nc-gift-options {
	margin: 18px 0 16px;
	padding: 16px;
	border: 1px solid #e5e7eb;
	border-radius: 16px;
	background: #fff;
}

.nc-gift-options__title {
	margin: 0 0 4px;
	font-size: 18px;
	line-height: 1.3;
	color: #101828;
}

.nc-gift-options__intro {
	margin: 0 0 14px;
	font-size: 14px;
	color: #6b7280;
}

.nc-gift-options__items {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.nc-gift-option-shell {
	border: 1px solid #e5e7eb;
	border-radius: 14px;
	padding: 12px;
	background: #fff;
	transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
	cursor: pointer;
}

.nc-gift-option-shell.is-selected {
	border-color: #53b8a7;
	background: #f4fbf9;
	box-shadow: 0 0 0 3px rgba(83, 184, 167, 0.08) inset;
}

.nc-gift-option-shell input,
.nc-gift-option-shell textarea,
.nc-gift-option-shell select,
.nc-gift-option-shell button,
.nc-gift-option-shell a,
.nc-gift-option-shell label {
	cursor: auto;
	display: flex !important
}

.nc-gift-option-shell .gift-wrapping,
.nc-gift-option-shell .wwcf-product-page-card-option {
	margin: 0;
}

.nc-gift-option-shell .gift-wrapping {
	padding-top: 0 !important;
	clear: none !important;
}

/* Gift wrap normalized label */
.nc-gift-wrap-label {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	width: 100%;
	color: #364153;
	font-size: 15px;
	line-height: 1.4;
}

.nc-gift-wrap-checkbox {
	flex: 0 0 auto;
	margin: 0 !important;
}

/* Gift card normalized label */
.nc-gift-card-label,
.wwcf-product-page-card-option__label {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	width: 100%;
	margin: 0;
	color: #364153;
	font-size: 15px;
	line-height: 1.4;
}

/* Shared option rows */
.nc-gift-wrap-label,
.nc-gift-card-label,
.wwcf-product-page-card-option__label {
	display: grid;
	grid-template-columns: 20px 18px 1fr;
	align-items: center;
	column-gap: 12px;
	width: 100%;
	margin: 0;
	color: #364153;
	font-size: 14px;
	line-height: 1.35;
}

/* Shared checkbox styles */
.nc-gift-wrap-checkbox,
.wwcf-product-page-card-option__checkbox {
	margin: 0 !important;
	width: 18px;
	height: 18px;
}

.nc-gift-wrap-icon,
.nc-gift-card-icon {
	display: block;
	width: 18px;
	height: 18px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	pointer-events: none;
}

.nc-gift-wrap-icon {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23e78376' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='8' width='18' height='4' rx='1'/%3E%3Cpath d='M12 8v13'/%3E%3Cpath d='M19 12v7a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2v-7'/%3E%3Cpath d='M7.5 8a2.5 2.5 0 0 1 0-5A4.8 8 0 0 1 12 8a4.8 8 0 0 1 4.5-5 2.5 2.5 0 0 1 0 5'/%3E%3C/svg%3E");
}

.nc-gift-card-icon {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23e78376' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 19h16'/%3E%3Cpath d='M5 5h14a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2Z'/%3E%3Cpath d='M7 9h10'/%3E%3Cpath d='M7 13h6'/%3E%3C/svg%3E");
}

.nc-gift-wrap-label-text,
.nc-gift-card-label-text,
.wwcf-product-page-card-option__label-text {
	display: block;
	min-width: 0;
	font-size: 14px;
	line-height: 1.35;
	color: #1f2a37;
	font-weight: 600;
}

.nc-gift-wrap-label-text .woocommerce-Price-amount,
.nc-gift-card-label-text .woocommerce-Price-amount,
.wwcf-product-page-card-option__label-text .woocommerce-Price-amount {
	white-space: nowrap;
}

/* Card message area */
.nc-gift-card-helper {
	margin: 0 0 10px;
	font-size: 13px;
	color: #6b7280;
	line-height: 1.45;
}

.nc-gift-card-enhanced .wwcf-product-page-card-message,
.nc-gift-card-enhanced [data-wwcf-role="message"] {
	margin-top: 10px;
	padding-top: 10px;
	border-top: 1px solid #edf0f2;
}

.nc-gift-card-enhanced .wwcf-product-page-card-input-row {
	display: flex;
	align-items: flex-start;
	gap: 10px;
}

.nc-gift-card-enhanced .wwcf-product-page-card-thumb {
	flex: 0 0 54px;
	width: 54px;
}

.nc-gift-card-enhanced .wwcf-product-page-card-thumb img,
.nc-gift-card-enhanced .wwcf-product-page-card-thumb picture,
.nc-gift-card-enhanced .wwcf-product-page-card-thumb picture img {
	display: block;
	width: 54px;
	height: 54px;
	object-fit: cover;
	border-radius: 8px;
}

.nc-gift-options__items input {
	top: 0px !important;
}

.nc-gift-card-enhanced .wwcf-product-page-card-input {
	flex: 1 1 auto;
	min-width: 0;
}

.nc-gift-card-enhanced .wwcf-product-page-card-input__label {
	display: block;
	margin-bottom: 6px;
	font-size: 13px;
	font-weight: 600;
	color: #364153;
	line-height: 1.3;
}

.nc-gift-card-enhanced input[name="wwcf_product_page_card_message"],
.nc-gift-card-enhanced .wwcf-product-page-card-input input,
.nc-gift-card-enhanced .wwcf-product-page-card-input textarea {
	display: block;
	width: 100%;
	min-width: 0;
	height: 44px;
	padding: 10px 12px;
	border: 1px solid #d7dce2;
	border-radius: 10px;
	background: #fff;
	color: #101828;
	font-size: 14px;
	line-height: 1.3;
}

.nc-gift-card-enhanced .wwcf-counter {
	display: block;
	margin-top: 6px;
	font-size: 12px;
	color: #6b7280;
}

/* Existing product area styling moved from Elementor */
.add-to-cart-wrap {
	width: 100%;
}

.add-to-cart-wrap .product_quote {
	display: none;
}

.add-to-cart-wrap .nc_delivery_info {
	display: none;
}

.add-to-cart-wrap .cart .quantity {
	display: inline-block !important;
}

.woocommerce div.product .add-to-cart-wrap form.cart div.quantity {
	float: none;
}

.add-to-cart-wrap form.cart {
	display: block !important;
}

.woocommerce-variation-add-to-cart {
	display: block !important;
}

.add-to-cart-wrap .quantity.custom {
	border: 1px solid #d1d5dc;
	margin: 0 !important;
	border-radius: 10px;
	padding-left: 40px;
	padding-right: 40px;
	position: relative;
	margin-top: 16px !important;
	height: 40px !important;
	margin-left: 60px !important;
}

.add-to-cart-wrap .quantity.custom::before {
	content: 'Aantal:';
	display: block;
	position: absolute;
	left: -60px;
	top: 50%;
	transform: translateY(-50%);
	color: #364153;
}

.add-to-cart-wrap .custom-qty {
	border-left: 1px solid #d1d5dc !important;
	border-right: 1px solid #d1d5dc !important;
	height: 40px !important;
}

.add-to-cart-wrap a.minus-btn {
	position: absolute;
	left: 13px;
	top: 50%;
	transform: translateY(-50%);
}

.add-to-cart-wrap a.plus-btn {
	position: absolute;
	right: 13px;
	top: 50%;
	transform: translateY(-50%);
}

.product-total-wrapper {
	display: block !important;
	background-color: #f9fafb;
	padding: 16px;
	margin-bottom: 16px;
	border-radius: 10px;
}

.product-total-wrapper .product-total {
	margin: 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
	color: #364153;
	font-weight: 600;
}

.product-total-wrapper .total-price {
	font-size: 20px;
	color: #101828;
}

.grouped-product-total-wrapper {
	display: block !important;
	background-color: #f9fafb;
	padding: 16px;
	margin-bottom: 16px;
	border-radius: 10px;
}

.grouped-product-total-wrapper .product-total {
	margin: 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
	color: #364153;
}

.grouped-product-total-wrapper .total-price {
	font-size: 20px;
	color: #101828;
}

.woocommerce .add-to-cart-wrap button.single_add_to_cart_button.button {
	background-color: #4db5a2;
	font-weight: 500 !important;
	font-size: 0 !important;
	height: 50px;
	line-height: 48px;
	padding: 0 !important;
	text-transform: capitalize;
	border-radius: 8px !important;
	width: 100%;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: baseline;
	margin: 0 !important;
}

.woocommerce .add-to-cart-wrap button.single_add_to_cart_button.button::before {
	content: "";
	display: inline-block;
	width: 18px;
	height: 18px;
	background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9IiNmZmYiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBjbGFzcz0ibHVjaWRlIGx1Y2lkZS1zaG9wcGluZy1jYXJ0LWljb24gbHVjaWRlLXNob3BwaW5nLWNhcnQiPjxjaXJjbGUgY3g9IjgiIGN5PSIyMSIgcj0iMSIvPjxjaXJjbGUgY3g9IjE5IiBjeT0iMjEiIHI9IjEiLz48cGF0aCBkPSJNMi4wNSAyLjA1aDJsMi42NiAxMi40MmEyIDIgMCAwIDAgMiAxLjU4aDkuNzhhMiAyIDAgMCAwIDEuOTUtMS41N2wxLjY1LTcuNDNINS4xMiIvPjwvc3ZnPg==") no-repeat center;
	background-size: contain;
	margin-right: 8px;
}

.woocommerce .add-to-cart-wrap button.single_add_to_cart_button.button::after {
	content: 'Voeg toe aan winkelmandje';
	font-size: 18px !important;
	margin-left: 8px;
	text-transform: none;
}

body.is-personalised-sku .woocommerce .add-to-cart-wrap button.single_add_to_cart_button.button::after {
	content: 'Start je ontwerp' !important;
}

.woocommerce .add-to-cart-wrap button.single_add_to_cart_button.button:hover {
	background-color: #148d77;
}

.grouped_form .woocommerce-grouped-product-list-item__quantity {
	display: none;
}

.elementor-product-grouped .group_table tr td {
	font-size: 1rem;
	padding-bottom: 13px !important;
	padding-top: 13px !important;
	text-align: left;
	vertical-align: middle !important;
}

.woocommerce div.product form.cart .group_table td.woocommerce-grouped-product-list-item__thumb {
	width: 80px;
	padding: 0;
}

/* Responsive adjustments */
@media (max-width: 767px) {
	.nc-gift-options {
		padding: 14px;
		border-radius: 14px;
	}

	.nc-gift-option-shell {
		padding: 12px;
	}

	.nc-gift-wrap-label,
	.nc-gift-card-label,
	.wwcf-product-page-card-option__label {
		grid-template-columns: 18px 16px 1fr;
		column-gap: 10px;
		font-size: 13px;
	}

	.nc-gift-wrap-checkbox,
	.wwcf-product-page-card-option__checkbox {
		width: 16px;
		height: 16px;
	}

	.nc-gift-wrap-icon,
	.nc-gift-card-icon {
		width: 16px;
		height: 16px;
	}

	.nc-gift-wrap-label-text,
	.nc-gift-card-label-text,
	.wwcf-product-page-card-option__label-text {
		font-size: 13px;
		line-height: 1.3;
	}

	.nc-gift-card-enhanced .wwcf-product-page-card-input-row {
		align-items: flex-start;
		gap: 10px;
	}

	.nc-gift-card-enhanced .wwcf-product-page-card-thumb {
		flex: 0 0 48px;
		width: 48px;
	}

	.nc-gift-card-enhanced .wwcf-product-page-card-thumb img,
	.nc-gift-card-enhanced .wwcf-product-page-card-thumb picture,
	.nc-gift-card-enhanced .wwcf-product-page-card-thumb picture img {
		width: 48px;
		height: 48px;
	}

	.nc-gift-card-enhanced input[name="wwcf_product_page_card_message"],
	.nc-gift-card-enhanced .wwcf-product-page-card-input input,
	.nc-gift-card-enhanced .wwcf-product-page-card-input textarea {
		height: 42px;
		font-size: 13px;
		padding: 9px 10px;
	}

	.nc-gift-card-enhanced .wwcf-counter {
		font-size: 11px;
		margin-top: 5px;
	}
}