/*
 * Общие стили для страниц gift, gift/redeem, gift/success и subscribe (ru + en).
 * Один источник правды для шрифтов, цветов, скруглений и элементов открытки —
 * чтобы эти страницы не расходились в оформлении при доработках.
 */
:root {
	--gift-font: 'Fira Sans Condensed', Arial, sans-serif;
	--gift-heading-font: 'Fira Sans Extra Condensed', Arial, sans-serif;
	--gift-bg: #fbfcfe;
	--gift-text: #333;
	--gift-label: #222;
	--gift-desc: #555;
	--gift-border: #555;
	--gift-accent: #006688;
	--gift-accent-hover: #00536f;
	--gift-disabled: #bbb;
	--gift-radius-input: 6px;
	--gift-radius-btn: 6px;
	--gift-heading-size: 28px;
	--gift-heading-weight: 500;
	--gift-heading-color: #191c1e;
	--gift-logo-size: 140px;
}

.gift-page-body { background: var(--gift-bg); font-family: var(--gift-font); margin: 0; padding: 32px 16px; }
.gift-wrap { max-width: 480px; margin: 0 auto; }
.gift-state { text-align: center; color: #888; padding: 40px 0; }
.gift-logo { display: block; width: var(--gift-logo-size); margin: 12px auto 8px; }
.gift-heading {
	text-align: center; margin: 0; font-family: var(--gift-heading-font);
	font-size: var(--gift-heading-size); font-weight: var(--gift-heading-weight); color: var(--gift-heading-color);
}
.gift-subtitle {
	text-align: center; color: var(--gift-desc); font-family: var(--gift-font);
	max-width: 480px; margin: 8px auto 24px; font-size: 19.2px; line-height: 1.5;
}

/*
 * !important ниже не для красоты: на этих страницах поверх лежат стили сайтового
 * шаблона (Bootstrap/Nucleus), у которых встречаются селекторы вида
 * input[type="email"] — они формально специфичнее одного класса и на разных
 * страницах побеждают по-разному (набор подключённых файлов темы отличается),
 * из-за чего поля и подписи расходились в цвете/насыщенности между страницами.
 */
.gf-label, .gr-label { color: var(--gift-label) !important; font-size: 16px !important; font-weight: 700 !important; font-family: var(--gift-font) !important; margin-bottom: 6px; display: block; }
.gf-input, select.gf-input, textarea.gf-input, .gr-input {
	font-size: 16px !important; color: var(--gift-text) !important; background: #fff !important; padding: 12px;
	border: 1px solid var(--gift-border) !important; border-radius: var(--gift-radius-input) !important;
	font-family: var(--gift-font) !important;
	width: 100%; box-sizing: border-box;
}
.gf-desc, .gr-warning { font-size: 0.85em; color: var(--gift-desc); margin-top: 6px; }

/* кнопка отправки / оплаты */
.gf-btn, .gr-btn, .gs-copy-btn {
	display: block; margin: 24px auto 0; background-color: var(--gift-accent); color: #fff;
	padding: 13px 40px; font-size: 16px; border-radius: var(--gift-radius-btn); border: none;
	cursor: pointer; font-family: var(--gift-font);
}
.gf-btn:hover, .gr-btn:hover, .gs-copy-btn:hover { background-color: var(--gift-accent-hover); }
.gf-btn:disabled, .gr-btn:disabled { background-color: var(--gift-disabled); cursor: not-allowed; }

/* кнопка "Скачать приложение" на странице активации подарка (gift/activate) */
.ga-download {
	display: inline-block; margin-top: 22px; padding: 14px 32px; background-color: var(--gift-accent);
	color: #fff; text-decoration: none; border-radius: 10px; font-weight: bold; font-size: 15px;
	font-family: var(--gift-font);
}
.ga-download:hover { background-color: var(--gift-accent-hover); }

/* открытка: превью на странице покупки, карточка на redeem и success */
.gf-preview, .gr-postcard, .gs-postcard {
	border-radius: 20px; padding: 32px 24px; text-align: center; color: #fff;
	border: 4px solid rgba(255,255,255,0.4);
	box-shadow: 0 8px 32px rgba(0,0,0,0.18), inset 0 0 0 1px rgba(255,255,255,0.25);
	box-sizing: border-box;
}
.gf-preview-brand, .gr-brand, .gs-brand {
	display: flex; align-items: center; justify-content: center; gap: 12px;
	text-shadow: 0 1px 4px rgba(0,0,0,0.35); margin-bottom: 24px;
}
.gf-preview-brand img, .gr-brand img, .gs-brand img {
	width: 58px; height: 58px; border-radius: 12px; display: block; flex-shrink: 0;
}
.gf-preview-brand-text, .gr-brand-text, .gs-brand-text { text-align: left; }
.gf-preview-brand span, .gr-brand-text span, .gs-brand-text span {
	font-size: 17px; font-weight: 400; letter-spacing: 0.5px; line-height: 1.1; display: block;
}
.gf-preview-slogan, .gr-slogan, .gs-slogan { font-size: 15px; line-height: 1.1; opacity: 0.9; }
.gf-preview-emoji, .gr-emoji, .gs-emoji { font-size: 72px; line-height: 1; text-shadow: 0 1px 4px rgba(0,0,0,0.35); }
.gf-preview-message, .gr-message, .gs-message {
	margin-top: 14px; font-size: 17px; line-height: 1.5; white-space: pre-wrap; word-break: break-word;
	text-shadow: 0 1px 4px rgba(0,0,0,0.35);
}
.gf-preview-plan, .gr-plan {
	margin-top: 18px; display: inline-block; background: rgba(255,255,255,0.22); border-radius: 12px;
	padding: 10px 22px; font-size: 15px; font-weight: 700; text-shadow: 0 1px 4px rgba(0,0,0,0.35);
}

/* темы оформления открытки — используются в пикере покупки и на самих карточках */
.gf-theme.gf-celebration label, .gf-card-CELEBRATION, .gr-theme-CELEBRATION, .gs-theme-CELEBRATION { background: linear-gradient(135deg, #ddbe5b 0%, #ac6d5a 100%); }
.gf-theme.gf-warm label, .gf-card-WARM, .gr-theme-WARM, .gs-theme-WARM { background: linear-gradient(135deg, #e68b8e 0%, #ad8da3 100%); }
.gf-theme.gf-professional label, .gf-card-PROFESSIONAL, .gr-theme-PROFESSIONAL, .gs-theme-PROFESSIONAL { background: linear-gradient(135deg, #479be5 0%, #0053ad 100%); }
.gf-theme.gf-fresh label, .gf-card-FRESH, .gr-theme-FRESH, .gs-theme-FRESH { background: linear-gradient(135deg, #3cd26f 0%, #26a992 100%); }
.gf-theme.gf-premium label, .gf-card-PREMIUM, .gr-theme-PREMIUM, .gs-theme-PREMIUM { background: linear-gradient(135deg, #917ebc 0%, #482b7b 100%); }
.gf-theme.gf-gift label, .gf-card-GIFT, .gr-theme-GIFT, .gs-theme-GIFT { background: linear-gradient(135deg, #f7931e 0%, #c1440e 100%); }
.gf-theme.gf-space label, .gf-card-SPACE, .gr-theme-SPACE, .gs-theme-SPACE { background: linear-gradient(135deg, #5f2c82 0%, #2c3e91 100%); }
.gf-theme.gf-ocean label, .gf-card-OCEAN, .gr-theme-OCEAN, .gs-theme-OCEAN { background: linear-gradient(135deg, #1e849e 0%, #4a91a1 100%); }
.gf-theme.gf-playful label, .gf-card-PLAYFUL, .gr-theme-PLAYFUL, .gs-theme-PLAYFUL { background: linear-gradient(135deg, #d68c96 0%, #78487a 100%); }
