/* ============================================================
   Apple Gift Card (WATA) — витрина /apple-gift-card
   Подключается только на этой странице (inc/apple-gift.php).
   ============================================================ */

/* Страница на всю ширину, без заголовка темы */
.agc-page .entry-title,
.agc-page .ast-single-post-title { display: none !important; }
.agc-page #primary,
.agc-page .site-content .ast-container { margin: 0 !important; padding: 0 !important; max-width: none !important; }
.agc-page .entry-content { margin: 0 !important; max-width: none !important; }
.agc-page .site-content { padding-top: 0 !important; }
.agc-page .entry-header { display: none !important; }

.agc {
	--ink: #0b0c0e;
	--mut: #697586;
	--line: #e5e7ee;
	--soft: #f6f7fa;
	--blue: #1d4ed8;
	background: #fff;
	width: 100%;
	color: var(--ink);
	font-family: "Onest", -apple-system, "Segoe UI", sans-serif;
	font-size: 16px;
	line-height: 1.5;
	padding: clamp(10px, 2vw, 20px) 0 clamp(28px, 4vw, 46px);
}
.agc * { box-sizing: border-box; }
/* Тема (Astra) подчёркивает ссылки в контенте (.entry-content a) с большей
   специфичностью, поэтому здесь единственное оправданное !important. */
.agc a, .agc a * { text-decoration: none !important; }
.agc a.agc-back { text-decoration: underline !important; }
.agc h1, .agc h2 { margin: 0; letter-spacing: -.01em; }
.agc-i { width: 1em; height: 1em; flex: 0 0 auto; }
.agc-wrap { max-width: 1120px; margin: 0 auto; padding: 0 clamp(16px, 4vw, 32px); }
.agc-alert { background: #fef2f2; color: #b91c1c; border: 1px solid #fecaca; border-radius: 12px; padding: 13px 15px; margin-bottom: 18px; font-size: 14.5px; }
.agc-flag { display: inline-flex; line-height: 0; }
.agc-flag svg { display: block; border-radius: 50%; outline: 1px solid rgba(15, 23, 42, .1); outline-offset: -1px; } /* белые поля флагов не сливаются с фоном */

/* ---------------- Hero ---------------- */
.agc-hero {
	display: grid;
	grid-template-columns: 1.05fr .95fr;
	gap: clamp(24px, 4vw, 56px);
	align-items: center;
	padding: clamp(10px, 2vw, 24px) 0 clamp(30px, 4vw, 44px);
}
.agc-eyebrow { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 700; color: var(--mut); margin-bottom: 12px; }
.agc-eyebrow svg { width: 15px; height: 15px; }
.agc h1.agc-h1 { font-size: clamp(27px, 3.6vw, 40px); font-weight: 800; margin: 0 0 16px; line-height: 1.14; }
.agc-lead { color: var(--mut); font-size: clamp(15px, 1.6vw, 16.5px); line-height: 1.62; max-width: 560px; margin: 0 0 22px; }
.agc-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.agc-chip { display: inline-flex; align-items: center; gap: 7px; background: #fff; border: 1px solid var(--line); border-radius: 999px; padding: 8px 13px; font-size: 13px; font-weight: 600; color: #374151; }
.agc-chip .agc-i { color: #16a34a; width: 14px; height: 14px; }

/* Веер подарочных карт */
.agc-hero__vis { display: flex; justify-content: center; }
.agc-deck { position: relative; width: 300px; height: 330px; }
.agc-deckcard {
	position: absolute;
	inset: 0;
	margin: auto;
	width: 252px;
	height: 296px;
	border-radius: 22px;
	background: linear-gradient(160deg, #fdfdff, #eef1f7);
	border: 1px solid #e7e9f2;
	box-shadow: 0 26px 52px -30px rgba(28, 30, 68, .5);
}
.agc-deckcard--b1 { transform: rotate(-9deg) translate(-26px, 8px); background: linear-gradient(160deg, #fff6f5, #ffe9e6); border-color: #f6dcd8; }
.agc-deckcard--b2 { transform: rotate(8deg) translate(26px, 4px); background: linear-gradient(160deg, #f2f6ff, #e3ebfc); border-color: #dbe4f5; }
.agc-deckcard--top { display: flex; flex-direction: column; padding: 22px; }
.agc-deckcard__row { display: flex; justify-content: space-between; align-items: flex-start; }
.agc-deckcard__row .agc-flag svg { width: 40px; height: 40px; box-shadow: 0 2px 7px -3px rgba(0, 0, 0, .45); }
.agc-deckcard__row b { font-size: 25px; font-weight: 800; letter-spacing: -.02em; }
.agc-deckcard__logo { width: 96px; height: 96px; margin: auto; filter: drop-shadow(0 8px 16px rgba(0, 0, 0, .12)); }
.agc-deckcard__mark { margin: auto; font-size: 30px; font-weight: 800; letter-spacing: .02em; text-align: center; line-height: 1.1; filter: drop-shadow(0 6px 12px rgba(0, 0, 0, .12)); }
.agc-deckcard__cap { text-align: center; font-size: 15.5px; font-weight: 700; color: #1f2733; line-height: 1.3; }
/* Фирменные оттенки задних карт веера */
.agc[data-brand="steam"] .agc-deckcard--b1 { background: linear-gradient(160deg, #eaf1f9, #d9e6f4); border-color: #d3e0ef; }
.agc[data-brand="steam"] .agc-deckcard--b2 { background: linear-gradient(160deg, #eef8fd, #daeefa); border-color: #d3e7f3; }
.agc[data-brand="playstation"] .agc-deckcard--b1 { background: linear-gradient(160deg, #eaf0fb, #d7e2f7); border-color: #d0ddf1; }
.agc[data-brand="playstation"] .agc-deckcard--b2 { background: linear-gradient(160deg, #fdf6ea, #f8ead0); border-color: #efe2c8; }
.agc[data-brand="netflix"] .agc-deckcard--b1 { background: linear-gradient(160deg, #fdecec, #fad7d7); border-color: #f3cfcf; }
.agc[data-brand="netflix"] .agc-deckcard--b2 { background: linear-gradient(160deg, #f3f4f6, #e2e4e9); border-color: #dcdfe6; }
.agc[data-brand="roblox"] .agc-deckcard--b1 { background: linear-gradient(160deg, #f1f2f5, #e0e2e8); border-color: #d9dce4; }
.agc[data-brand="roblox"] .agc-deckcard--b2 { background: linear-gradient(160deg, #fdf1ec, #f9dfd2); border-color: #f0d6ca; }
.agc[data-brand="googleplay"] .agc-deckcard--b1 { background: linear-gradient(160deg, #eafaf3, #d3f2e4); border-color: #cceadd; }
.agc[data-brand="googleplay"] .agc-deckcard--b2 { background: linear-gradient(160deg, #fdf7e9, #f9ecca); border-color: #f0e3c2; }

/* ---------------- Шаги ---------------- */
/* ol в селекторе: стиль списков темы (padding 0 0 0 20px) иначе снимает внутренние отступы блока */
.agc ol.agc-steps {
	list-style: none;
	margin: 0 0 clamp(28px, 4vw, 40px);
	padding: clamp(14px, 2vw, 18px) clamp(14px, 2vw, 22px);
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
	background: var(--soft);
	border: 1px solid var(--line);
	border-radius: 18px;
}
.agc-steps li { display: flex; align-items: center; gap: 12px; min-width: 0; }
.agc-step__n {
	flex: 0 0 auto;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background: linear-gradient(135deg, #2563EB, #4F46E5);
	color: #fff;
	font-size: 15px;
	font-weight: 800;
}
.agc-steps b { display: block; font-size: 14.5px; font-weight: 700; line-height: 1.25; }
.agc-steps li > div > span { display: block; font-size: 12.5px; color: var(--mut); margin-top: 2px; }

/* ---------------- Ленты стран (карточки = стиль магазина .opc) ---------------- */
.agc-row { margin-bottom: clamp(26px, 4vw, 40px); }
.agc-row__h { margin-bottom: 14px; }
.agc-row__t { font-size: 17px; font-weight: 800; display: inline-flex; align-items: baseline; gap: 9px; }
.agc-row__t i { font-style: normal; font-size: 12px; font-weight: 700; color: var(--mut); background: var(--soft); border: 1px solid var(--line); border-radius: 999px; padding: 2px 9px; }
.agc-row__wrap { position: relative; }
.agc-row__wrap::before, .agc-row__wrap::after { content: ""; position: absolute; top: 0; bottom: 0; width: 36px; z-index: 2; pointer-events: none; }
.agc-row__wrap::before { left: 0; background: linear-gradient(90deg, #fff, transparent); }
.agc-row__wrap::after { right: 0; background: linear-gradient(270deg, #fff, transparent); }
.agc-row__sc { display: flex; gap: 14px; overflow-x: auto; scroll-snap-type: x proximity; padding: 8px 2px 18px; scrollbar-width: none; }
.agc-row__sc::-webkit-scrollbar { display: none; }
.agc-row__sc > .opc { flex: 0 0 252px; width: 252px; }
/* Стрелки по бокам ленты: всегда видимы на ПК. Специфичность .agc-page + класс,
   иначе стили кнопок Astra (.entry-content button) красят их в синюю заливку. */
.agc-page .agc-row__btn { position: absolute; top: 50%; transform: translateY(-50%); z-index: 4; width: 42px; height: 42px; border-radius: 50%; border: 1px solid #dfe3ec; background: #fff; color: #374151; cursor: pointer; display: grid; place-items: center; padding: 0; margin: 0; line-height: 0; appearance: none; -webkit-appearance: none; box-shadow: 0 6px 16px -8px rgba(11, 12, 14, .3); transition: border-color .13s, background .13s, color .13s, opacity .13s; }
.agc-page .agc-row__btn svg { width: 19px; height: 19px; }
.agc-page .agc-row__btn--l { left: -14px; }
.agc-page .agc-row__btn--r { right: -14px; }
.agc-page .agc-row__btn:hover:not(:disabled) { border-color: #b9c6e8; background: #f6f9ff; color: var(--blue); }
.agc-page .agc-row__btn:disabled { opacity: 0; cursor: default; pointer-events: none; }
/* Затемнение края ленты только там, куда ещё можно листать: в начале первая карточка видна целиком */
.agc-row__wrap::before, .agc-row__wrap::after { transition: opacity .15s; }
.agc-row__wrap:has(.agc-row__btn--l:disabled)::before, .agc-row__wrap:has(.agc-row__btn--r:disabled)::after { opacity: 0; }
.agc-flagic { background: transparent; }
.agc-flagic .agc-flag { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; }
.agc-flagic svg { width: 38px; height: 38px; border-radius: 50%; box-shadow: 0 0 0 2px #fff, 0 2px 6px -3px rgba(0, 0, 0, .45); }
@media (max-width: 760px) {
	.agc-page .agc-row__btn { display: none; }
	.agc-row__wrap::before, .agc-row__wrap::after { display: none; }
	.agc-row__sc > .opc { flex-basis: 236px; width: 236px; }
	/* На телефоне лента идёт до краёв экрана, а не обрывается у поля контейнера */
	.agc-row__sc { margin-inline: calc(-1 * clamp(16px, 4vw, 32px)); padding-inline: clamp(16px, 4vw, 32px); scroll-padding-inline: clamp(16px, 4vw, 32px); }
}
/* Тон макета карты задаёт бренд, одинаково для всех стран полки */
.agc[data-brand="apple"] { --t1: #f7f8fb; --t2: #e9ecf3; }
.agc[data-brand="steam"] { --t1: #eef3f9; --t2: #dce6f2; }
.agc[data-brand="playstation"] { --t1: #eef4ff; --t2: #dbe6fb; }
.agc[data-brand="netflix"] { --t1: #fff3f3; --t2: #fde1e1; }
.agc[data-brand="roblox"] { --t1: #f4f5f7; --t2: #e4e6eb; }
.agc[data-brand="googleplay"] { --t1: #eefbf5; --t2: #d8f3e7; }

/* ---------------- Блок для российских Apple ID ---------------- */
.agc-ru { background: #f7f9fd; border: 1px solid #dbe4f5; border-left: 4px solid #2563eb; border-radius: 16px; padding: 22px 24px; margin-bottom: 24px; }
.agc-ru__t { font-size: 16.5px; font-weight: 800; margin-bottom: 9px; }
.agc-ru p { margin: 0 0 10px; font-size: 14px; color: #4b5563; line-height: 1.6; }
.agc-ru p a { color: var(--blue); text-decoration: underline !important; }
.agc-ru__btn { display: inline-block; margin-top: 3px; background: linear-gradient(135deg, #2563EB, #4F46E5); color: #fff !important; font-size: 14px; font-weight: 700; border-radius: 10px; padding: 11px 18px; }
.agc-ru__btn:hover { filter: brightness(1.08); }

/* ---------------- Полоса доверия ---------------- */
.agc-trust { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
/* Другие полки: лента мини-карточек брендов */
.agc-row--other { margin-top: clamp(26px, 4vw, 38px); margin-bottom: 0; }
.agc-row__sc > .agc-oc { flex: 0 0 250px; width: 250px; }
.agc-oc { display: flex; align-items: center; gap: 12px; background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 12px 14px; color: inherit; box-shadow: 0 1px 2px rgba(11, 12, 14, .04), 0 10px 24px -18px rgba(11, 12, 14, .2); transition: transform .16s, border-color .16s, box-shadow .16s; }
.agc-oc:hover { transform: translateY(-2px); border-color: #d5d9e0; box-shadow: 0 14px 30px -16px rgba(11, 12, 14, .22); }
.agc-oc__tile { flex: 0 0 auto; width: 46px; height: 46px; border-radius: 12px; display: grid; place-items: center; color: #fff; font-size: 15px; font-weight: 800; letter-spacing: -.02em; box-shadow: 0 4px 10px -4px rgba(11, 12, 14, .4); }
.agc-oc__tile svg { width: 26px; height: 26px; }
.agc-oc__t { min-width: 0; }
.agc-oc__t b { display: block; font-size: 14.5px; font-weight: 700; line-height: 1.2; }
.agc-oc__t span { display: block; font-size: 12px; color: var(--mut); margin-top: 2px; white-space: nowrap; }
.agc-oc .opc__arr { margin-left: auto; color: var(--mut); }
.agc-oc:hover .opc__arr { color: var(--blue); transform: translateX(3px); }
.agc-trust > div { display: grid; grid-template-columns: auto 1fr; column-gap: 11px; align-items: start; background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 15px 17px; }
.agc-trust .agc-i { color: #16a34a; width: 19px; height: 19px; margin-top: 2px; grid-row: 1 / span 2; }
.agc-trust b { font-size: 14.5px; font-weight: 700; }
.agc-trust span { font-size: 13px; color: var(--mut); margin-top: 2px; }

/* ---------------- Карточка страны (?r=) ---------------- */
.agc-back2 { display: inline-flex; align-items: center; min-height: 44px; margin-bottom: 8px; color: var(--mut); text-decoration: none; font-weight: 600; font-size: 14px; }
.agc-back2:hover { color: var(--ink); }
.agc-product { display: grid; grid-template-columns: 340px 1fr; gap: clamp(26px, 4vw, 44px); align-items: start; }
.agc-visual { max-width: 340px; }
.agc-gc { position: relative; overflow: hidden; aspect-ratio: 1/1.12; background: linear-gradient(160deg, var(--t1, #fdfdff), var(--t2, #eef1f7)); border: 1px solid #e7e9f2; border-radius: 20px; box-shadow: 0 22px 48px -26px rgba(28, 30, 68, .42); padding: 24px; display: flex; flex-direction: column; }
.agc-gc__top { display: flex; justify-content: space-between; align-items: flex-start; }
.agc-gc__flag svg { width: 42px; height: 42px; border-radius: 50%; box-shadow: 0 0 0 3px #fff, 0 6px 14px -6px rgba(0, 0, 0, .4); }
.agc-gc__denom { font-size: 26px; font-weight: 800; letter-spacing: -.02em; }
.agc-gc__cap { margin-top: 14px; font-size: 17px; font-weight: 700; color: #1f2733; line-height: 1.25; }
.agc-gc__logo { width: 92px; height: 92px; margin: auto; filter: drop-shadow(0 8px 16px rgba(0, 0, 0, .12)); }
.agc-gc__apps { display: flex; gap: 8px; justify-content: center; }
/* Визуал карточки страны у не-Apple брендов: иконка + вордмарк + код-полоска */
.agc-gc__brand { margin: auto; position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; gap: 12px; filter: drop-shadow(0 8px 16px rgba(0, 0, 0, .1)); }
.agc-gc__bigicon svg { width: 62px; height: 62px; display: block; }
.agc-gc__wordmark { font-size: 26px; font-weight: 800; letter-spacing: .05em; line-height: 1; }
.agc-gc__cap2 { position: relative; z-index: 1; text-align: center; font-size: 12.5px; font-weight: 600; color: var(--mut); margin-bottom: 11px; }
.agc-gc__strip { position: relative; z-index: 1; display: flex; justify-content: center; gap: 14px; background: rgba(255, 255, 255, .92); border: 1px dashed #ccd3e2; border-radius: 10px; padding: 8px 12px; font-size: 13px; letter-spacing: 3px; color: #97a0b3; font-weight: 800; line-height: 1; }
.agc-gc__bgwm { position: absolute; right: -26px; bottom: -22px; opacity: .07; pointer-events: none; }
.agc-gc__bgwm svg { width: 170px; height: 170px; }
.agc-app { width: 30px; height: 30px; border-radius: 8px; display: grid; place-items: center; color: #fff; box-shadow: 0 3px 8px -3px rgba(0, 0, 0, .4); }
.agc-app svg { width: 17px; height: 17px; }

/* Мини-шаги под картой */
.agc ol.agc-mini { list-style: none; margin: 18px 4px 0; padding: 0; display: flex; flex-direction: column; gap: 11px; } /* ol: иначе отступ списков темы */
.agc-mini li { display: flex; gap: 10px; align-items: flex-start; font-size: 13px; color: var(--mut); line-height: 1.45; }
.agc-mini b { flex: 0 0 auto; width: 22px; height: 22px; border-radius: 50%; background: #eef2fd; color: #3b5bdb; font-size: 12px; font-weight: 800; display: grid; place-items: center; margin-top: 1px; }

/* Панель заказа */
.agc-panel { background: #fff; border: 1px solid var(--line); border-radius: 22px; padding: clamp(18px, 2.5vw, 26px); box-shadow: 0 22px 48px -32px rgba(28, 30, 68, .38); }
.agc-panel__head { display: flex; align-items: center; gap: 14px; padding-bottom: 16px; border-bottom: 1px solid var(--line); margin-bottom: 18px; }
.agc-panel__flag { flex: 0 0 auto; display: inline-flex; }
.agc-panel__flag svg { width: 44px; height: 44px; border-radius: 50%; box-shadow: 0 0 0 3px #fff, 0 5px 12px -5px rgba(0, 0, 0, .35); }
.agc-title { font-size: clamp(20px, 2.3vw, 25px); font-weight: 800; line-height: 1.16; }
.agc-title__reg { color: var(--mut); }
.agc-sub { font-size: 13px; color: var(--mut); margin: 4px 0 0; }
.agc-trustline { margin-top: 13px; display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 14px; font-size: 12.5px; color: var(--mut); }
.agc-trustline > span { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; } /* пункт переносится целиком, а не посередине */
.agc-trustline > span::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: #16a34a; }
.agc-help { margin-top: 10px; padding-top: 12px; border-top: 1px dashed var(--line); text-align: center; font-size: 13px; color: #4b5563; }
.agc-help a { display: inline-block; padding: 12px 0; margin: -12px 0; color: var(--blue); font-weight: 700; text-decoration: underline !important; } /* зона нажатия 44px без сдвига строки */
.agc-blk { margin-bottom: 20px; }
.agc-lbl { font-size: 13px; font-weight: 700; color: #4b5563; margin-bottom: 9px; }
.agc-pills { display: grid; grid-template-columns: repeat(auto-fill, minmax(92px, 1fr)); gap: 7px; } /* ровная сетка: ряды не зависят от ширины шрифта и не прыгают при его подгрузке */
.agc-pill { padding: 8px 6px; border: 1px solid var(--line); background: #fff; border-radius: 10px; font-size: 14px; font-weight: 700; color: var(--ink); cursor: pointer; font-family: inherit; letter-spacing: -.01em; white-space: nowrap; text-align: center; transition: border-color .1s, background .1s; }
@media (max-width: 480px) { .ags-packs { grid-template-columns: repeat(auto-fill, minmax(78px, 1fr)); } } /* подписи пакетов звёзд короткие: на телефоне три колонки, на ПК ровно 6 + 6 */
.agc-pill:hover { border-color: #adb6c9; }
.agc-pill.is-on { border-color: var(--blue); background: var(--blue); color: #fff; }
.agc-priceline { display: flex; align-items: baseline; gap: 10px; margin: 18px 0; }
.agc-price { font-size: 32px; font-weight: 800; letter-spacing: -.02em; }
.agc-price-note { font-size: 13px; color: var(--mut); }
.agc-buy { background: var(--soft); border: 1px solid var(--line); border-radius: 16px; padding: 16px; }
.agc-buy__line { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.agc-buy__line--total { border-top: 1px solid var(--line); margin: 13px 0; padding-top: 13px; }
.agc-buy > .agc-buy__line--total:first-child { border-top: 0; margin-top: 0; padding-top: 0; }
.agc-lbl2 { font-size: 13px; font-weight: 600; color: var(--mut); }
.agc-stepper { display: inline-flex; align-items: center; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; background: #fff; }
.agc-page .agc-stepper button { width: 38px; height: 38px; border: 0; border-radius: 0; background: #fff; font-size: 19px; font-weight: 600; line-height: 1; cursor: pointer; color: var(--ink); font-family: inherit; display: grid; place-items: center; padding: 0 0 2px; margin: 0; appearance: none; -webkit-appearance: none; box-shadow: none; }
.agc-page .agc-stepper button:hover { background: #f1f3f7; }
.agc-qn { min-width: 40px; text-align: center; font-weight: 800; font-size: 16px; }
.agc-total-v { font-size: 21px; font-weight: 800; white-space: nowrap; font-variant-numeric: tabular-nums; }
.agc-email { width: 100%; padding: 13px 14px; border: 1px solid #d5d9e2; border-radius: 11px; font-size: 15px; font-family: inherit; outline: none; background: #fff; margin-bottom: 11px; }
.agc-email:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(29, 78, 216, .12); }
.agc-btn { width: 100%; padding: 15px; border: 0; border-radius: 12px; background: linear-gradient(135deg, #2563EB, #4F46E5); color: #fff; font-size: 16px; font-weight: 700; cursor: pointer; font-family: inherit; transition: filter .12s; }
.agc-btn:hover:not(:disabled) { filter: brightness(1.08); }
.agc-btn:disabled { background: #e3e7ef; color: #7b8598; cursor: not-allowed; }
.agc-err { background: #fef2f2; color: #b91c1c; border: 1px solid #fecaca; border-radius: 10px; padding: 10px 12px; margin-top: 10px; font-size: 13.5px; }
@media (min-width: 821px) {
	.agc-visual { position: sticky; top: 96px; }
}

/* ---------------- Телеграм звёзды ---------------- */
.agc-gc--stars { background: linear-gradient(160deg, #fffdf3, #fdf1cf); border-color: #f3e4b6; }
.agc-gc--stars .agc-gc__wordmark { color: #b45309; }
.ags-tg svg, .ags-headic svg { width: 40px; height: 40px; }
.agc-panel__flag.ags-headic { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; background: #fffbeb; box-shadow: 0 0 0 3px #fff, 0 5px 12px -5px rgba(0, 0, 0, .25); }
.agc-panel__flag.ags-headic svg { width: 27px; height: 27px; }
.ags-bigstar svg { width: 74px; height: 74px; display: block; filter: drop-shadow(0 8px 14px rgba(245, 158, 11, .35)); }
.ags-userwrap { position: relative; }
.ags-userwrap > span { position: absolute; left: 13px; top: 50%; transform: translateY(-50%); font-weight: 800; color: var(--mut); }
.ags-userwrap .ags-user { padding-left: 30px; margin-bottom: 0; }
.ags-ustate { margin-top: 7px; font-size: 13px; font-weight: 600; color: var(--mut); }
.ags-ustate--ok { color: #16a34a; }
.ags-ustate--err { color: #b91c1c; }
.agc--stars .agc-buy { padding: 14px 16px; }

/* ---------------- О карте ---------------- */
.agc-about { margin-top: clamp(28px, 4vw, 40px); }
.agc-about__g { margin-bottom: 16px; }
.agc-about__p { margin: 0 0 10px; font-size: 14.5px; line-height: 1.68; color: #4b5563; max-width: 880px; }

/* ---------------- FAQ ---------------- */
.agc-faqs { margin-top: clamp(40px, 6vw, 64px); }
.agc h2.agc-h2 { font-size: 21px; font-weight: 800; margin: 0 0 16px; text-align: left; } /* как заголовки лент и блока «О карте» */
.agc-faq { display: flex; flex-direction: column; gap: 8px; }
.agc-faq details { border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.agc-faq summary { padding: 14px 16px; font-weight: 700; cursor: pointer; font-size: 15px; list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.agc-faq summary::-webkit-details-marker { display: none; }
.agc-faq summary::after { content: "+"; color: var(--mut); font-weight: 700; font-size: 20px; }
.agc-faq details[open] summary::after { content: "−"; }
.agc-faq__a { padding: 0 16px 15px; color: #4b5563; font-size: 14.5px; line-height: 1.6; }

/* ---------------- Экран выдачи кода ---------------- */
.agc-result { max-width: 580px; margin: 6px auto 0; text-align: center; background: #fff; border: 1px solid var(--line); border-radius: 20px; padding: 42px 24px; }
.agc-result__ic { width: 62px; height: 62px; margin: 0 auto 15px; border-radius: 50%; background: #f1f3f7; display: grid; place-items: center; }
.agc-result__ic--ok { background: #dcfce7; }
.agc-result__ic .agc-i { width: 31px; height: 31px; color: #16a34a; }
.agc h2.agc-result__h { font-size: 22px; font-weight: 800; margin: 0 0 8px; }
.agc-note { color: var(--mut); max-width: 430px; margin: 0 auto; }
.agc-spin { width: 36px; height: 36px; border: 3px solid #dfe3ea; border-top-color: var(--blue); border-radius: 50%; animation: agcspin 1s linear infinite; }
@keyframes agcspin { to { transform: rotate(360deg); } }
.agc-codes { margin: 17px 0 6px; display: flex; flex-direction: column; gap: 10px; }
.agc-code { display: flex; align-items: center; gap: 10px; justify-content: space-between; background: #f0fdf4; border: 1px solid #bbf7d0; border-radius: 12px; padding: 13px 16px; }
.agc-code code { font-family: ui-monospace, Menlo, Consolas, monospace; font-size: 18px; font-weight: 700; color: #166534; word-break: break-all; }
.agc-copy { border: 1px solid #86efac; background: #fff; color: #166534; font-weight: 700; font-size: 13px; border-radius: 9px; padding: 8px 12px; cursor: pointer; flex: 0 0 auto; font-family: inherit; }
.agc a.agc-back { display: inline-block; margin-top: 15px; color: var(--blue); font-weight: 700; text-decoration: underline; font-size: 14px; }

/* ---------------- Адаптив ---------------- */
@media (max-width: 820px) {
	.agc-product { grid-template-columns: 1fr; gap: 22px; }
	.agc-product > .agc-panel { order: -1; } /* на телефоне сначала форма заказа, макет карты и шаги ниже */
	.agc-visual { max-width: 280px; margin: 0 auto; }
	.agc ol.agc-mini { max-width: 320px; margin-left: auto; margin-right: auto; }
	.agc-panel__flag svg { width: 38px; height: 38px; }
}
@media (max-width: 760px) {
	.agc-hero { grid-template-columns: 1fr; gap: 22px; padding-bottom: 18px; }
	.agc-hero__vis { order: -1; }
	.agc-deck { width: 240px; height: 236px; }
	.agc-deckcard { width: 196px; height: 224px; border-radius: 18px; }
	.agc-deckcard--top { padding: 16px; }
	.agc-deckcard--b1 { transform: rotate(-9deg) translate(-20px, 6px); }
	.agc-deckcard--b2 { transform: rotate(8deg) translate(20px, 3px); }
	.agc-deckcard__row .agc-flag svg { width: 32px; height: 32px; }
	.agc-deckcard__row b { font-size: 20px; }
	.agc-deckcard__logo { width: 66px; height: 66px; }
	.agc-deckcard__cap { font-size: 13px; }
	.agc ol.agc-steps { grid-template-columns: 1fr; gap: 12px; }
	.agc-trust { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
}

/* ═══════════════════════════════════════════════════════════════════════
   СТРАНИЦА ВОЗВРАТА С КАССЫ (/oplata-prinyata/)
   Одна карточка: пока скрипт ищет заказ, видно ожидание и человек уходит
   на страницу заказа; если заказ не найден, те же элементы показывают
   «Оплата получена» и кнопки (скрытое через [hidden] не перебивается display).
   ═══════════════════════════════════════════════════════════════════════ */
.opret { padding: 40px 20px 80px; display: flex; justify-content: center; }
.opret [hidden] { display: none; }
.opret__card {
	width: 100%;
	max-width: 560px;
	text-align: center;
	background: #fff;
	border: 1px solid #e7ecf4;
	border-radius: 22px;
	padding: 44px 36px 38px;
	box-shadow: 0 30px 60px -40px rgba(15, 23, 42, .45);
}
.opret__ic {
	display: grid;
	place-items: center;
	width: 62px;
	height: 62px;
	margin: 0 auto 20px;
	border-radius: 50%;
	background: linear-gradient(135deg, #34d399, #059669);
	color: #fff;
	box-shadow: 0 14px 30px -12px rgba(5, 150, 105, .6);
}
.opret__ic svg { width: 30px; height: 30px; }
.opret__spin {
	display: block;
	width: 46px;
	height: 46px;
	margin: 0 auto 22px;
	border-radius: 50%;
	border: 3px solid #e2e8f0;
	border-top-color: #2563eb;
	animation: opret-spin .9s linear infinite;
}
@keyframes opret-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .opret__spin { animation: none; } }
.opret .opret__t {
	margin: 0 0 10px;
	font-size: clamp(22px, 3vw, 28px);
	font-weight: 800;
	letter-spacing: -.02em;
	color: #0f172a;
	text-wrap: balance;
}
.opret__s { margin: 0 auto; max-width: 430px; font-size: 15.5px; line-height: 1.65; color: #64748b; text-wrap: balance; }
.opret__btns { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; margin-top: 26px; }
/* Кнопки как на остальном сайте: основная фирменным градиентом, вторая контурная.
   a.класс перебивает подчёркивание ссылок Astra без !important. */
.opret a.opret__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	padding: 13px 24px;
	border: 1px solid transparent;
	border-radius: 12px;
	background: linear-gradient(135deg, #2563eb, #4f46e5);
	color: #fff;
	font-size: 14.5px;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
	box-shadow: 0 14px 28px -14px rgba(37, 99, 235, .6);
	transition: filter .15s ease, transform .15s ease;
}
.opret a.opret__btn:hover { color: #fff; filter: brightness(1.07); transform: translateY(-1px); }
.opret a.opret__btn:focus-visible { outline: 2px solid #1d4ed8; outline-offset: 3px; }
.opret .opret__btn svg { width: 17px; height: 17px; }
.opret a.opret__btn--ghost { background: #fff; color: #1d4ed8; border-color: #dbe4f0; box-shadow: none; }
.opret a.opret__btn--ghost:hover { background: #f6f9ff; color: #1d4ed8; filter: none; }
.opret__note {
	margin: 22px 0 0;
	padding-top: 18px;
	border-top: 1px solid #eef2f8;
	font-size: 13px;
	line-height: 1.6;
	color: #64748b;
	text-wrap: balance;
}
@media (max-width: 640px) {
	.opret { padding: 26px 16px 54px; }
	.opret__card { padding: 32px 22px 28px; border-radius: 18px; }
	.opret__btns { flex-direction: column; }
}

/* ═══════════════════════════════════════════════════════════════════════
   TELEGRAM PREMIUM (/telegram-premium/): визуал карты и выбор срока
   ═══════════════════════════════════════════════════════════════════════ */
.agc-gc--premium { background: linear-gradient(150deg, #f0ebff 0%, #e6f3ff 100%); }
.agp-logo svg, .agp-headic svg { width: 40px; height: 40px; display: block; color: #2a9df0; }
.agp-biglogo {
	display: grid;
	place-items: center;
	width: 78px;
	height: 78px;
	border-radius: 24px;
	background: linear-gradient(150deg, #6c4de6, #2a9df0);
	color: #fff;
	box-shadow: 0 14px 30px -12px rgba(76, 60, 210, .55);
}
.agp-biglogo svg { width: 44px; height: 44px; display: block; }
.agp-wordmark { color: #5b3fd6; }
.agp-plans { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.agc-page .agp-plan {
	appearance: none;
	-webkit-appearance: none;
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 3px;
	margin: 0;
	padding: 14px 14px 13px;
	border: 1.5px solid var(--line);
	border-radius: 14px;
	background: #fff;
	color: #0f172a;
	text-align: left;
	cursor: pointer;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.agc-page .agp-plan:hover { border-color: #c7d2fe; background: #fff; color: #0f172a; }
.agc-page .agp-plan.is-on { border-color: #5b3fd6; box-shadow: 0 0 0 3px rgba(91, 63, 214, .14); }
.agp-plan__m { font-size: 14.5px; font-weight: 700; }
.agp-plan__p { font-size: 18px; font-weight: 800; letter-spacing: -.01em; font-variant-numeric: tabular-nums; }
.agp-plan__per { font-size: 12px; color: #64748b; }
.agp-plan__badge {
	position: absolute;
	top: -9px;
	right: 10px;
	padding: 3px 8px;
	border-radius: 999px;
	background: linear-gradient(135deg, #6c4de6, #2a9df0);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.3;
}
.agp-ustate { margin-top: 7px; font-size: 13px; font-weight: 600; color: var(--mut); }
.agp-ustate--ok { color: #16a34a; }
.agp-ustate--err { color: #b91c1c; }
@media (max-width: 640px) {
	.agp-plans { grid-template-columns: 1fr; }
	.agc-page .agp-plan { flex-direction: row; align-items: center; justify-content: space-between; flex-wrap: wrap; }
}

/* Возврат к кассе с экрана ожидания: человек мог случайно закрыть вкладку с оплатой. */
.agc-again {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 18px auto 0;
	padding: 12px 22px;
	border: 1px solid var(--line, #e2e8f0);
	border-radius: 12px;
	background: #fff;
	color: var(--ink, #0f172a);
	font-weight: 600;
	text-decoration: none;
}
.agc-again:hover { border-color: #cbd5e1; }
/* Главное действие экрана «спасибо»: вернуться туда, откуда человек пришёл. */
/* Блочная, чтобы ссылка «На главную» встала под кнопкой, а не рядом с ней. */
.agc-again--cta { display: flex; width: fit-content; gap: 8px; border-color: transparent; background: linear-gradient(135deg, #2563EB, #4F46E5); color: #fff; }
.agc-again--cta:hover { border-color: transparent; filter: brightness(1.06); }
.agc-again--cta svg { width: 18px; height: 18px; }

/* Инструкция под выданным кодом: без неё человек держит код и не знает, куда его вводить. */
.agc-howto {
	margin: 22px auto 0;
	max-width: 480px;
	padding: 16px 18px;
	border: 1px solid var(--line, #e2e8f0);
	border-radius: 14px;
	background: #f8fafc;
	text-align: left;
}
.agc-howto__t { display: block; margin-bottom: 6px; }
.agc-howto p { margin: 0; color: var(--mut, #475569); line-height: 1.55; }
.agc-howto__reg { margin-top: 8px !important; font-weight: 600; color: var(--ink, #0f172a) !important; }

/* Часы ожидания оплаты: без них бесконечное кручение пугает человека.
   Живут в углу карточки и меняют цвет по остатку времени, как счётчик брони. */
.agc-result { position: relative; }
.agc-tag {
	position: absolute;
	top: 14px;
	right: 14px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 11px;
	border-radius: 999px;
	font-weight: 600;
	font-size: 13px;
	line-height: 1;
	font-variant-numeric: tabular-nums;
}
.agc-tag svg { width: 15px; height: 15px; flex: none; }
.agc-tag--ok { background: #ecfdf5; color: #047857; }
.agc-tag--warn { background: #fff7ed; color: #b45309; }
.agc-tag--danger { background: #fef2f2; color: #b91c1c; }
@media (max-width: 520px) {
	.agc-tag { top: 10px; right: 10px; padding: 5px 9px; font-size: 12px; }
}
/* Закрытый заказ: спиннер уступает место крестику, чтобы состояние читалось сразу. */
.agc-result__ic--off {
	background: #f1f5f9;
	color: #64748b;
}


/* Ряд действий в блоке про регион: главная кнопка плюс две спокойные ссылки. */
.agc-ru__row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 18px;
	margin-top: 18px;
}
.agc-ru__alt {
	color: var(--mut, #475569);
	text-decoration: none;
	border-bottom: 1px solid currentColor;
	font-weight: 500;
}
.agc-ru__alt:hover { color: var(--ink, #0f172a); }
