:root {
	--noss-gc-green: #2f7d59;
	--noss-gc-green-dark: #205f42;
	--noss-gc-green-soft: #eef7f1;
	--noss-gc-ink: #202124;
	--noss-gc-muted: #62676f;
	--noss-gc-line: rgba(32, 33, 36, 0.13);
	--noss-gc-shadow: 0 8px 28px rgba(20, 31, 51, 0.08);
}

.gift-cards_form *,
.gift-cards_form *::before,
.gift-cards_form *::after {
	box-sizing: border-box;
}

.gift-cards_form .noss-ywgc-source-hidden,
.gift-cards_form .noss-ywgc-source-hidden[aria-hidden="true"] {
	display: none !important;
}

.gift-cards_form .noss-ywgc-details {
	display: flex !important;
	flex-direction: column;
	gap: 16px;
	width: 100%;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
}

.gift-cards_form .noss-ywgc-details .ywgc-single-recipient {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	width: 100%;
	margin: 0 !important;
}

.gift-cards_form .noss-ywgc-details .ywgc-recipient-name,
.gift-cards_form .noss-ywgc-details .ywgc-recipient-email,
.gift-cards_form .noss-ywgc-details .ywgc-message,
.gift-cards_form .noss-ywgc-details .ywgc-sender-name,
.gift-cards_form .noss-ywgc-details .ywgc-postdated {
	float: none !important;
	clear: both !important;
	width: 100% !important;
	min-width: 0;
	margin: 0 !important;
	padding: 18px !important;
	border: 1px solid var(--noss-gc-line);
	border-radius: 16px;
	background: #fff;
	box-shadow: var(--noss-gc-shadow);
}

.gift-cards_form .noss-ywgc-details .ywgc-send-and-delivery-container {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) !important;
	gap: 16px;
	width: 100%;
	margin: 0 !important;
}

.gift-cards_form .noss-ywgc-details .ywgc-sender-name {
	order: 1;
}

.gift-cards_form .noss-ywgc-details .ywgc-postdated {
	order: 2;
}

.gift-cards_form .noss-ywgc-details label,
.gift-cards_form .noss-ywgc-details .ywgc-label {
	display: block;
	margin: 0 0 8px !important;
	color: var(--noss-gc-ink);
	font-size: 0.86rem;
	font-weight: 700;
	line-height: 1.35;
}

.gift-cards_form .noss-ywgc-details input[type="text"],
.gift-cards_form .noss-ywgc-details input[type="email"],
.gift-cards_form .noss-ywgc-details textarea,
.gift-cards_form .noss-ywgc-details select,
.noss-ywgc-custom-amount-input {
	width: 100% !important;
	min-height: 46px;
	margin: 0 !important;
	padding: 10px 12px !important;
	border: 1px solid #c7cbd1 !important;
	border-radius: 10px !important;
	background-color: #fff !important;
	box-shadow: none !important;
	color: var(--noss-gc-ink) !important;
	font-size: 0.95rem !important;
}

.gift-cards_form .noss-ywgc-details textarea {
	min-height: 112px;
	resize: vertical;
}

.gift-cards_form .noss-ywgc-details input:focus,
.gift-cards_form .noss-ywgc-details textarea:focus,
.gift-cards_form .noss-ywgc-details select:focus,
.noss-ywgc-custom-amount-input:focus {
	border-color: var(--noss-gc-green) !important;
	outline: 3px solid rgba(47, 125, 89, 0.16) !important;
	outline-offset: 1px;
}

.ywgc-postdated.noss-ywgc-managed-ui > label[for="ywgc-delivery-date"] {
	display: none !important;
}

.noss-ywgc-scheduler {
	width: 100%;
	margin: 0;
	padding: 0;
	background: transparent;
}

.noss-ywgc-scheduler__title {
	margin-bottom: 14px;
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.35;
	color: var(--noss-gc-ink);
}

.noss-ywgc-scheduler__fields {
	display: grid;
	grid-template-columns: repeat(5, minmax(72px, 1fr));
	gap: 10px;
	margin-top: 12px;
}

.noss-ywgc-scheduler__fields[hidden],
.noss-ywgc-choice__panel[hidden] {
	display: none !important;
}

.noss-ywgc-field {
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: 6px;
	margin: 0;
}

.noss-ywgc-field__label {
	font-size: 0.78rem;
	font-weight: 650;
	line-height: 1.2;
	color: var(--noss-gc-muted);
}

.noss-ywgc-field select {
	width: 100%;
	min-height: 44px;
	margin: 0;
	padding: 8px 34px 8px 11px;
	border: 1px solid #c7cbd1;
	border-radius: 10px;
	background-color: #fff;
	color: var(--noss-gc-ink);
	font-size: 0.95rem;
}

.noss-ywgc-field select:focus {
	border-color: var(--noss-gc-green);
	outline: 3px solid rgba(47, 125, 89, 0.16);
	outline-offset: 1px;
}

.noss-ywgc-scheduler > .noss-ywgc-field:first-of-type {
	max-width: 360px;
}

.noss-ywgc-scheduler__summary {
	margin: 14px 0 0;
	padding: 11px 12px;
	border-radius: 10px;
	background: var(--noss-gc-green-soft);
	color: #315b3d;
	font-size: 0.9rem;
	font-weight: 600;
	line-height: 1.45;
}

.noss-ywgc-choice {
	width: 100%;
	margin: 20px 0 0;
	padding: 20px;
	border: 1px solid var(--noss-gc-line);
	border-radius: 18px;
	background: #fff;
	box-shadow: var(--noss-gc-shadow);
}

.noss-ywgc-choice__heading h3 {
	margin: 0;
	color: var(--noss-gc-ink);
	font-size: 1.25rem;
	line-height: 1.3;
}

.noss-ywgc-choice__heading p {
	margin: 7px 0 0;
	color: var(--noss-gc-muted);
	font-size: 0.94rem;
}

.noss-ywgc-choice__tabs {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin: 18px 0;
}

.noss-ywgc-choice__tab {
	display: flex;
	min-height: 92px;
	flex-direction: column;
	justify-content: center;
	gap: 5px;
	width: 100%;
	margin: 0 !important;
	padding: 14px 16px !important;
	border: 1px solid #d2d6da !important;
	border-radius: 14px !important;
	background: #fff !important;
	box-shadow: none !important;
	color: var(--noss-gc-ink) !important;
	text-align: left;
	cursor: pointer;
	transition: border-color 0.15s ease, background-color 0.15s ease, transform 0.15s ease;
}

.noss-ywgc-choice__tab:hover,
.noss-ywgc-choice__tab:focus {
	border-color: var(--noss-gc-green) !important;
	outline: none;
}

.noss-ywgc-choice__tab.is-active {
	border-color: var(--noss-gc-green) !important;
	background: var(--noss-gc-green-soft) !important;
	box-shadow: inset 0 0 0 1px var(--noss-gc-green) !important;
}

.noss-ywgc-choice__tab strong {
	font-size: 0.96rem;
	line-height: 1.35;
}

.noss-ywgc-choice__tab span {
	color: var(--noss-gc-muted);
	font-size: 0.8rem;
	font-weight: 500;
	line-height: 1.4;
}

.noss-ywgc-choice__panel {
	padding-top: 3px;
}

.noss-ywgc-choice__panel--custom {
	max-width: 540px;
	padding: 18px;
	border: 1px solid var(--noss-gc-line);
	border-radius: 14px;
	background: #fafcfb;
}

.noss-ywgc-custom-amount__label {
	display: block;
	margin: 0 0 8px;
	color: var(--noss-gc-ink);
	font-size: 0.9rem;
	font-weight: 700;
}

.noss-ywgc-custom-amount__control {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	border: 1px solid #c7cbd1;
	border-radius: 12px;
	background: #fff;
	overflow: hidden;
}

.noss-ywgc-custom-amount__control:focus-within {
	border-color: var(--noss-gc-green);
	outline: 3px solid rgba(47, 125, 89, 0.16);
	outline-offset: 1px;
}

.noss-ywgc-custom-amount__currency,
.noss-ywgc-custom-amount__code {
	padding: 0 13px;
	color: var(--noss-gc-green-dark);
	font-size: 0.9rem;
	font-weight: 800;
}

.noss-ywgc-custom-amount-input {
	min-width: 0;
	border: 0 !important;
	border-radius: 0 !important;
	outline: 0 !important;
}

.noss-ywgc-custom-amount__help {
	margin: 9px 0 0;
	color: var(--noss-gc-muted);
	font-size: 0.82rem;
	line-height: 1.45;
}

.noss-ywgc-choice #yith-wapo-container,
.noss-ywgc-choice #yith-wapo-block-1 {
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

.noss-ywgc-choice .yith-wapo-addon {
	width: 100%;
	margin: 0 0 14px !important;
	padding: 16px !important;
	border: 1px solid var(--noss-gc-line);
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 4px 16px rgba(20, 31, 51, 0.05);
}

.noss-ywgc-choice .yith-wapo-addon:last-child {
	margin-bottom: 0 !important;
}

.noss-ywgc-choice .addon-header {
	margin: 0 0 12px !important;
	padding: 0 !important;
}

.noss-ywgc-choice .wapo-addon-title {
	margin: 0 !important;
	color: var(--noss-gc-green-dark) !important;
	font-size: 1.02rem !important;
	font-weight: 750 !important;
	line-height: 1.35 !important;
}

.noss-ywgc-choice .options-container {
	margin: 0 !important;
	padding: 0 !important;
}

.noss-ywgc-choice .options-container > .options {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 9px !important;
	width: 100% !important;
	margin: 0 !important;
}

.noss-ywgc-choice .yith-wapo-option {
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 1px solid transparent;
	border-radius: 11px;
	background: #f7f8f8;
	transition: border-color 0.15s ease, background-color 0.15s ease;
}

.noss-ywgc-choice .yith-wapo-option:hover,
.noss-ywgc-choice .yith-wapo-option.noss-ywgc-option-selected {
	border-color: rgba(47, 125, 89, 0.55);
	background: var(--noss-gc-green-soft);
}

.noss-ywgc-choice .yith-wapo-option .checkboxbutton-container,
.noss-ywgc-choice .yith-wapo-option .checkbox-button-container,
.noss-ywgc-choice .yith-wapo-option label {
	display: flex !important;
	align-items: flex-start;
	gap: 9px;
	width: 100% !important;
	min-height: 54px;
	margin: 0 !important;
	padding: 11px 12px !important;
	cursor: pointer;
}

.noss-ywgc-choice .yith-wapo-option input[type="checkbox"] {
	flex: 0 0 auto;
	width: 18px !important;
	height: 18px !important;
	margin: 1px 0 0 !important;
	accent-color: var(--noss-gc-green);
}

.noss-ywgc-choice .yith-wapo-option .option-label,
.noss-ywgc-choice .yith-wapo-option .option-description {
	line-height: 1.4;
}

.noss-ywgc-choice #wapo-total-price-table {
	display: none !important;
}

.noss-ywgc-total-card {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	width: 100%;
	margin: 16px 0;
	padding: 16px 18px;
	border: 1px solid rgba(47, 125, 89, 0.32);
	border-radius: 14px;
	background: var(--noss-gc-green-soft);
	color: var(--noss-gc-green-dark);
}

.noss-ywgc-total-card__label {
	font-size: 0.93rem;
	font-weight: 700;
}

.noss-ywgc-total-card__amount {
	font-size: 1.25rem;
	line-height: 1;
	white-space: nowrap;
}

.gift-cards_form .gift_card_template_button.variations_button {
	width: 100%;
}

.gift-cards_form button.gift_card_add_to_cart_button {
	min-height: 48px;
	padding: 12px 20px !important;
	border-radius: 10px !important;
}

button.gift_card_add_to_cart_button.noss-ywgc-zero-disabled,
button.gift_card_add_to_cart_button.noss-ywgc-zero-disabled:hover,
button.gift_card_add_to_cart_button.noss-ywgc-zero-disabled:focus {
	cursor: not-allowed !important;
	opacity: 0.5 !important;
	pointer-events: none !important;
}

.noss-ywgc-zero-amount-notice {
	margin: 9px 0 0;
	color: #9b2c2c;
	font-size: 0.88rem;
	font-weight: 600;
	line-height: 1.4;
}

.noss-ywgc-zero-amount-notice[hidden] {
	display: none !important;
}

@media (max-width: 900px) {
	.noss-ywgc-choice .options-container > .options {
		grid-template-columns: minmax(0, 1fr) !important;
	}
}

@media (max-width: 720px) {
	.gift-cards_form .noss-ywgc-details .ywgc-single-recipient,
	.noss-ywgc-choice__tabs {
		grid-template-columns: minmax(0, 1fr);
	}

	.gift-cards_form .noss-ywgc-details .ywgc-recipient-name,
	.gift-cards_form .noss-ywgc-details .ywgc-recipient-email,
	.gift-cards_form .noss-ywgc-details .ywgc-message,
	.gift-cards_form .noss-ywgc-details .ywgc-sender-name,
	.gift-cards_form .noss-ywgc-details .ywgc-postdated,
	.noss-ywgc-choice {
		padding: 15px !important;
	}

	.noss-ywgc-choice__tab {
		min-height: 78px;
	}

	.noss-ywgc-scheduler__fields {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.noss-ywgc-field:nth-child(3) {
		grid-column: 1 / -1;
	}

	.noss-ywgc-total-card {
		align-items: flex-start;
		flex-direction: column;
		gap: 7px;
	}
}
