/* ================================================
   Chaihut Gift Cards, Frontend Styles
   ================================================ */

:root {
	--chai-green: #0B4A3B;
	--chai-green-2: #0E5A47;
	--chai-gold: #C79A3A;
	--chai-gold-soft: #E2C98A;
	--chai-cream: #F8F5F0;
	--chai-surface: #FCFAF7;
	--chai-border: #E7DED2;
	--chai-dark: #12100E;
	--chai-text: #2B2723;
	--chai-muted: #6F6A63;
	--chai-success-bg: #EEF7F1;
	--chai-success-border: #7FB38D;
	--chai-success-text: #1E4B35;
	--chai-error-bg: #FFF4F2;
	--chai-error-border: #D97C6F;
	--chai-error-text: #8D2F25;
	--chai-shadow-soft: 0 8px 24px rgba(18, 16, 14, 0.06);
	--chai-shadow-selected: 0 0 0 3px rgba(11, 74, 59, 0.10);
}

/* Wrap */
.chaihut-gc-wrap {
	max-width: 1480px;
	margin: 0 auto;
	padding: 20px 0;
	font-family: inherit;
	color: var(--chai-text, #2B2723);
}

/* ================================================
   Sticky Safety, only around this shortcode
   ================================================ */
.elementor-shortcode > .chaihut-gc-wrap,
.elementor-shortcode > .chaihut-gc-wrap .chaihut-gc-page-panel,
.elementor-shortcode > .chaihut-gc-wrap .chaihut-gc-form,
.elementor-shortcode > .chaihut-gc-wrap .chaihut-gc-buy-layout,
.elementor-shortcode > .chaihut-gc-wrap .chaihut-gc-buy-layout-left,
.elementor-shortcode > .chaihut-gc-wrap .chaihut-gc-buy-layout-right {
	overflow: visible !important;
}

.elementor-shortcode > .chaihut-gc-wrap .chaihut-gc-buy-layout-left {
	--chaihut-sticky-header-offset: 120px;
	position: sticky !important;
	position: -webkit-sticky !important;
	top: calc(var(--chaihut-sticky-header-offset, 120px) + 24px) !important;
	align-self: start !important;
	height: -webkit-fit-content;
	height: -moz-fit-content;
	height: fit-content;
	z-index: 3;
}

.elementor-shortcode > .chaihut-gc-wrap .chaihut-gc-panel-intro {
	position: relative !important;
	top: auto !important;
	max-height: none !important;
	overflow: visible !important;
}

/* ================================================
   Shared control reset
   ================================================ */
.chaihut-gc-page-tab,
.chaihut-gc-tab,
.chaihut-gc-time-btn,
.chaihut-gc-btn-primary {
	appearance: none;
	-webkit-appearance: none;
	box-sizing: border-box;
}

.chaihut-gc-design-card,
.chaihut-gc-amount-btn {
	all: unset;
	box-sizing: border-box;
}

/* ================================================
   Shared pill buttons
   ================================================ */
.chaihut-gc-page-tab,
.chaihut-gc-tab,
.chaihut-gc-time-btn {
	background-color: #FFFFFF;
	border: 1px solid #0B4A3B;
	border-radius: 999px;
	font-size: 16px;
	font-weight: 600;
	line-height: 1;
	color: #0B4A3B;
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.chaihut-gc-page-tab:hover,
.chaihut-gc-page-tab:focus-visible,
.chaihut-gc-tab:hover,
.chaihut-gc-tab:focus-visible,
.chaihut-gc-time-btn:hover,
.chaihut-gc-time-btn:focus-visible {
	background-color: #F2F7F6;
	border-color: #0B4A3B;
	color: #0B4A3B;
	outline: none;
}

.chaihut-gc-page-tab.active,
.chaihut-gc-page-tab[aria-selected="true"],
.chaihut-gc-tab.active,
.chaihut-gc-tab[aria-selected="true"],
.chaihut-gc-time-btn.active,
.chaihut-gc-time-btn[aria-pressed="true"] {
	background-color: #0B4A3B;
	border-color: #0B4A3B;
	color: #FFFFFF;
}

.chaihut-gc-page-tab.active:hover,
.chaihut-gc-page-tab[aria-selected="true"]:hover,
.chaihut-gc-page-tab.active:focus-visible,
.chaihut-gc-page-tab[aria-selected="true"]:focus-visible,
.chaihut-gc-tab.active:hover,
.chaihut-gc-tab[aria-selected="true"]:hover,
.chaihut-gc-tab.active:focus-visible,
.chaihut-gc-tab[aria-selected="true"]:focus-visible,
.chaihut-gc-time-btn.active:hover,
.chaihut-gc-time-btn[aria-pressed="true"]:hover,
.chaihut-gc-time-btn.active:focus-visible,
.chaihut-gc-time-btn[aria-pressed="true"]:focus-visible {
	background-color: #0C523F;
	border-color: #0C523F;
	color: #FFFFFF;
	outline: none;
}

/* ================================================
   Page Tabs, New Top Structure
   ================================================ */
.chaihut-gc-page-tabs-wrap {
	max-width: 100%;
}

.chaihut-gc-page-tabs {
	display: flex;
	gap: 8px;
	margin: 0 0 36px 0;
	padding: 0;
	border-bottom: 0;
}

.chaihut-gc-page-tab {
	position: relative;
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 12px 22px;
	box-shadow: none;
}

.chaihut-gc-page-tab-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 1rem;
	line-height: 1;
	opacity: 1;
	color: inherit;
	fill: inherit;
}

.chaihut-gc-page-tab-label {
	line-height: 1;
}

.chaihut-gc-page-tab.active,
.chaihut-gc-page-tab[aria-selected="true"] {
	fill: #FFFFFF;
}

.chaihut-gc-page-panel {
	display: none;
}

.chaihut-gc-page-panel.active {
	display: block;
}

.chaihut-gc-page-tabs > .chaihut-gc-page-tab[aria-selected="false"],
.chaihut-gc-page-tabs > .chaihut-gc-page-tab[aria-selected="false"]:focus-visible,
.chaihut-gc-page-tabs > .chaihut-gc-page-tab[aria-selected="false"]:active {
	background-color: #FFFFFF !important;
	border-color: #0B4A3B !important;
	color: #0B4A3B !important;
	opacity: 1 !important;
}

.chaihut-gc-page-tabs > .chaihut-gc-page-tab[aria-selected="false"]:hover {
	background-color: #F2F7F6 !important;
	border-color: #0B4A3B !important;
	color: #0B4A3B !important;
	opacity: 1 !important;
}

.chaihut-gc-page-tabs > .chaihut-gc-page-tab[aria-selected="true"],
.chaihut-gc-page-tabs > .chaihut-gc-page-tab[aria-selected="true"]:active {
	background-color: #0B4A3B !important;
	border-color: #0B4A3B !important;
	color: #FFFFFF !important;
	fill: #FFFFFF !important;
	opacity: 1 !important;
}

.chaihut-gc-page-tabs > .chaihut-gc-page-tab[aria-selected="true"]:hover,
.chaihut-gc-page-tabs > .chaihut-gc-page-tab[aria-selected="true"]:focus-visible {
	background-color: #0C523F !important;
	border-color: #0C523F !important;
	color: #FFFFFF !important;
	fill: #FFFFFF !important;
	opacity: 1 !important;
}

/* ================================================
   New 2 Column Layouts
   ================================================ */
.chaihut-gc-buy-layout,
.chaihut-gc-balance-layout {
	display: grid;
	grid-template-columns: minmax(320px, 0.95fr) minmax(520px, 1.35fr);
	gap: 48px;
	align-items: start;
	margin-top: 6px;
}

.chaihut-gc-buy-layout-left,
.chaihut-gc-balance-layout-left,
.chaihut-gc-buy-layout-right,
.chaihut-gc-balance-layout-right {
	min-width: 0;
}

.chaihut-gc-panel-intro,
.chaihut-gc-balance-intro {
	max-width: 520px;
}

.chaihut-gc-panel-intro h2,
.chaihut-gc-balance-intro h2 {
	font-size: clamp(2.2rem, 4vw, 3.5rem);
	line-height: 1.04;
	font-weight: 700;
	letter-spacing: -0.03em;
	color: var(--chai-dark, #12100E);
	margin: 0 0 22px 0;
}

.chaihut-gc-panel-intro p,
.chaihut-gc-balance-intro p {
	margin: 0;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.55;
	letter-spacing: 0;
	color: #12100E;
	max-width: 620px;
}

.chaihut-gc-buy-layout-right .chaihut-gc-section:first-child,
.chaihut-gc-balance-layout-right .chaihut-gc-balance-form {
	background: transparent;
	border: 0;
	border-radius: 0;
	padding: 0;
	box-shadow: none;
}

/* Form reset */
.chaihut-gc-form {
	margin: 0;
}

/* Sections */
.chaihut-gc-section {
	background: transparent;
	border: 0;
	border-radius: 0;
	padding: 28px 0;
	margin-bottom: 24px;
	box-shadow: none;
}

.chaihut-gc-section h2 {
	font-size: 1.08rem;
	font-weight: 700;
	color: var(--chai-dark, #12100E);
	margin: 0 0 20px 0;
	padding-bottom: 0;
	border-bottom: 0;
	letter-spacing: 0.01em;
}

.elementor-shortcode > .chaihut-gc-wrap .chaihut-gc-buy-layout-right > .chaihut-gc-section > h2 {
	font-size: 25px !important;
	line-height: 1.4em !important;
	letter-spacing: -0.2px !important;
}

/* ================================================
   Design Cards
   ================================================ */
.chaihut-gc-designs {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 28px 24px;
	align-items: start;
	overflow: visible;
}

.chaihut-gc-design-card {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	justify-content: flex-start;
	width: 100%;
	background: transparent !important;
	border: 0 !important;
	border-radius: 18px !important;
	padding: 0 !important;
	margin: 0;
	cursor: pointer;
	transition: none;
	overflow: hidden;
	box-shadow: none !important;
	outline: none;
	text-align: left;
}

.chaihut-gc-design-card:hover,
.chaihut-gc-design-card:focus-visible,
.chaihut-gc-design-card:active,
.chaihut-gc-design-card.selected,
.chaihut-gc-design-card[aria-pressed="true"] {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	transform: none !important;
	box-shadow: none !important;
	outline: none;
}

.chaihut-gc-design-img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: auto;
	object-fit: contain;
	object-position: center top;
	border: 1px solid var(--chai-border, #E7DED2);
	border-radius: 18px !important;
	pointer-events: none;
	user-select: none;
	box-sizing: border-box;
	filter: grayscale(1) opacity(0.45);
	transition: filter 0.2s ease, opacity 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.chaihut-gc-design-card.selected .chaihut-gc-design-img,
.chaihut-gc-design-card[aria-pressed="true"] .chaihut-gc-design-img {
	filter: none;
	border-color: var(--chai-green, #0B4A3B);
	box-shadow: 0 0 0 2px rgba(11, 74, 59, 0.14);
}

.chaihut-gc-design-card:hover .chaihut-gc-design-img,
.chaihut-gc-design-card:focus-visible .chaihut-gc-design-img {
	border-color: var(--chai-gold, #C79A3A);
}

/* ================================================
   Amount Buttons
   ================================================ */
.chaihut-gc-amounts {
	display: grid;
	grid-template-columns: repeat(3, max-content);
	grid-auto-rows: auto;
	width: 100%;
	max-width: none;
	margin: 0 !important;
	padding: 0;
	place-self: start;
	justify-self: start;
	align-self: start;
	justify-content: start;
	justify-items: start;
	align-items: start;
	text-align: left;
	column-gap: 96px;
	row-gap: 18px;
}

.chaihut-gc-amount-btn {
	position: relative;
	display: inline-flex;
	width: auto !important;
	min-width: 0;
	align-items: center;
	justify-content: flex-start;
	gap: 14px;
	min-height: 32px;
	padding: 0 !important;
	margin: 0;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	font-size: 0.95rem;
	font-weight: 600;
	font-family: inherit;
	line-height: 1.3;
	color: var(--chai-text, #2B2723) !important;
	cursor: pointer;
	transition: color 0.2s ease;
	box-shadow: none !important;
	outline: none;
	text-align: left;
	vertical-align: top;
}

.chaihut-gc-amount-btn::before {
	content: '';
	flex: 0 0 24px;
	width: 24px;
	height: 24px;
	border: 2px solid #B8B1AA;
	border-radius: 50%;
	background: #FFFFFF;
	box-sizing: border-box;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.chaihut-gc-amount-btn:hover,
.chaihut-gc-amount-btn:focus-visible,
.chaihut-gc-amount-btn:active {
	color: var(--chai-green, #0B4A3B) !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	outline: none;
	transform: none !important;
}

.chaihut-gc-amount-btn:hover::before,
.chaihut-gc-amount-btn:focus-visible::before {
	border-color: #B8B1AA;
	box-shadow: none;
	background: #FFFFFF;
}

.chaihut-gc-amount-btn.selected,
.chaihut-gc-amount-btn[aria-pressed="true"] {
	color: var(--chai-dark, #12100E);
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

.chaihut-gc-amount-btn.selected::before,
.chaihut-gc-amount-btn[aria-pressed="true"]::before {
	border-color: #4C4C4C;
	box-shadow: none;
	background: radial-gradient(circle at center, #0B4A3B 0 6px, transparent 7px);
}

/* Custom amount input */
.chaihut-gc-custom-amount {
	margin-top: 16px;
}

.chaihut-gc-custom-amount label {
	display: block;
	font-size: 0.85rem;
	font-weight: 600;
	color: var(--chai-text, #2B2723);
	margin-bottom: 6px;
}

.chaihut-gc-field-hint {
	display: block;
	font-size: 0.78rem;
	color: var(--chai-muted, #6F6A63);
	margin-top: 5px;
}

.chaihut-gc-custom-error {
	display: block;
	font-size: 0.78rem;
	color: #C0392B;
	margin-top: 5px;
	font-weight: 600;
}

/* ================================================
   Send Option Tabs
   ================================================ */
.chaihut-gc-send-tabs {
	display: flex;
	gap: 8px;
	margin-bottom: 36px;
}

.chaihut-gc-tab {
	flex: 1;
	padding: 12px;
	fill: #0B4A3B;
}

.chaihut-gc-tab.active,
.chaihut-gc-tab[aria-selected="true"] {
	fill: #FFFFFF;
}

.chaihut-gc-send-tabs > .chaihut-gc-tab[aria-selected="false"],
.chaihut-gc-send-tabs > .chaihut-gc-tab[aria-selected="false"]:focus-visible,
.chaihut-gc-send-tabs > .chaihut-gc-tab[aria-selected="false"]:active {
	background-color: #FFFFFF !important;
	border-color: #0B4A3B !important;
	color: #0B4A3B !important;
	fill: #0B4A3B !important;
	opacity: 1 !important;
}

.chaihut-gc-send-tabs > .chaihut-gc-tab[aria-selected="false"]:hover {
	background-color: #F2F7F6 !important;
	border-color: #0B4A3B !important;
	color: #0B4A3B !important;
	fill: #0B4A3B !important;
	opacity: 1 !important;
}

.chaihut-gc-send-tabs > .chaihut-gc-tab[aria-selected="true"],
.chaihut-gc-send-tabs > .chaihut-gc-tab[aria-selected="true"]:active {
	background-color: #0B4A3B !important;
	border-color: #0B4A3B !important;
	color: #FFFFFF !important;
	fill: #FFFFFF !important;
	opacity: 1 !important;
}

.chaihut-gc-send-tabs > .chaihut-gc-tab[aria-selected="true"]:hover,
.chaihut-gc-send-tabs > .chaihut-gc-tab[aria-selected="true"]:focus-visible {
	background-color: #0C523F !important;
	border-color: #0C523F !important;
	color: #FFFFFF !important;
	fill: #FFFFFF !important;
	opacity: 1 !important;
}

/* ================================================
   Form Fields / Inputs
   ================================================ */
.chaihut-gc-info {
	font-size: 0.88rem;
	color: var(--chai-text, #2B2723);
	margin: 0 0 16px 0;
	padding: 0;
	background: transparent;
	border-left: none;
	border-radius: 0;
}

.chaihut-gc-tab-content p {
	font-size: 0.92rem;
	color: var(--chai-muted, #6F6A63);
	margin: 0 0 16px 0;
}

.chaihut-gc-field {
	margin-bottom: 18px;
}

.chaihut-gc-field label {
	display: block;
	margin-bottom: 10px;
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #B8B1AA;
	line-height: 1.2;
}

.chaihut-gc-field label span {
	color: #B8B1AA;
}

.chaihut-gc-field-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 18px;
}

.chaihut-gc-char-count {
	display: block;
	text-align: right;
	font-size: 0.78rem;
	color: #B8B1AA;
	margin-top: 6px;
}

.chaihut-gc-field input[type="text"],
.chaihut-gc-field input[type="email"],
.chaihut-gc-field input[type="date"],
.chaihut-gc-field input[type="number"],
.chaihut-gc-field textarea,
#gc-send-date,
.chaihut-gc-custom-amount input,
.chaihut-gc-balance-row input,
.chaihut-gc-checkout-row input {
	width: 100%;
	background: #FFFFFF;
	box-sizing: border-box;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.chaihut-gc-field input[type="text"],
.chaihut-gc-field input[type="email"],
.chaihut-gc-field input[type="date"],
.chaihut-gc-field input[type="number"],
.chaihut-gc-field textarea,
#gc-send-date {
	padding: 0 22px;
	height: 58px;
	border: 1.5px solid #D8D0C7;
	border-radius: 10px;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1;
	color: #B8B1AA;
	text-align: left;
	direction: ltr;
	box-shadow: none;
	appearance: none;
	-webkit-appearance: none;
}

.chaihut-gc-field textarea {
	padding-top: 18px;
	padding-bottom: 18px;
	height: 112px;
	resize: vertical;
}

.chaihut-gc-custom-amount input,
.chaihut-gc-balance-row input,
.chaihut-gc-checkout-row input {
	padding: 11px 14px;
	border: 2px solid var(--chai-border, #E7DED2);
	border-radius: 10px;
	font-size: 0.95rem;
	color: var(--chai-dark, #12100E);
}

.chaihut-gc-field input::placeholder,
.chaihut-gc-field textarea::placeholder,
#gc-send-date::placeholder {
	color: #B8B1AA;
	opacity: 1;
}

.chaihut-gc-balance-row input::placeholder,
.chaihut-gc-checkout-row input::placeholder {
	color: #9A938B;
}

.chaihut-gc-balance-row input,
.chaihut-gc-checkout-row input {
	font-family: monospace;
}

.chaihut-gc-balance-row input {
	letter-spacing: 0.08em;
}

.chaihut-gc-checkout-row input {
	letter-spacing: 0.06em;
}

#gc-send-date,
#gc-send-date::-webkit-datetime-edit,
#gc-send-date::-webkit-datetime-edit-text,
#gc-send-date::-webkit-datetime-edit-month-field,
#gc-send-date::-webkit-datetime-edit-day-field,
#gc-send-date::-webkit-datetime-edit-year-field {
	color: #B8B1AA;
}

.chaihut-gc-field input:focus,
.chaihut-gc-field textarea:focus,
#gc-send-date:focus,
.chaihut-gc-custom-amount input:focus,
.chaihut-gc-balance-row input:focus,
.chaihut-gc-checkout-row input:focus {
	outline: none;
	border-color: #90BAAF !important;
	box-shadow: 0 0 0 3px rgba(144, 186, 175, 0.18) !important;
}

.chaihut-gc-field input.error,
.chaihut-gc-field textarea.error,
#gc-send-date.error {
	border-color: #C8483F !important;
	box-shadow: 0 0 0 1px rgba(200, 72, 63, 0.15) !important;
}

/* ================================================
   Send Time Buttons
   ================================================ */
.chaihut-gc-field label[for="gc-send-time"],
.chaihut-gc-send-time-label,
.chaihut-gc-tab-content h3.chaihut-gc-send-time-title {
	display: block;
	margin-bottom: 12px;
}

.chaihut-gc-send-time {
	display: flex;
	gap: 12px;
	margin: 10px 0 16px 0;
	align-items: center;
	flex-wrap: wrap;
}

.chaihut-gc-send-time + .chaihut-gc-field,
.chaihut-gc-send-time + .chaihut-gc-field-row,
.chaihut-gc-send-time + #gc-send-date,
.chaihut-gc-send-time + input[type="date"] {
	margin-top: 0;
}

.chaihut-gc-field .chaihut-gc-send-time,
.chaihut-gc-tab-content .chaihut-gc-send-time {
	margin-top: 20px !important;
	margin-bottom: 16px;
}

.chaihut-gc-time-btn {
	flex: 0 0 auto;
	padding: 10px 18px;
}

.chaihut-gc-send-time > .chaihut-gc-time-btn[aria-pressed="false"],
.chaihut-gc-send-time > .chaihut-gc-time-btn[aria-pressed="false"]:focus-visible,
.chaihut-gc-send-time > .chaihut-gc-time-btn[aria-pressed="false"]:active {
	background-color: #FFFFFF !important;
	border-color: #0B4A3B !important;
	color: #0B4A3B !important;
	opacity: 1 !important;
}

.chaihut-gc-send-time > .chaihut-gc-time-btn[aria-pressed="false"]:hover {
	background-color: #F2F7F6 !important;
	border-color: #0B4A3B !important;
	color: #0B4A3B !important;
	opacity: 1 !important;
}

.chaihut-gc-send-time > .chaihut-gc-time-btn[aria-pressed="true"],
.chaihut-gc-send-time > .chaihut-gc-time-btn[aria-pressed="true"]:active {
	background-color: #0B4A3B !important;
	border-color: #0B4A3B !important;
	color: #FFFFFF !important;
	opacity: 1 !important;
}

.chaihut-gc-send-time > .chaihut-gc-time-btn[aria-pressed="true"]:hover,
.chaihut-gc-send-time > .chaihut-gc-time-btn[aria-pressed="true"]:focus-visible {
	background-color: #0C523F !important;
	border-color: #0C523F !important;
	color: #FFFFFF !important;
	opacity: 1 !important;
	outline: none;
}

/* ================================================
   Summary + CTA
   ================================================ */
.chaihut-gc-summary-section {
	position: static;
}

.chaihut-gc-summary {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 14px 0;
	margin-bottom: 16px;
	border-bottom: 1px solid var(--chai-border, #E7DED2);
	font-size: 1rem;
	color: var(--chai-text, #2B2723);
}

.chaihut-gc-summary strong {
	font-size: 1.35rem;
	color: var(--chai-green, #0B4A3B);
	font-weight: 700;
}

.chaihut-gc-btn-primary {
	display: block;
	width: 100%;
	padding: 14px 18px;
	background-color: #F2F0EB;
	border: 1px solid #F2F0EB;
	border-radius: 12px;
	font-size: 16px;
	font-weight: 600;
	line-height: 1;
	color: #FFFFFF;
	fill: #FFFFFF;
	text-align: center;
	cursor: default;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
	letter-spacing: 0;
}

.chaihut-gc-btn-primary:not(:disabled):not([disabled]):not([aria-disabled="true"]) {
	background-color: #0B4A3B;
	border-color: #0B4A3B;
	color: #FFFFFF;
	fill: #FFFFFF;
	cursor: pointer;
	pointer-events: auto;
}

.chaihut-gc-btn-primary:not(:disabled):not([disabled]):not([aria-disabled="true"]):hover,
.chaihut-gc-btn-primary:not(:disabled):not([disabled]):not([aria-disabled="true"]):focus-visible {
	background-color: #0C523F;
	border-color: #0C523F;
	color: #FFFFFF;
	fill: #FFFFFF;
	outline: none;
}

.chaihut-gc-btn-primary:disabled,
.chaihut-gc-btn-primary[disabled],
.chaihut-gc-btn-primary[aria-disabled="true"] {
	background-color: #F2F0EB;
	border-color: #F2F0EB;
	color: #FFFFFF;
	fill: #FFFFFF;
	cursor: default;
	pointer-events: none;
	opacity: 1;
}

/* ================================================
   Notice / Alert
   ================================================ */
.chaihut-gc-notice {
	margin-top: 14px;
	padding: 12px 16px;
	border-radius: 10px;
	font-size: 0.88rem;
	font-weight: 600;
}

.chaihut-gc-notice.success,
.chaihut-gc-applied-notice {
	background: var(--chai-success-bg, #EEF7F1);
	border: 1px solid var(--chai-success-border, #7FB38D);
	color: var(--chai-success-text, #1E4B35);
}

.chaihut-gc-notice.error {
	background: var(--chai-error-bg, #FFF4F2);
	border: 1px solid var(--chai-error-border, #D97C6F);
	color: var(--chai-error-text, #8D2F25);
}

/* ================================================
   Balance Checker
   ================================================ */
.chaihut-gc-balance-wrap {
	max-width: 560px;
	margin: 0 auto;
}

.chaihut-gc-balance-form label {
	display: block;
	margin-bottom: 10px;
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #B8B1AA;
	line-height: 1.2;
}

.chaihut-gc-balance-row,
.chaihut-gc-checkout-row {
	display: flex;
	gap: 10px;
	align-items: stretch;
}

.chaihut-gc-balance-row input,
.chaihut-gc-checkout-row input {
	flex: 1;
	min-width: 0;
}

#chaihut-gc-balance-result,
#chaihut-gc-checkout-notice {
	margin-top: 12px;
}

/* ================================================
   Checkout Gift Card Field
   ================================================ */
.chaihut-gc-checkout-wrap {
	background: var(--chai-surface, #FCFAF7);
	border: 1px solid var(--chai-border, #E7DED2);
	border-radius: 16px;
	padding: 20px 24px;
	margin-bottom: 20px;
	box-shadow: var(--chai-shadow-soft, 0 8px 24px rgba(18, 16, 14, 0.06));
}

.chaihut-gc-checkout-wrap h3 {
	font-size: 1rem;
	font-weight: 700;
	color: var(--chai-dark, #12100E);
	margin: 0 0 14px 0;
	letter-spacing: 0.01em;
}

.chaihut-gc-applied-notice {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	padding: 14px 16px;
	border-radius: 12px;
	font-size: 0.9rem;
	line-height: 1.5;
}

.chaihut-gc-applied-notice span {
	flex: 1;
	min-width: 0;
}

.chaihut-gc-remove-btn {
	background: none;
	border: none;
	color: var(--chai-error-text, #8D2F25);
	font-size: 0.85rem;
	font-weight: 700;
	cursor: pointer;
	padding: 0;
	text-decoration: underline;
	white-space: nowrap;
	transition: opacity 0.2s ease, color 0.2s ease;
}

.chaihut-gc-remove-btn:hover,
.chaihut-gc-remove-btn:focus-visible {
	color: #A6342A;
	opacity: 0.9;
	outline: none;
}

.chaihut-gc-remove-btn:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

/* ================================================
   Responsive
   ================================================ */
@media (max-width: 980px) {
	/* Remove Elementor's outer mobile padding only for this shortcode wrapper */
	.elementor-column-gap-extended > .elementor-column > .elementor-widget-wrap.elementor-element-populated:has(> .elementor-element.elementor-widget-shortcode .chaihut-gc-wrap) {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	/* Add the same 15px back to everything that should still align normally */
	.elementor-shortcode > .chaihut-gc-wrap .chaihut-gc-page-tabs,
	.elementor-shortcode > .chaihut-gc-wrap .chaihut-gc-buy-layout-left,
	.elementor-shortcode > .chaihut-gc-wrap .chaihut-gc-buy-layout-right > .chaihut-gc-section,
	.elementor-shortcode > .chaihut-gc-wrap .chaihut-gc-balance-layout-left,
	.elementor-shortcode > .chaihut-gc-wrap .chaihut-gc-balance-layout-right {
		padding-left: 15px;
		padding-right: 15px;
	}

	.elementor-shortcode > .chaihut-gc-wrap .chaihut-gc-buy-layout-left {
		position: static !important;
		top: auto !important;
		height: auto;
	}

	.chaihut-gc-buy-layout,
	.chaihut-gc-balance-layout {
		grid-template-columns: 1fr;
		gap: 28px;
	}

	.chaihut-gc-panel-intro,
	.chaihut-gc-balance-intro {
		max-width: none;
	}

	.chaihut-gc-buy-layout-right {
		min-width: 0;
	}

	/* Only the cards row inside the first section goes edge to edge */
	.elementor-shortcode > .chaihut-gc-wrap .chaihut-gc-buy-layout-right > .chaihut-gc-section:first-child {
		padding-left: 15px !important;
		padding-right: 15px !important;
	}

	.elementor-shortcode > .chaihut-gc-wrap .chaihut-gc-buy-layout-right > .chaihut-gc-section:first-child > .chaihut-gc-designs {
		margin-left: -15px !important;
		margin-right: -15px !important;
		width: calc(100% + 30px);
		max-width: calc(100% + 30px);
	}

	.chaihut-gc-designs {
		display: grid;
		grid-auto-flow: column;
		grid-auto-columns: minmax(160px, 1fr);
		grid-template-columns: none;
		gap: 20px;
		overflow-x: auto;
		overflow-y: hidden;
		padding-bottom: 8px;
		scrollbar-width: thin;
		-webkit-overflow-scrolling: touch;
	}

	.chaihut-gc-design-card {
		min-width: 0;
	}

	.chaihut-gc-designs::-webkit-scrollbar {
		height: 8px;
	}

	.chaihut-gc-designs::-webkit-scrollbar-thumb {
		background: #D8D0C7;
		border-radius: 999px;
	}

	.chaihut-gc-designs::-webkit-scrollbar-track {
		background: transparent;
	}

	.chaihut-gc-amounts {
		grid-template-columns: repeat(2, max-content);
		column-gap: 40px;
		row-gap: 16px;
	}

	.chaihut-gc-send-tabs {
		flex-direction: column;
	}

	.chaihut-gc-tab {
		width: 100%;
	}

	.chaihut-gc-field-row {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 640px) {
	.chaihut-gc-balance-row,
	.chaihut-gc-checkout-row {
		flex-direction: column;
	}

	.chaihut-gc-checkout-wrap {
		padding: 18px 16px;
		border-radius: 14px;
	}

	.chaihut-gc-applied-notice {
		flex-direction: column;
		align-items: flex-start;
	}

	.chaihut-gc-remove-btn {
		white-space: normal;
	}
}
