/* ==========================================================================
   Claim Discount 2026 — /claim-discount/
   Used only by template-claim-discount.php (body.igcd-body).

   THE #igcd-page PREFIX IS LOAD-BEARING — DO NOT REMOVE IT.
   The page renders inside the theme's header.php / footer.php, so bootstrap,
   the theme's style.css (which styles Gravity Forms with "#page .gfield …",
   specificity 1,2,1) and Gravity Forms' own theme CSS are all loaded. One ID
   plus the component class puts every rule here above them without
   !important, and keeps the design out of the header and footer.

   States (data-step on #igcd-page):
     1      form + offer panel
     2      the code card (Gravity Forms confirmation) — set by
            js/claim-discount.js on AJAX, or server-side on a no-JS postback
     ended  "offer ended" panel

   Breakpoint: 900px. Above = desktop design (1280 frame), below = phone
   design (390 frame), centred at max 560px on tablets.
   ========================================================================== */

/*
 * Old site header (header.php): style.css floats it over the content on every
 * page that has a custom template (".page-template #masthead-sticky-wrapper
 * {position:absolute}"), which is meant for photo heroes. This page starts
 * with a short dark band, so keep the header in the flow like a normal page.
 * The 2026 header (parts/header-new2026.php) is position:sticky and unaffected.
 */
body.igcd-body #masthead-sticky-wrapper {
	position: relative;
}

#igcd-page {
	--igcd-dark: #2b2b2b;
	--igcd-orange: #c2410c;
	--igcd-orange-hover: #a8380a;
	--igcd-bright: #f26b1d;
	--igcd-bg: #f6f5f2;
	--igcd-card-line: #eae8e4;
	--igcd-input-line: #cbced4;
	--igcd-track: #d3d6db;
	--igcd-ink: #1d1d1f;
	--igcd-text: #3d3d40;
	--igcd-muted: #63636a;
	--igcd-peach: #fdf1ea;
	--igcd-dash: #e5a07e;
	--igcd-green: #2f7d32;
	--igcd-error: #b42318;
	--igcd-body-font: 'Barlow', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--igcd-head-font: 'Barlow Condensed', 'Arial Narrow', sans-serif;
	--igcd-btn-font: 'Barlow Semi Condensed', 'Barlow', sans-serif;

	position: relative;
	overflow-x: hidden;
	font-family: var(--igcd-body-font);
	font-size: 15px;
	line-height: 1.5;
	font-weight: 400;
	color: var(--igcd-text);
	background: var(--igcd-bg);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* --------------------------------------------------------------------------
   Reset (inside the page only)
   -------------------------------------------------------------------------- */
#igcd-page *,
#igcd-page *::before,
#igcd-page *::after {
	box-sizing: border-box;
}

#igcd-page h1,
#igcd-page h2,
#igcd-page h3,
#igcd-page p,
#igcd-page ol,
#igcd-page ul,
#igcd-page li,
#igcd-page fieldset,
#igcd-page legend {
	margin: 0;
	padding: 0;
}

#igcd-page ol,
#igcd-page ul {
	list-style: none;
}

/* style.css: "a{color:#ec5b09;font-weight:700}" */
#igcd-page a {
	color: inherit;
	font-weight: inherit;
	text-decoration: none;
}

#igcd-page svg {
	display: block;
	flex: none;
}

#igcd-page .igcd-sr {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

#igcd-page .igcd-wrap {
	width: 100%;
	max-width: 1088px;
	margin: 0 auto;
	padding: 0 24px;
}

/* Desktop / phone wording pairs (igcd_dual()). */
#igcd-page .igcd-mob {
	display: none;
}

/* State switches. */
#igcd-page[data-step='1'] .igcd-s2,
#igcd-page[data-step='1'] .igcd-hero__state--2,
#igcd-page[data-step='2'] .igcd-s1,
#igcd-page[data-step='2'] .igcd-hero__state--1,
#igcd-page[data-step='2'] .igcd-card__head,
#igcd-page[data-step='2'] .igcd-offer--panel {
	display: none;
}

/* --------------------------------------------------------------------------
   Preview bar (only while "Page is live" is off)
   -------------------------------------------------------------------------- */
#igcd-page .igcd-preview-bar {
	margin: 0;
	padding: 8px 16px;
	background: #fff4cc;
	border-bottom: 1px solid #f0d77a;
	color: #5c4500;
	font-size: 13px;
	line-height: 1.4;
	text-align: center;
}

#igcd-page .igcd-preview-bar a {
	margin-left: 8px;
	color: var(--igcd-orange);
	font-weight: 600;
	text-decoration: underline;
}

/* --------------------------------------------------------------------------
   Hero
   -------------------------------------------------------------------------- */
#igcd-page .igcd-hero {
	background: var(--igcd-dark);
	color: #fff;
	text-align: center;
	padding: 26px 0 30px;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

#igcd-page .igcd-badge {
	display: inline-block;
	margin: 0 0 14px;
	padding: 6px 11px 5px;
	border-radius: 2px;
	background: var(--igcd-orange);
	color: #fff;
	font-family: var(--igcd-head-font);
	font-size: 15.5px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

#igcd-page .igcd-hero__title {
	margin: 0;
	color: #fff;
	font-family: var(--igcd-head-font);
	font-size: 48px;
	font-weight: 700;
	line-height: 1.08;
	letter-spacing: 0.005em;
}

#igcd-page .igcd-hero__sub {
	margin: 12px 0 0;
	color: rgba(255, 255, 255, 0.9);
	font-size: 16.5px;
	line-height: 1.5;
}

/* The hero copy of the offer panel exists for phones only. */
#igcd-page .igcd-offer--hero {
	display: none;
}

/* --------------------------------------------------------------------------
   Body + progress
   -------------------------------------------------------------------------- */
#igcd-page .igcd-body {
	padding: 34px 0 72px;
}

/* Desktop stepper: two dots joined by a line. */
#igcd-page .igcd-steps {
	position: relative;
	display: flex;
	justify-content: space-between;
	width: 100%;
	max-width: 488px;
	margin: 0 auto 32px;
}

#igcd-page .igcd-steps::before,
#igcd-page .igcd-steps::after {
	content: '';
	position: absolute;
	top: 16px;
	left: 60px;
	right: 60px;
	height: 2px;
	border-radius: 2px;
	background: var(--igcd-track);
}

#igcd-page .igcd-steps::after {
	right: auto;
	width: 0;
	background: var(--igcd-orange);
	transition: width 0.45s ease;
}

#igcd-page[data-step='2'] .igcd-steps::after {
	width: calc(100% - 120px);
}

#igcd-page .igcd-steps__item {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 120px;
	text-align: center;
}

#igcd-page .igcd-steps__dot {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border: 2px solid var(--igcd-track);
	border-radius: 50%;
	background: #fff;
	color: var(--igcd-muted);
	font-size: 14px;
	font-weight: 600;
	line-height: 1;
	transition: background 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}

#igcd-page .igcd-steps__check {
	display: none;
}

#igcd-page .igcd-steps__label {
	margin-top: 9px;
	color: var(--igcd-muted);
	font-size: 14px;
	line-height: 1.3;
}

/* Active step. */
#igcd-page[data-step='1'] .igcd-steps__item--1 .igcd-steps__dot,
#igcd-page[data-step='2'] .igcd-steps__item--2 .igcd-steps__dot {
	border-color: var(--igcd-orange);
	color: var(--igcd-orange);
}

#igcd-page[data-step='1'] .igcd-steps__item--1 .igcd-steps__label,
#igcd-page[data-step='2'] .igcd-steps__item--2 .igcd-steps__label {
	color: var(--igcd-ink);
	font-weight: 700;
}

/* Done step. */
#igcd-page[data-step='2'] .igcd-steps__item--1 .igcd-steps__dot {
	border-color: var(--igcd-orange);
	background: var(--igcd-orange);
	color: #fff;
}

#igcd-page[data-step='2'] .igcd-steps__item--1 .igcd-steps__num {
	display: none;
}

#igcd-page[data-step='2'] .igcd-steps__item--1 .igcd-steps__check {
	display: block;
}

/* Phone progress bar (hidden on desktop). */
#igcd-page .igcd-progress {
	display: none;
}

/* --------------------------------------------------------------------------
   Layout
   -------------------------------------------------------------------------- */
#igcd-page .igcd-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
	gap: 28px;
	align-items: start;
	max-width: 1040px;
	margin: 0 auto;
}

#igcd-page[data-step='2'] .igcd-grid {
	grid-template-columns: minmax(0, 780px);
	justify-content: center;
}

#igcd-page .igcd-card {
	background: #fff;
	border: 1px solid var(--igcd-card-line);
	border-radius: 12px;
	padding: 28px 30px 30px;
	box-shadow: 0 1px 2px rgba(20, 20, 20, 0.03);
}

#igcd-page[data-step='2'] .igcd-card {
	padding: 36px 40px 34px;
}

#igcd-page .igcd-card__title {
	margin: 0 0 6px;
	color: var(--igcd-ink);
	font-family: var(--igcd-body-font);
	font-size: 22px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0;
}

#igcd-page .igcd-card__sub {
	margin: 0 0 22px;
	color: var(--igcd-muted);
	font-size: 15px;
	line-height: 1.5;
}

#igcd-page .igcd-foot {
	display: none;
}

#igcd-page .igcd-form-missing {
	padding: 14px 16px;
	border: 1px dashed var(--igcd-orange);
	border-radius: 8px;
	color: var(--igcd-orange);
	font-size: 14px;
}

/* "Offer ended" card. */
#igcd-page .igcd-card--ended {
	max-width: 620px;
	margin: 0 auto;
	text-align: center;
}

#igcd-page .igcd-card--ended .igcd-card__sub {
	font-size: 15.5px;
	color: var(--igcd-text);
}

/* --------------------------------------------------------------------------
   Buttons
   -------------------------------------------------------------------------- */
#igcd-page .igcd-btn,
#igcd-page .igcd-gf .gform_footer .gform_button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 52px;
	margin: 0;
	padding: 12px 24px;
	border: 0;
	border-radius: 7px;
	background: var(--igcd-orange);
	box-shadow: none;
	color: #fff;
	font-family: var(--igcd-btn-font);
	font-size: 18px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.005em;
	text-align: center;
	text-transform: none;
	text-decoration: none;
	cursor: pointer;
	transition: background 0.2s ease, transform 0.2s ease;
}

#igcd-page .igcd-btn:active,
#igcd-page .igcd-btn:focus-visible,
#igcd-page .igcd-gf .gform_footer .gform_button:active,
#igcd-page .igcd-gf .gform_footer .gform_button:focus-visible {
	background: var(--igcd-orange-hover);
	color: #fff;
}

/* Hover only where there is a pointer — on phones :hover sticks after a tap. */
@media (hover: hover) {
	#igcd-page .igcd-btn:hover,
	#igcd-page .igcd-gf .gform_footer .gform_button:hover {
		background: var(--igcd-orange-hover);
		color: #fff;
	}

	#igcd-page .igcd-btn:hover .igcd-btn__arrow,
	#igcd-page .igcd-gf .gform_button:hover .igcd-btn__arrow {
		transform: translateX(3px);
	}

	#igcd-page .igcd-copy:hover {
		background: var(--igcd-orange);
		color: #fff;
	}
}

#igcd-page .igcd-btn:focus-visible,
#igcd-page .igcd-gf .gform_footer .gform_button:focus-visible,
#igcd-page .igcd-copy:focus-visible {
	outline: 3px solid rgba(194, 65, 12, 0.35);
	outline-offset: 2px;
}

#igcd-page .igcd-btn--block,
#igcd-page .igcd-gf .gform_footer .gform_button {
	display: flex;
	width: 100%;
}

#igcd-page .igcd-btn__arrow {
	font-family: var(--igcd-body-font);
	font-size: 17px;
	line-height: 1;
	transition: transform 0.2s ease;
}

/* --------------------------------------------------------------------------
   Gravity Forms (gravity-theme markup, theme="gravity")
   -------------------------------------------------------------------------- */
#igcd-page .igcd-gf .gform_wrapper {
	margin: 0;
	padding: 0;
	font-family: var(--igcd-body-font);
}

#igcd-page .igcd-gf form,
#igcd-page .igcd-gf input,
#igcd-page .igcd-gf button {
	font-family: var(--igcd-body-font);
}

#igcd-page .igcd-gf .gform_heading,
#igcd-page .igcd-gf .gform_required_legend,
#igcd-page .igcd-gf .gform_validation_container,
#igcd-page .igcd-gf .gfield--type-honeypot,
#igcd-page .igcd-gf .gfield--type-hidden,
#igcd-page .igcd-gf .gform_hidden,
#igcd-page .igcd-gf .gfield_visibility_hidden {
	display: none !important;
}

#igcd-page .igcd-gf .gform_fields {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	column-gap: 16px;
	row-gap: 16px;
	margin: 0;
	padding: 0;
}

#igcd-page .igcd-gf .gform_fields .gfield {
	grid-column: span 12;
	min-width: 0;
	max-width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	list-style: none;
}

#igcd-page .igcd-gf .gform_fields .gfield--width-half {
	grid-column: span 6;
}

#igcd-page .igcd-gf .gfield .gfield_label,
#igcd-page .igcd-gf .gfield legend.gfield_label {
	display: block;
	float: none;
	width: auto;
	margin: 0 0 8px;
	padding: 0;
	color: var(--igcd-ink);
	font-family: var(--igcd-body-font);
	font-size: 14.5px;
	font-weight: 600;
	line-height: 1.3;
	text-transform: none;
	letter-spacing: 0;
}

#igcd-page .igcd-gf .gfield_required {
	margin-left: 1px;
	color: var(--igcd-orange);
	font-size: 14.5px;
	font-weight: 600;
}

#igcd-page .igcd-gf .gfield_required .gfield_required {
	margin-left: 0;
}

/* Gravity Forms prints "(Required)" when the form uses the text indicator. */
#igcd-page .igcd-gf .gfield_required .gfield_required_text {
	font-size: 0;
}

#igcd-page .igcd-gf .gfield_required .gfield_required_text::after {
	content: '*';
	font-size: 14.5px;
}

#igcd-page .igcd-gf .gfield .ginput_container {
	margin: 0;
}

#igcd-page .igcd-gf .gfield input[type='text'],
#igcd-page .igcd-gf .gfield input[type='email'],
#igcd-page .igcd-gf .gfield input[type='tel'] {
	display: block;
	width: 100%;
	height: 48px;
	margin: 0;
	padding: 0 15px;
	border: 1px solid var(--igcd-input-line);
	border-radius: 7px;
	background: #fff;
	box-shadow: none;
	color: var(--igcd-ink);
	font-family: var(--igcd-body-font);
	font-size: 15.5px;
	font-weight: 400;
	line-height: 1.2;
	outline: 0;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
	-webkit-appearance: none;
	appearance: none;
}

#igcd-page .igcd-gf .gfield input::placeholder {
	color: #9a9ca4;
	opacity: 1;
}

#igcd-page .igcd-gf .gfield input[type='text']:hover,
#igcd-page .igcd-gf .gfield input[type='email']:hover,
#igcd-page .igcd-gf .gfield input[type='tel']:hover {
	border-color: #aeb2ba;
}

#igcd-page .igcd-gf .gfield input[type='text']:focus,
#igcd-page .igcd-gf .gfield input[type='email']:focus,
#igcd-page .igcd-gf .gfield input[type='tel']:focus {
	border-color: var(--igcd-orange);
	box-shadow: 0 0 0 3px rgba(194, 65, 12, 0.14);
}

/* Consent checkbox — the field label is hidden, the inline label is the text. */
#igcd-page .igcd-gf .gfield--type-consent .gfield_label,
#igcd-page .igcd-gf .gfield--type-consent legend {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

#igcd-page .igcd-gf .gfield--type-consent {
	padding-top: 2px;
}

#igcd-page .igcd-gf .ginput_container_consent {
	display: flex;
	align-items: flex-start;
	gap: 11px;
}

#igcd-page .igcd-gf .gfield input[type='checkbox'] {
	position: relative;
	flex: none;
	width: 18px;
	height: 18px;
	margin: 1px 0 0;
	padding: 0;
	border: 1.5px solid #909096;
	border-radius: 3px;
	background: #fff center / 12px 12px no-repeat;
	cursor: pointer;
	transition: background-color 0.15s ease, border-color 0.15s ease;
	-webkit-appearance: none;
	appearance: none;
}

/* style.css draws its own FontAwesome box in ::before. */
#igcd-page .igcd-gf .gfield input[type='checkbox']::before,
#igcd-page .igcd-gf .gfield input[type='checkbox']:checked::before,
#igcd-page .igcd-gf .gfield input[type='checkbox']::after {
	content: none;
	display: none;
}

#igcd-page .igcd-gf .gfield input[type='checkbox']:checked {
	border-color: var(--igcd-orange);
	background-color: var(--igcd-orange);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='5 12.5 10 17.5 19 7.5'/%3E%3C/svg%3E");
}

#igcd-page .igcd-gf .gfield input[type='checkbox']:focus-visible {
	outline: 3px solid rgba(194, 65, 12, 0.3);
	outline-offset: 1px;
}

#igcd-page .igcd-gf .ginput_container_consent label,
#igcd-page .igcd-gf .gfield_consent_label {
	margin: 0;
	padding: 0;
	color: var(--igcd-text);
	font-size: 14px;
	font-weight: 400;
	line-height: 1.55;
	cursor: pointer;
}

#igcd-page .igcd-gf .gfield_consent_description,
#igcd-page .igcd-gf .gfield_description {
	margin: 6px 0 0;
	padding: 0;
	color: var(--igcd-muted);
	font-size: 12.5px;
	line-height: 1.5;
	border: 0;
	max-height: none;
	overflow: visible;
}

/* Footer / submit */
#igcd-page .igcd-gf .gform_footer {
	display: block;
	margin: 22px 0 0;
	padding: 0;
}

#igcd-page .igcd-gf .gform_footer .gform_button {
	position: relative;
}

/* Gravity Forms appends its spinner after the button; keep it inside the row. */
#igcd-page .igcd-gf .gform_footer .gform_ajax_spinner,
#igcd-page .igcd-gf .gform_footer .gform-loader {
	position: absolute;
	right: 18px;
	margin: -36px 0 0;
}

#igcd-page .igcd-gf .gform_footer {
	position: relative;
}

/* hCaptcha / Turnstile / reCAPTCHA, if a plugin adds one to every form. */
#igcd-page .igcd-gf .h-captcha,
#igcd-page .igcd-gf .cf-turnstile,
#igcd-page .igcd-gf .ginput_recaptcha {
	margin: 4px 0 0;
}

/* Validation */
#igcd-page .igcd-gf .gform_validation_errors {
	margin: 0 0 20px;
	padding: 12px 14px;
	border: 1px solid rgba(180, 35, 24, 0.35);
	border-radius: 8px;
	background: #fef3f2;
	box-shadow: none;
	outline: 0;
}

#igcd-page .igcd-gf .gform_validation_errors > h2,
#igcd-page .igcd-gf .gform_validation_errors .gform_submission_error {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	color: var(--igcd-error);
	font-family: var(--igcd-body-font);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
}

#igcd-page .igcd-gf .gform_validation_errors .gform-icon {
	display: none;
}

#igcd-page .igcd-gf .gfield_error input[type='text'],
#igcd-page .igcd-gf .gfield_error input[type='email'],
#igcd-page .igcd-gf .gfield_error input[type='tel'] {
	border-color: var(--igcd-error);
}

#igcd-page .igcd-gf .gfield_error input[type='checkbox'] {
	border-color: var(--igcd-error);
}

#igcd-page .igcd-gf .gfield_error .gfield_label {
	color: var(--igcd-ink);
}

#igcd-page .igcd-gf .gfield_validation_message,
#igcd-page .igcd-gf .validation_message {
	margin: 6px 0 0;
	padding: 0;
	border: 0;
	background: none;
	color: var(--igcd-error);
	font-size: 13px;
	line-height: 1.4;
}

/* --------------------------------------------------------------------------
   Step 2 — the code card (inside the Gravity Forms confirmation)
   -------------------------------------------------------------------------- */
#igcd-page .igcd-gf .gform_confirmation_wrapper,
#igcd-page .igcd-gf .gform_confirmation_message {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	color: inherit;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
}

#igcd-page .igcd-ok {
	animation: igcd-in 0.45s ease both;
}

@keyframes igcd-in {
	from {
		opacity: 0;
		transform: translateY(8px);
	}

	to {
		opacity: 1;
		transform: none;
	}
}

#igcd-page .igcd-ok__head {
	display: flex;
	align-items: center;
	gap: 14px;
}

#igcd-page .igcd-ok__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: var(--igcd-green);
	color: #fff;
}

#igcd-page .igcd-ok__icon svg {
	width: 20px;
	height: 20px;
}

#igcd-page .igcd-ok__title {
	margin: 0;
	color: var(--igcd-ink);
	font-family: var(--igcd-body-font);
	font-size: 22.5px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0;
	outline: 0;
}

#igcd-page .igcd-ok__sub {
	margin: 3px 0 0;
	color: var(--igcd-muted);
	font-size: 14.5px;
	line-height: 1.4;
}

#igcd-page .igcd-code {
	margin-top: 24px;
}

#igcd-page .igcd-code__label {
	margin: 0 0 8px;
	color: var(--igcd-ink);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.3;
}

#igcd-page .igcd-code__label--in {
	display: none;
}

#igcd-page .igcd-code__box {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	min-height: 94px;
	padding: 16px 20px 16px 24px;
	border: 2px dashed var(--igcd-dash);
	border-radius: 9px;
	background: var(--igcd-peach);
}

#igcd-page .igcd-code__value {
	margin: 0;
	color: var(--igcd-ink);
	font-family: var(--igcd-head-font);
	font-size: 54px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.08em;
	word-break: break-all;
	-webkit-user-select: all;
	user-select: all;
}

#igcd-page .igcd-copy {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	flex: none;
	min-height: 46px;
	margin: 0;
	padding: 0 18px;
	border: 1.5px solid var(--igcd-orange);
	border-radius: 7px;
	background: #fff;
	color: var(--igcd-orange);
	font-family: var(--igcd-btn-font);
	font-size: 16.5px;
	font-weight: 600;
	line-height: 1;
	cursor: pointer;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

#igcd-page .igcd-copy:active {
	background: var(--igcd-peach);
}

#igcd-page .igcd-copy.is-copied,
#igcd-page .igcd-copy.is-copied:hover {
	border-color: var(--igcd-green);
	background: var(--igcd-green);
	color: #fff;
}

#igcd-page .igcd-code__note {
	margin: 10px 0 0;
	color: var(--igcd-muted);
	font-size: 13.5px;
	line-height: 1.45;
}

#igcd-page .igcd-howto {
	margin-top: 24px;
	padding-top: 22px;
	border-top: 1px solid #efeeea;
}

#igcd-page .igcd-howto__title {
	margin: 0 0 12px;
	color: var(--igcd-ink);
	font-family: var(--igcd-body-font);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 0;
}

#igcd-page .igcd-howto__item {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 12px;
	color: var(--igcd-text);
	font-size: 15px;
	line-height: 1.45;
}

#igcd-page .igcd-howto__item:last-child {
	margin-bottom: 0;
}

#igcd-page .igcd-howto__n {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--igcd-dark);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
}

#igcd-page .igcd-chip {
	padding: 0 3px;
	color: var(--igcd-ink);
	font-weight: 700;
	letter-spacing: 0.04em;
}

#igcd-page .igcd-ok .igcd-btn {
	margin-top: 22px;
}

/* --------------------------------------------------------------------------
   Offer panel (desktop, step 1)
   -------------------------------------------------------------------------- */
#igcd-page .igcd-offer--panel {
	padding: 32px 32px 34px;
	border-radius: 12px;
	background: var(--igcd-dark);
	color: #fff;
}

#igcd-page .igcd-badge--lg {
	margin-bottom: 22px;
	padding: 7px 12px 6px;
	font-size: 17px;
}

#igcd-page .igcd-offer__big {
	margin: 0 0 24px;
	color: #fff;
	font-family: var(--igcd-head-font);
	font-size: clamp(84px, 9.4vw, 120px);
	font-weight: 700;
	line-height: 0.88;
	letter-spacing: 0;
}

#igcd-page .igcd-offer--panel .igcd-offer__pct,
#igcd-page .igcd-offer--panel .igcd-offer__off {
	display: block;
}

#igcd-page .igcd-offer__pct {
	color: var(--igcd-bright);
}

#igcd-page .igcd-tagbox {
	display: inline-block;
	margin: 0 0 20px;
	padding: 7px 14px 6px;
	border: 2px solid #fff;
	color: #fff;
	font-family: var(--igcd-btn-font);
	font-size: 16.5px;
	font-weight: 600;
	line-height: 1.15;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

#igcd-page .igcd-offer__text {
	margin: 0 0 20px;
	color: #ececec;
	font-size: 19.5px;
	line-height: 1.45;
}

#igcd-page .igcd-offer__rule {
	display: block;
	width: 55px;
	height: 3px;
	margin: 0 0 22px;
	border-radius: 2px;
	background: var(--igcd-bright);
}

#igcd-page .igcd-offer__note {
	margin: 0;
	color: #bdbdbd;
	font-size: 13.5px;
	line-height: 1.5;
}

/* --------------------------------------------------------------------------
   Desktop tweaks below the 1280 frame
   -------------------------------------------------------------------------- */
@media (max-width: 1100px) and (min-width: 900px) {
	#igcd-page .igcd-hero__title {
		font-size: 42px;
	}

	#igcd-page .igcd-card,
	#igcd-page .igcd-offer--panel {
		padding-left: 26px;
		padding-right: 26px;
	}
}

/* --------------------------------------------------------------------------
   Phone layout (and tablets, centred at 560px)
   -------------------------------------------------------------------------- */
@media (max-width: 899.98px) {
	#igcd-page .igcd-desk {
		display: none;
	}

	#igcd-page .igcd-mob {
		display: inline;
	}

	#igcd-page .igcd-wrap {
		max-width: 592px;
		padding: 0 16px;
	}

	/* Hero: left aligned, the offer panel takes the heading's place. */
	#igcd-page .igcd-hero {
		text-align: left;
		padding: 28px 0 28px;
	}

	#igcd-page .igcd-hero .igcd-wrap {
		padding: 0 20px;
	}

	#igcd-page .igcd-badge {
		margin-bottom: 14px;
		padding: 5px 9px 4px;
		font-size: 12.5px;
	}

	#igcd-page .igcd-hero__title {
		font-size: 34px;
		line-height: 1.1;
	}

	#igcd-page .igcd-hero__sub {
		display: none;
	}

	#igcd-page .igcd-hero__title--s1 {
		position: absolute;
		width: 1px;
		height: 1px;
		margin: -1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
		white-space: nowrap;
	}

	#igcd-page .igcd-offer--hero {
		display: block;
	}

	#igcd-page .igcd-offer--hero .igcd-offer__big {
		margin: 0 0 14px;
		font-size: 68px;
		line-height: 0.95;
	}

	#igcd-page .igcd-offer--hero .igcd-tagbox {
		margin: 0 0 14px;
		padding: 5px 10px 4px;
		border-width: 1.5px;
		font-size: 12.5px;
		letter-spacing: 0.1em;
	}

	#igcd-page .igcd-offer--hero .igcd-offer__text {
		margin: 0;
		color: #e6e6e6;
		font-size: 15px;
	}

	/* Progress: text + bar instead of the dots. */
	#igcd-page .igcd-body {
		padding: 0 0 48px;
	}

	#igcd-page .igcd-steps,
	#igcd-page .igcd-offer--panel {
		display: none;
	}

	#igcd-page .igcd-progress {
		display: flex;
		align-items: center;
		gap: 14px;
		padding: 18px 4px 16px;
	}

	#igcd-page .igcd-progress__text {
		flex: none;
		margin: 0;
		color: var(--igcd-muted);
		font-size: 13px;
		line-height: 1.3;
	}

	#igcd-page .igcd-progress__text strong {
		margin-right: 6px;
		color: var(--igcd-orange);
		font-weight: 600;
	}

	#igcd-page .igcd-progress__bar {
		position: relative;
		flex: 1 1 auto;
		height: 4px;
		overflow: hidden;
		border-radius: 4px;
		background: var(--igcd-track);
	}

	#igcd-page .igcd-progress__fill {
		position: absolute;
		inset: 0 auto 0 0;
		width: 50%;
		border-radius: 4px;
		background: var(--igcd-orange);
		transition: width 0.45s ease;
	}

	#igcd-page[data-step='2'] .igcd-progress__fill {
		width: 100%;
	}

	#igcd-page .igcd-grid,
	#igcd-page[data-step='2'] .igcd-grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 0;
	}

	#igcd-page .igcd-card,
	#igcd-page[data-step='2'] .igcd-card {
		padding: 22px 20px 24px;
	}

	#igcd-page .igcd-card--ended {
		margin-top: 24px;
		text-align: left;
	}

	#igcd-page .igcd-card__title {
		font-size: 20px;
		font-weight: 600;
	}

	#igcd-page .igcd-card__sub {
		margin-bottom: 20px;
		font-size: 14.5px;
	}

	#igcd-page .igcd-foot {
		display: block;
		margin: 22px 4px 0;
		color: var(--igcd-muted);
		font-size: 13px;
		line-height: 1.5;
	}

	#igcd-page[data-step='1'] .igcd-foot.igcd-s2,
	#igcd-page[data-step='2'] .igcd-foot.igcd-s1 {
		display: none;
	}

	/* Step 2 card */
	#igcd-page .igcd-ok__icon {
		width: 32px;
		height: 32px;
	}

	#igcd-page .igcd-ok__icon svg {
		width: 18px;
		height: 18px;
	}

	#igcd-page .igcd-ok__head {
		align-items: flex-start;
		gap: 12px;
	}

	#igcd-page .igcd-ok__title {
		font-size: 19px;
		font-weight: 600;
	}

	#igcd-page .igcd-code {
		margin-top: 20px;
	}

	#igcd-page .igcd-code__label--out,
	#igcd-page .igcd-code__note {
		display: none;
	}

	#igcd-page .igcd-code__label--in {
		display: block;
		margin: 0 0 6px;
		color: var(--igcd-muted);
		font-size: 13px;
		font-weight: 500;
	}

	#igcd-page .igcd-code__box {
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		min-height: 0;
		padding: 16px 20px 20px;
	}

	#igcd-page .igcd-code__value {
		margin: 0 0 14px;
		font-size: 50px;
	}

	#igcd-page .igcd-copy {
		width: 100%;
		min-height: 46px;
	}

	#igcd-page .igcd-howto {
		margin-top: 20px;
		padding-top: 0;
		border-top: 0;
	}

	#igcd-page .igcd-howto__title {
		margin-bottom: 12px;
		font-size: 15.5px;
	}

	#igcd-page .igcd-howto__item {
		align-items: flex-start;
		font-size: 14.5px;
	}

	#igcd-page .igcd-howto__n {
		margin-top: 0;
	}

	#igcd-page .igcd-ok .igcd-btn {
		margin-top: 20px;
	}
}

/* Narrow phones: first / last name stacked, as in the phone design. */
@media (max-width: 599.98px) {
	#igcd-page .igcd-gf .gform_fields .gfield--width-half {
		grid-column: span 12;
	}

	#igcd-page .igcd-gf .gform_fields {
		row-gap: 16px;
	}
}

@media (max-width: 359.98px) {
	#igcd-page .igcd-offer--hero .igcd-offer__big {
		font-size: 58px;
	}

	#igcd-page .igcd-code__value {
		font-size: 42px;
	}

	#igcd-page .igcd-progress__text {
		font-size: 12px;
	}
}

@media (prefers-reduced-motion: reduce) {
	#igcd-page *,
	#igcd-page *::before,
	#igcd-page *::after {
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
	}
}
