

/* Start:/pages/podarochnaya-karta/css/gift.css?178523479637341*/
/* =========================================================================
   Лендинг подарочных сертификатов /pages/podarochnaya-karta/
   Стиль сайта Legstom: Panton, радиусы 5-8px, плоские панели, минимум теней.
   Опираемся на .btn._primary и .form-control из шаблона, а метро — на ._green/._orange/._red/._brown.
   ========================================================================= */

.gcard-scope {
    --gcard-text: #111;
    --gcard-muted: #5f6470;
    --gcard-line: rgba(17, 17, 17, 0.08);
    --gcard-blue: #0079ff;
    --gcard-blue-dark: #0457b8;

    --gcard-pan-grey: #f2f3f5;
    --gcard-pan-blue: #eaf2ff;
    --gcard-pan-peach: #fde8dc;
    --gcard-pan-mint: #e6f7ec;
    --gcard-pan-cream: #fbf3e3;

    --gcard-radius: 5px;
    --gcard-radius-btn: 8px;
    --gcard-max-width: 1180px;
    --gcard-serif: "Panton", "Arial", sans-serif;

    position: relative;
    color: var(--gcard-text);
    font-family: Arial, sans-serif;
}

.gcard-scope *,
.gcard-scope *::before,
.gcard-scope *::after { box-sizing: border-box; }

.gcard-scope img { max-width: 100%; display: block; }

.gcard-container {
    position: relative;
    width: min(calc(100% - 32px), var(--gcard-max-width));
    margin: 0 auto;
}

.gcard-main { padding: 12px 0 64px; }

/* ---------- Типографика ---------- */

.gcard-scope h1,
.gcard-scope h2,
.gcard-scope h3 {
    font-family: var(--gcard-serif);
    font-weight: 700;
    color: var(--gcard-text);
    letter-spacing: -0.01em;
    margin: 0;
}

.gcard-scope h1 { line-height: 1.05; }
.gcard-scope h2 { line-height: 1.08; }
.gcard-scope h3 { 
    line-height: 1.2; 
    padding-bottom: 5px;
    margin-bottom: 10px;
}

.gcard-scope p { color: var(--gcard-text); }

.gcard-eyebrow {
    font-family: var(--gcard-serif);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--gcard-blue);
    margin: 0 0 12px;
}

.gcard-section-title {
    font-size: clamp(28px, 3.6vw, 44px);
    margin: 0 0 10px;
    text-wrap: balance;
}

.gcard-section-lead {
    max-width: 780px;
    font-size: clamp(16px, 1.5vw, 18px);
    line-height: 1.55;
    color: var(--gcard-muted);
    margin: 0 0 32px;
}

/* ---------- Секции ---------- */

/* Отступы между секциями: правило близости — секции отделены большим воздухом */
.gcard-section { padding: 56px 0; }
.gcard-section--tight { padding: 24px 0; }

.gcard-panel {
    padding: 48px 56px;
    border-radius: var(--gcard-radius);
    background: var(--gcard-pan-grey);
}

/* Внутри секций: заголовок → lead — близко; lead → контент — отделяется */
.gcard-section > .gcard-container > .gcard-section-title { margin-bottom: 10px; }
.gcard-section > .gcard-container > .gcard-section-lead { margin-bottom: 32px; }

.gcard-panel--blue { background: var(--gcard-pan-blue); }

/* ---------- HERO ---------- */

.gcard-hero { padding: 8px 0 0; }

.gcard-hero__panel {
    position: relative;
    padding: 48px 56px;
    border-radius: var(--gcard-radius);
    background: var(--gcard-pan-grey);
}

/* ---------- WOW-variant: декоративные "облака", маршрут, анимации ---------- */

.gcard-hero__panel--wow { overflow: hidden; }

/* Декоративные цветные облака-пятна за сертификатом */
.gcard-hero__blob {
    position: absolute;
    border-radius: 50%;
    filter: blur(32px);
    pointer-events: none;
    z-index: 0;
}

.gcard-hero__blob--green {
    width: 380px;
    height: 380px;
    top: -60px;
    right: -40px;
    background: rgba(45, 190, 44, 0.22);
}

.gcard-hero__blob--yellow {
    width: 220px;
    height: 220px;
    bottom: -60px;
    left: -40px;
    background: rgba(251, 188, 5, 0.3);
}

/* Пунктирный маршрут на фоне hero */
.gcard-hero__route {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    pointer-events: none;
}

.gcard-hero__route-path {
    animation: gcard-dash 60s linear infinite;
}

/* Самолётик — движение через SVG animateMotion; здесь только стили */
.gcard-hero__plane {
    opacity: 0.85;
    transform-origin: center;
}

@keyframes gcard-dash {
    to { stroke-dashoffset: -600; }
}

/* Плавное покачивание сертификата */
.gcard-hero__ticket-float {
    animation: gcard-float 6s ease-in-out infinite;
    will-change: transform;
}

@keyframes gcard-float {
    0%, 100% { transform: translateY(0); }
    50%      { transform: translateY(-10px); }
}

/* Staggered появление элементов */
.gcard-anim {
    animation: gcard-reveal 0.7s cubic-bezier(0.22, 0.61, 0.36, 1) both;
    animation-delay: var(--d, 0s);
}

@keyframes gcard-reveal {
    from { opacity: 0; transform: translateY(18px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* Visual появляется с rotate+fade — заметнее остальных */
.gcard-hero__visual.gcard-anim {
    animation-name: gcard-reveal-ticket;
    animation-duration: 1s;
}

@keyframes gcard-reveal-ticket {
    from { opacity: 0; transform: translateY(40px) rotate(6deg); }
    to   { opacity: 1; transform: translateY(0) rotate(0); }
}

/* ---------- Scroll-reveal: появление секций при входе в viewport ---------- */

.gcard-reveal {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.7s cubic-bezier(0.22, 0.61, 0.36, 1),
                transform 0.7s cubic-bezier(0.22, 0.61, 0.36, 1);
    transition-delay: var(--d, 0s);
    will-change: transform, opacity;
}

.gcard-reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* ---------- Декоративные blobs для секций-панелей (comparison, CTA) ---------- */

.gcard-decor {
    position: relative;
    overflow: hidden;
}

.gcard-decor__blob {
    position: absolute;
    border-radius: 50%;
    filter: blur(40px);
    pointer-events: none;
    z-index: 0;
}

.gcard-decor__blob--yellow {
    width: 300px;
    height: 300px;
    top: -60px;
    right: -50px;
    background: rgba(251, 188, 5, 0.28);
}

.gcard-decor__blob--green {
    width: 260px;
    height: 260px;
    bottom: -60px;
    left: -40px;
    background: rgba(45, 190, 44, 0.18);
}

.gcard-decor__blob--blue {
    width: 340px;
    height: 340px;
    top: 50%;
    right: -80px;
    transform: translateY(-50%);
    background: rgba(0, 121, 255, 0.18);
}

.gcard-decor > *:not(.gcard-decor__blob) { position: relative; z-index: 1; }

/* ---------- Hover-эффект на фото-стек сертификатов ---------- */

.gcard-photo-stack:hover .gcard-photo--tilt-l {
    transform: rotate(-2.5deg) rotateY(8deg) rotateX(3deg) scale(1.02);
}

.gcard-photo-stack:hover .gcard-photo--tilt-r {
    transform: rotate(2.5deg) rotateY(-8deg) rotateX(3deg) scale(1.02);
}

.gcard-photo { cursor: pointer; }

/* ---------- Benefits: hover на номере ---------- */

.gcard-benefits article {
    transition: transform 0.3s ease;
}

.gcard-benefits article:hover {
    transform: translateY(-4px);
}

.gcard-benefits article:hover .gcard-benefit__num {
    color: var(--gcard-blue-dark);
}

.gcard-benefit__num {
    transition: color 0.3s ease;
}

/* ---------- Accessibility: уважаем prefers-reduced-motion ---------- */

@media (prefers-reduced-motion: reduce) {
    .gcard-anim,
    .gcard-reveal,
    .gcard-hero__ticket-float,
    .gcard-hero__plane,
    .gcard-hero__route-path,
    .gcard-benefits article,
    .gcard-photo {
        animation: none !important;
        transition: none !important;
    }
    .gcard-anim,
    .gcard-reveal { opacity: 1; transform: none; }
}

.gcard-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.25fr);
    gap: 32px;
    align-items: center;
    position: relative;
    z-index: 1;
}

/* Группа "заголовок + lead" — близкие элементы, сжатый ритм (правило близости) */
.gcard-hero__title {
    line-height: 1.05;
    letter-spacing: -0.02em;
    margin: 0 0 6px;
    text-wrap: balance;
}

/* lead переопределяем только margin/max-width — шрифт/размер от класса .lead шаблона */
.gcard-hero__lead.lead {
    margin: 0 0 28px;
    max-width: 460px;
}

.gcard-hero__proof {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    max-width: 460px;
}

.gcard-hero__proof-value {
    font-family: var(--gcard-serif);
    font-size: 22px;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--gcard-text);
    display: block;
}

.gcard-hero__proof-label {
    font-size: 13px;
    line-height: 1.4;
    color: var(--gcard-muted);
    margin: 0;
}

/* Сертификат-талон в hero — под углом + 3D-тень, с большим выносом вправо */
.gcard-hero__visual {
    position: relative;
    perspective: 1600px;
    margin-right: -72px;
}

.gcard-hero__ticket {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 20px;
    background: transparent;
    box-shadow:
        0 1px 2px rgba(17, 17, 17, 0.06),
        0 8px 16px rgba(17, 17, 17, 0.08),
        0 24px 48px rgba(0, 121, 255, 0.15),
        0 40px 80px rgba(17, 17, 17, 0.12);
    transform: rotate(-3deg) rotateX(4deg) rotateY(-8deg);
    transform-origin: center center;
    transition: transform 0.4s ease;
}

.gcard-hero__ticket--stacked {
    position: absolute;
    top: 30px;
    left: 20px;
    width: calc(100% - 40px);
    transform: rotate(-9deg) rotateX(6deg) rotateY(-6deg);
    opacity: 0.88;
    z-index: 0;
}

.gcard-hero__ticket--front {
    position: relative;
    z-index: 1;
}

.gcard-hero__visual:hover .gcard-hero__ticket--front {
    transform: rotate(-2deg) rotateX(2deg) rotateY(-4deg);
}

/* ---------- Две карточки выбора: offer-panel в стиле сайта (фирменный градиент + skew) ---------- */

.gcard-choice-section { padding: 16px 0 48px; }

.gcard-choice-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    align-items: start;
}

/* Базовая offer-panel — с наклонной "шапкой" как на сайте */
.gcard-offer {
    position: relative;
    display: block;
    padding: 36px 36px 40px;
    border-radius: var(--gcard-radius);
    text-decoration: none;
    color: inherit;
    overflow: hidden;
    isolation: isolate;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
    border-bottom: 0;
}

.gcard-offer::before,
.gcard-offer::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    height: 36px;
    z-index: -1;
    transform: skewY(6deg);
}

/* Основной фон карточки — фирменный градиент сайта */
.gcard-offer {
    background: linear-gradient(79.1deg, #e6f2ff, #faf1ed 47.82%, #faf1ed);
}

/* Скос сверху и снизу (пересечение градиента создаёт фирменный эффект) */
.gcard-offer::before {
    top: -18px;
    background: linear-gradient(79.1deg, #e6f2ff, #faf1ed 47.82%, #faf1ed);
}

.gcard-offer::after {
    bottom: -18px;
    background: linear-gradient(79.1deg, #e6f2ff, #faf1ed 47.82%, #faf1ed);
}

/* Инвертированный градиент для второй карточки — зеркально + разные сдвиги */
.gcard-offer--paper {
    background: linear-gradient(-79.1deg, #eaf6ee, #fff8e5 52%, #fff8e5);
    transform: translateY(20px);
}

.gcard-offer--paper::before,
.gcard-offer--paper::after {
    background: linear-gradient(-79.1deg, #eaf6ee, #fff8e5 52%, #fff8e5);
    transform: skewY(-6deg);
}

.gcard-offer:hover {
    transform: translateY(-4px);
    text-decoration: none;
}

.gcard-offer--paper:hover {
    transform: translateY(16px);
}

.gcard-offer:focus-visible {
    outline: 3px solid rgba(0, 121, 255, 0.3);
    outline-offset: 3px;
}

.gcard-offer__body {
    position: relative;
    z-index: 1;
}

/* Правило близости: title+text — одна плотная группа (8px между ними), между группами — 32px */
.gcard-scope .gcard-offer__title {
    line-height: 1.15;
    margin: 0 0 8px;
    max-width: 18ch;
}

.gcard-scope .gcard-offer__title .c-primary { color: var(--gcard-blue); }

.gcard-scope .gcard-offer__text {
    font-size: 16px;
    line-height: 1.5;
    color: var(--gcard-text);
    margin: 0 0 32px;
    opacity: 0.78;
}

/* price+cta — вторая плотная группа (8px) */
.gcard-offer__foot {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.gcard-scope .gcard-offer__price {
    font-family: var(--gcard-serif);
    font-weight: 700;
    font-size: 34px;
    line-height: 1;
    letter-spacing: -0.02em;
    color: var(--gcard-text);
    margin: 0;
}

.gcard-offer__cta {
    display: inline-flex;
    align-items: center;
    font-family: var(--gcard-serif);
    font-weight: 700;
    font-size: 17px;
    color: var(--gcard-blue);
    transition: transform 0.2s ease;
}

.gcard-offer:hover .gcard-offer__cta {
    transform: translateX(4px);
}

/* Круглый штамп в углу у электронной карточки */
.gcard-offer__stamp {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 86px;
    height: 86px;
    border-radius: 50%;
    background: var(--gcard-blue);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: rotate(-12deg);
    box-shadow: 0 8px 20px rgba(0, 121, 255, 0.28);
    z-index: 2;
}

.gcard-offer__stamp-inner {
    font-family: var(--gcard-serif);
    font-weight: 700;
    font-size: 14px;
    line-height: 1.05;
    text-align: center;
    letter-spacing: -0.01em;
}

/* Диагональная лента на бумажной карточке */
.gcard-offer__ribbon {
    position: absolute;
    top: 20px;
    right: -38px;
    transform: rotate(32deg);
    background: var(--gcard-blue);
    color: #fff;
    font-family: var(--gcard-serif);
    font-weight: 700;
    font-size: 12px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 6px 44px;
    z-index: 2;
    box-shadow: 0 6px 16px rgba(0, 121, 255, 0.2);
}

/* Чтобы заголовки не наезжали на штамп/ленту */
.gcard-offer__title { padding-right: 104px; }
.gcard-offer--paper .gcard-offer__title { padding-right: 76px; }

/* ---------- Trust stats (4 числа) ---------- */

.gcard-trust {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 32px;
}

.gcard-trust__value {
    font-family: var(--gcard-serif);
    font-weight: 700;
    font-size: clamp(34px, 4vw, 48px);
    line-height: 1;
    letter-spacing: -0.03em;
    color: var(--gcard-text);
    display: block;
    margin-bottom: 12px;
}

.gcard-trust__text {
    font-size: 15px;
    line-height: 1.55;
    color: var(--gcard-muted);
    margin: 0;
}

/* Metro-пилюли с цветной точкой у названия станции — как в шапке сайта */
.gcard-metro {
    display: flex;
    flex-wrap: wrap;
    gap: 3px 10px;
    align-items: center;
    line-height: 1.4;
}

.gcard-metro__pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-weight: 700;
    color: var(--gcard-text);
    white-space: nowrap;
}

.gcard-metro__dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    flex-shrink: 0;
    background: #999;
}

.gcard-metro__dot._green  { background: #2DBE2C; }
.gcard-metro__dot._orange { background: #ED9121; }
.gcard-metro__dot._red    { background: #EF161E; }
.gcard-metro__dot._brown  { background: #8D5B2D; }

/* FAQ-ответ: адреса клиник со своими пилюлями */
.gcard-faq__answer .gcard-metro__pill {
    margin-right: 4px;
}

/* ---------- Benefits (3 блока, без коробок) ---------- */

.gcard-benefits {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 40px;
}

.gcard-benefit__num {
    font-family: var(--gcard-serif);
    font-weight: 700;
    font-size: 48px;
    line-height: 1;
    color: var(--gcard-blue);
    letter-spacing: -0.03em;
    display: block;
    margin-bottom: 16px;
}

.gcard-benefit__title {
    font-size: 22px;
    line-height: 1.2;
    margin: 0 0 10px;
}

.gcard-benefit__text {
    font-size: 16px;
    line-height: 1.55;
    color: var(--gcard-muted);
    margin: 0;
}

/* ---------- Сравнение (таблица) ---------- */

.gcard-compare { margin-top: 4px; }
.gcard-compare--desktop { display: block; }
.gcard-compare--mobile { display: none; }

/* Stacked карточки сравнения для мобильного */
.gcard-compare-card {
    padding: 24px 22px;
    border-radius: var(--gcard-radius);
    background: #fff;
}

.gcard-compare-card + .gcard-compare-card { margin-top: 14px; }

.gcard-compare-card__title {
    font-family: var(--gcard-serif);
    font-size: 22px;
    font-weight: 700;
    margin: 0 0 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--gcard-line);
}

.gcard-compare-card__list {
    margin: 0;
}

.gcard-compare-card__list dt {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--gcard-muted);
}

.gcard-compare-card__list dd {
    margin: 0 0 18px;
    font-size: 16px;
    line-height: 1.45;
    color: var(--gcard-text);
}

.gcard-compare-card__list dd:last-child { margin-bottom: 0; }


.gcard-compare__table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    min-width: 640px;
    font-size: 16px;
    line-height: 1.45;
}

.gcard-compare__table th,
.gcard-compare__table td {
    padding: 18px 22px;
    text-align: left;
    vertical-align: top;
    border-bottom: 1px solid var(--gcard-line);
}

.gcard-compare__table thead th {
    font-family: var(--gcard-serif);
    font-size: 24px;
    font-weight: 700;
    padding-top: 6px;
    padding-bottom: 18px;
    border-bottom: 2px solid var(--gcard-line);
}

.gcard-compare__table thead th:first-child {
    font-family: var(--gcard-serif);
    font-size: 13px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--gcard-muted);
    font-weight: 700;
}

.gcard-compare__table tbody th {
    font-weight: 400;
    color: var(--gcard-muted);
    width: 26%;
    font-size: 15px;
}

.gcard-compare__table tbody tr:last-child th,
.gcard-compare__table tbody tr:last-child td { border-bottom: none; }

.gcard-compare__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 28px;
}

/* ---------- Outline-кнопка в стиле сайта ---------- */

.gcard-btn-outline,
.gcard-scope a.gcard-btn-outline {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 26px;
    border: 2px solid var(--gcard-blue);
    border-bottom: 2px solid var(--gcard-blue) !important;
    border-radius: var(--gcard-radius-btn);
    background: transparent;
    color: var(--gcard-blue);
    font-family: var(--gcard-serif);
    font-size: 17px;
    font-weight: 700;
    text-decoration: none !important;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.gcard-scope a.gcard-btn-outline:hover,
.gcard-scope a.gcard-btn-outline:focus-visible,
.gcard-btn-outline:hover,
.gcard-btn-outline:focus-visible {
    background: var(--gcard-blue);
    border-color: var(--gcard-blue);
    color: #fff !important;
    text-decoration: none !important;
}

.gcard-btn-outline:focus-visible {
    outline: 3px solid rgba(0, 121, 255, 0.28);
    outline-offset: 2px;
}

/* ---------- How it works + фото талона ---------- */

.gcard-how {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
    gap: 56px;
    align-items: center;
}

.gcard-steps {
    list-style: none;
    counter-reset: gstep;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 28px;
}

.gcard-steps__item {
    counter-increment: gstep;
    display: grid;
    grid-template-columns: 44px 1fr;
    gap: 10px;
    align-items: start;
}

.gcard-steps__item::before {
    content: counter(gstep);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--gcard-blue);
    color: #fff;
    font-family: var(--gcard-serif);
    font-weight: 700;
    font-size: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.gcard-steps__title { font-size: 20px; margin: 6px 0 6px; }
.gcard-steps__text { font-size: 15px; line-height: 1.55; color: var(--gcard-muted); margin: 0; }

/* Фото талона — 3D, слегка под углом */
.gcard-photo-stack { display: grid; gap: 32px; perspective: 1600px; }

.gcard-photo {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 8px;
    background: transparent;
    box-shadow:
        0 1px 2px rgba(17, 17, 17, 0.06),
        0 8px 16px rgba(17, 17, 17, 0.08),
        0 20px 40px rgba(0, 121, 255, 0.1),
        0 32px 60px rgba(17, 17, 17, 0.1);
    transition: transform 0.3s ease;
}

.gcard-photo--tilt-l {
    transform: rotate(-1.5deg) rotateY(6deg) rotateX(2deg);
}

.gcard-photo--tilt-r {
    transform: rotate(1.5deg) rotateY(-6deg) rotateX(2deg);
}

.gcard-photo-stack:hover .gcard-photo { transform: rotate(0) rotateY(0) rotateX(0); }

/* ---------- Quote ---------- */

.gcard-quote {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.9fr);
    gap: 20px;
}

.gcard-quote__statement {
    position: relative;
    padding: 48px 44px;
    border-radius: var(--gcard-radius);
    background: linear-gradient(135deg, #fbf3e3 0%, #fde8dc 50%, #eaf2ff 100%);
    color: var(--gcard-text);
    display: flex;
    align-items: center;
    overflow: hidden;
    isolation: isolate;
}

.gcard-quote__statement p {
    position: relative;
    z-index: 2;
    margin: 0;
    font-family: var(--gcard-serif);
    font-weight: 700;
    font-size: clamp(26px, 3.4vw, 40px);
    line-height: 1.08;
    letter-spacing: -0.02em;
    color: var(--gcard-text);
    text-wrap: balance;
}

/* Паттерн из эмодзи-обнимашек на фоне */
.gcard-quote__pattern {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    grid-auto-rows: 1fr;
    opacity: 0.35;
    pointer-events: none;
    user-select: none;
}

.gcard-quote__pattern span {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: clamp(28px, 4vw, 48px);
    filter: saturate(0.85);
}

.gcard-quote__pattern span:nth-child(even) {
    transform: rotate(-8deg);
}

.gcard-quote__pattern span:nth-child(3n) {
    transform: rotate(12deg) scale(0.85);
}

.gcard-quote__side { display: grid; gap: 16px; }

.gcard-quote-stat {
    padding: 26px 28px;
    border-radius: var(--gcard-radius);
    background: var(--gcard-pan-grey);
}

.gcard-quote-stat__value {
    font-family: var(--gcard-serif);
    font-weight: 700;
    font-size: 22px;
    line-height: 1.15;
    letter-spacing: -0.02em;
    margin: 0 0 8px;
}

.gcard-quote-stat__text { font-size: 15px; line-height: 1.5; color: var(--gcard-muted); margin: 0; }

/* ---------- Why us ---------- */

.gcard-why {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 48px;
}

/* Правило близости: title + list — одна группа, title→list 16px */
.gcard-why article > * + * { margin-top: 16px; }

.gcard-why__title {
    font-family: var(--gcard-serif);
    font-weight: 700;
    font-size: 24px;
    line-height: 1.2;
    margin: 0;
}

/* list-advantages приходит из шаблона (с "+" слева). Здесь — только межстрочный ритм */
.gcard-why .list-advantages {
    margin: 0;
}

.gcard-why .list-advantages li {
    font-size: 16px;
    line-height: 1.55;
}

.gcard-why .list-advantages li + li {
    margin-top: 12px;
}

/* ---------- Form ---------- */

.gcard-form-section { padding: 48px 0; }

.gcard-form-panel {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
    gap: 40px;
    padding: 48px 56px;
    border-radius: var(--gcard-radius);
    background: var(--gcard-pan-grey);
}

.gcard-form__head { margin-bottom: 24px; }
.gcard-form__head .gcard-section-title {
    font-size: clamp(28px, 3.4vw, 40px);
    margin-bottom: 12px;
}
.gcard-form__head p { font-size: 16px; line-height: 1.5; color: var(--gcard-muted); }

.gcard-form__row {
    display: grid;
    gap: 14px;
    margin-bottom: 14px;
}

.gcard-form__row--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.gcard-form__amount-wrap { position: relative; }

.gcard-form__amount-wrap::after {
    content: "₽";
    position: absolute;
    top: 50%;
    right: 16px;
    transform: translateY(-50%);
    font-size: 17px;
    color: var(--gcard-muted);
    pointer-events: none;
}

.gcard-form__delivery {
    border: 0;
    padding: 0;
    margin: 8px 0 18px;
    display: grid;
    gap: 10px;
}

.gcard-form__delivery legend {
    font-family: var(--gcard-serif);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--gcard-muted);
    padding: 0;
    margin-bottom: 10px;
}

.gcard-form__delivery-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.gcard-form__radio {
    position: relative;
    display: grid;
    grid-template-columns: 20px 36px 1fr;
    align-items: center;
    column-gap: 14px;
    padding: 14px 18px;
    border-radius: var(--gcard-radius-btn);
    border: 1.5px solid #ccc;
    background: #fff;
    cursor: pointer;
    font-size: 15px;
    transition: border-color 0.18s ease, background-color 0.18s ease;
}

.gcard-form__radio > span:last-child { padding-left: 18px; }

.gcard-form__radio-icon {
    width: 36px;
    height: 36px;
}

.gcard-form__radio-icon svg { width: 20px; height: 20px; }

.gcard-form__radio input {
    width: 20px;
    height: 20px;
    margin: 0;
    accent-color: var(--gcard-blue);
}

.gcard-form__radio-icon {
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--gcard-radius);
    background: var(--gcard-pan-blue);
    color: var(--gcard-blue);
}

.gcard-form__radio-icon svg { width: 24px; height: 24px; }

.gcard-form__radio-label {
    font-family: var(--gcard-serif);
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
}

.gcard-form__radio-sub {
    display: block;
    font-family: Arial, sans-serif;
    font-weight: 400;
    font-size: 13px;
    color: var(--gcard-muted);
    margin-top: 2px;
    white-space: nowrap;
}

.gcard-form__radio:hover { border-color: var(--gcard-blue); }

.gcard-form__radio:has(input:checked) {
    border-color: var(--gcard-blue);
    background: #eaf2ff;
}

.gcard-form__address[hidden] { display: none; }

.gcard-form__clinic {
    border: 0;
    padding: 0;
    margin: 0 0 18px;
    display: grid;
    gap: 10px;
}

.gcard-form__clinic[hidden] { display: none; }

.gcard-form__clinic legend {
    font-family: var(--gcard-serif);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--gcard-muted);
    padding: 0;
    margin-bottom: 10px;
}

.gcard-form__clinic-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.gcard-form__clinic-chip {
    position: relative;
    display: grid;
    grid-template-columns: 14px 1fr;
    grid-template-areas:
        "dot name"
        ".   addr";
    align-items: center;
    column-gap: 10px;
    row-gap: 2px;
    padding: 12px 14px;
    border-radius: var(--gcard-radius-btn);
    border: 1.5px solid #ccc;
    background: #fff;
    cursor: pointer;
    font-size: 14px;
    transition: border-color 0.18s ease, background-color 0.18s ease;
}

.gcard-form__clinic-chip input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.gcard-form__clinic-chip > .gcard-metro__dot { grid-area: dot; }

.gcard-form__clinic-chip-name {
    grid-area: name;
    font-family: var(--gcard-serif);
    font-weight: 700;
    line-height: 1.2;
}

.gcard-form__clinic-chip-addr {
    grid-area: addr;
    font-family: Arial, sans-serif;
    font-weight: 400;
    font-size: 12px;
    color: var(--gcard-muted);
    line-height: 1.3;
}

.gcard-form__clinic-chip:hover { border-color: var(--gcard-blue); }

.gcard-form__clinic-chip:has(input:checked) {
    border-color: var(--gcard-blue);
    background: #eaf2ff;
}

@media (max-width: 600px) {
    .gcard-form__clinic-grid { grid-template-columns: minmax(0, 1fr); }
}

/* Правило близости: кнопка — отдельная группа, согласие — тоже отдельная */
.gcard-form__submit { margin-top: 16px; }

.gcard-form__agreement {
    margin: 14px 0 0;
    font-size: 13px;
    line-height: 1.45;
    color: var(--gcard-muted);
    max-width: 340px;
}

.gcard-form__agreement a { color: var(--gcard-muted); }

.gcard-form__side {
    padding: 30px 32px;
    border-radius: var(--gcard-radius);
    background: #fff;
    align-self: start;
}

.gcard-form__side-title { font-size: 20px; margin: 0 0 14px; }

.gcard-form__side-list {
    margin: 0 0 18px;
    padding-left: 20px;
    font-size: 15px;
    line-height: 1.55;
    color: var(--gcard-muted);
}

.gcard-form__side-list li + li { margin-top: 8px; }

.gcard-form__side-meta {
    border-top: 1px solid var(--gcard-line);
    padding-top: 14px;
    font-size: 14px;
    line-height: 1.7;
    color: var(--gcard-muted);
    margin: 0;
}

.gcard-form__side-meta strong { color: var(--gcard-text); font-weight: 700; }

/* ---------- FAQ ---------- */

.gcard-faq { display: grid; gap: 0; }

.gcard-faq__item {
    border-bottom: 1px solid var(--gcard-line);
    background: transparent;
    padding: 0;
}

.gcard-faq__item:first-child { border-top: 1px solid var(--gcard-line); }

.gcard-faq__question {
    position: relative;
    display: block;
    padding: 22px 58px 22px 0;
    cursor: pointer;
    list-style: none;
    font-family: var(--gcard-serif);
    font-size: 20px;
    line-height: 1.3;
    font-weight: 700;
    color: var(--gcard-text);
}

.gcard-faq__question::-webkit-details-marker { display: none; }

.gcard-faq__question::after {
    content: "";
    position: absolute;
    top: 30px;
    right: 6px;
    width: 14px;
    height: 14px;
    border-right: 2px solid var(--gcard-blue);
    border-bottom: 2px solid var(--gcard-blue);
    transform: rotate(45deg);
    transition: transform 0.2s ease;
}

.gcard-faq__item[open] .gcard-faq__question::after {
    transform: rotate(-135deg);
    top: 34px;
}

.gcard-faq__answer {
    padding: 0 0 22px;
    font-size: 16px;
    line-height: 1.6;
    color: var(--gcard-muted);
    max-width: 820px;
}

.gcard-faq__answer p { margin: 0; color: inherit; }

/* ---------- Final CTA ---------- */

.gcard-cta { padding: 24px 0 0; }

.gcard-cta__panel {
    padding: 64px 48px;
    border-radius: var(--gcard-radius);
    background: var(--gcard-pan-blue);
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* Правило близости: title + text — плотная группа (12px), text → actions — шире (32px) */
.gcard-cta__title {
    font-size: clamp(30px, 4vw, 44px);
    margin: 0 0 12px;
    line-height: 1.1;
    text-wrap: balance;
}

.gcard-cta__text {
    max-width: 620px;
    margin: 0 0 32px;
    font-size: 17px;
    line-height: 1.5;
    color: var(--gcard-muted);
    text-align: center;
}

.gcard-cta__actions {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 14px;
    justify-content: center;
    align-items: center;
}

/* ---------- Плавающая кнопка CTA — только на мобильном ---------- */

.gcard-sticky-cta {
    position: fixed;
    left: 12px;
    right: 12px;
    bottom: calc(12px + env(safe-area-inset-bottom));
    z-index: 60;
    display: none;
    align-items: center;
    justify-content: center;
    min-height: 54px;
    padding: 0 22px;
    border-radius: var(--gcard-radius-btn);
    background: linear-gradient(135deg, var(--gcard-blue), var(--gcard-blue-dark));
    color: #fff;
    font-family: var(--gcard-serif);
    font-weight: 700;
    font-size: 15px;
    text-decoration: none;
    box-shadow: 0 12px 30px rgba(0, 121, 255, 0.28);
}

.gcard-sticky-cta:hover,
.gcard-sticky-cta:focus-visible {
    color: #fff;
    text-decoration: none;
}

.gcard-sticky-cta:focus-visible {
    outline: 3px solid rgba(0, 121, 255, 0.3);
    outline-offset: 3px;
}

/* ---------- Responsive ---------- */

@media (max-width: 1023px) {
    .gcard-hero__panel,
    .gcard-panel,
    .gcard-form-panel { padding: 40px 36px; }

    .gcard-hero__grid,
    .gcard-how,
    .gcard-why,
    .gcard-form-panel,
    .gcard-quote {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .gcard-benefits,
    .gcard-trust { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }

    .gcard-hero__proof { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
    .gcard-container { width: min(calc(100% - 24px), var(--gcard-max-width)); }

    .gcard-main { padding-bottom: 110px; margin-top: -20px;}

    .gcard-section { padding: 32px 0; }

    .gcard-hero__panel,
    .gcard-panel,
    .gcard-form-panel,
    .gcard-cta__panel { padding: 28px 22px; }

    /* Карточки-офферы на мобильном: без сдвига вниз, штамп/лента компактнее */
    .gcard-offer--paper { transform: none; }
    .gcard-offer--paper:hover { transform: translateY(-4px); }

    .gcard-offer__stamp {
        width: 72px;
        height: 72px;
        top: 14px;
        right: 14px;
    }

    .gcard-offer__stamp-inner { font-size: 12px; }

    .gcard-offer__ribbon {
        top: 16px;
        right: -42px;
        font-size: 11px;
        padding: 5px 46px;
    }

    .gcard-offer__title { padding-right: 82px; }
    .gcard-offer--paper .gcard-offer__title { padding-right: 70px; }

    /* Hero mobile — сертификат виден на первом экране, под углом и с нахлёстом */
    .gcard-hero__panel { padding-bottom: 0; }

    .gcard-hero__grid {
        display: flex;
        flex-direction: column;
        gap: 0;
    }

    .gcard-hero__intro { order: 1; }

    .gcard-hero__visual {
        order: 2;
        margin: 16px -30px -28px;
        padding-bottom: 20px;
    }

    .gcard-hero__ticket {
        transform: rotate(-4deg);
    }

    .gcard-hero__ticket--stacked {
        top: 14px;
        left: -10px;
        width: calc(100% - 20px);
        transform: rotate(-10deg);
    }

    .gcard-hero__title { font-size: 32px; }
    .gcard-section-title { font-size: 26px; }

    .gcard-hero__proof,
    .gcard-benefits,
    .gcard-trust,
    .gcard-form__row--two,
    .gcard-form__delivery-grid,
    .gcard-compare__actions,
    .gcard-cta__actions { grid-template-columns: 1fr; }

    /* Таблица → карточки на мобильном */
    .gcard-compare--desktop { display: none; }
    .gcard-compare--mobile { display: block; }

    .gcard-hero__proof { gap: 18px; margin-top: 8px; }

    /* Две карточки выбора: стак с разделителем */
    .gcard-choice-row {
        grid-template-columns: 1fr;
        border-top: 1px solid rgba(17, 17, 17, 0.1);
    }

    .gcard-choice {
        border-right: none;
        border-bottom: 1px solid rgba(17, 17, 17, 0.1);
        padding: 24px 0;
    }

    .gcard-choice:last-child { border-bottom: none; }

    .gcard-how { gap: 32px; }

    .gcard-photo-stack { gap: 24px; }
    .gcard-photo--tilt-l,
    .gcard-photo--tilt-r { transform: rotate(-1deg); }

    .gcard-cta__actions,
    .gcard-compare__actions {
        display: flex;
        flex-direction: column;
    }

    .gcard-choice__title { font-size: 24px; }

    .gcard-faq__question { font-size: 17px; padding: 18px 42px 18px 0; }
    .gcard-faq__question::after { top: 24px; width: 12px; height: 12px; }
    .gcard-faq__item[open] .gcard-faq__question::after { top: 30px; }

    .gcard-sticky-cta { display: inline-flex; }

    .gcard-compare__actions .btn,
    .gcard-compare__actions .gcard-btn-outline,
    .gcard-cta__actions .btn,
    .gcard-cta__actions .gcard-btn-outline { width: 100%; }

    .gcard-form__radio {
        grid-template-columns: 24px 40px 1fr;
        padding: 14px 16px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .gcard-choice,
    .gcard-choice__cta::after,
    .gcard-faq__question::after,
    .gcard-hero__ticket,
    .gcard-photo { transition: none; }
}

/* End */
/* /pages/podarochnaya-karta/css/gift.css?178523479637341 */
