/* ==========================================================================
   GYNOLIFE Price Quote Form — Modern 2026 Edition
   CF7 Form ID: 4535 · 3-step multi-step
   JS-bound hooks (do NOT rename):
     .gqf-v8-step / .aktif / data-step / data-summary
     .gqf-v8-button / .gqf-v8-geri / .gqf-v8-ileri / .gqf-v8-gonder
     .gqf-v8-summary / .gqf-v8-input-group / .gqf-v8-nav / .gqf-v8-nav-right
     .gqf-v8-captcha-wrapper / .gqf-v8-progress / .gqf-v8-progress-step
     .gqf-v8-progress-bubble / .gqf-v8-success-screen / .gqf-v8-success-icon
   ========================================================================== */

/* ---------- Design tokens ---------- */
#gqf-v8-container {
    --gqf-brand: #7761DF;
    --gqf-brand-deep: #5b46c0;
    --gqf-brand-soft: #efeaff;
    --gqf-brand-grad: linear-gradient(135deg, #7761DF 0%, #5b46c0 100%);
    --gqf-accent: #ffd66b;
    --gqf-accent-soft: #fff5d8;

    --gqf-ink: #14132b;
    --gqf-ink-2: #4b4a66;
    --gqf-muted: #8a89a3;

    --gqf-surface: #ffffff;
    --gqf-surface-2: #f8f7ff;
    --gqf-line: #e7e4f4;

    --gqf-success: #16a34a;
    --gqf-danger: #ef4444;

    --gqf-radius-sm: 12px;
    --gqf-radius: 16px;
    --gqf-radius-lg: 22px;

    --gqf-shadow-sm: 0 4px 14px -6px rgba(91, 70, 192, 0.18);
    --gqf-shadow: 0 18px 40px -18px rgba(91, 70, 192, 0.30), 0 6px 18px -10px rgba(20, 19, 43, 0.10);
    --gqf-shadow-lift: 0 24px 60px -22px rgba(91, 70, 192, 0.45);

    --gqf-ease: cubic-bezier(.34, 1.56, .64, 1);
    --gqf-ease-soft: cubic-bezier(.4, 0, .2, 1);
}

/* ---------- Container & background ---------- */
#gqf-v8-container {
    font-family: 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    color: var(--gqf-ink);
    position: relative;
    z-index: 10;
    max-width: 1140px;
    margin: 48px auto;
    padding: 2rem;
    display: flex;
    isolation: isolate;
    overflow: hidden;
    border-radius: var(--gqf-radius-lg);
    background:
        radial-gradient(1200px 600px at -10% -20%, rgba(119, 97, 223, 0.10), transparent 60%),
        radial-gradient(900px 500px at 110% 120%, rgba(255, 214, 107, 0.10), transparent 55%),
        linear-gradient(180deg, #fbfaff 0%, #f4f1ff 100%);
}

/* Decorative floating blobs */
#gqf-v8-container::before,
#gqf-v8-container::after {
    content: "";
    position: absolute;
    z-index: -1;
    border-radius: 50%;
    filter: blur(40px);
    pointer-events: none;
    opacity: 0.55;
    animation: gqf-float 9s ease-in-out infinite;
}
#gqf-v8-container::before {
    width: 320px; height: 320px;
    top: -120px; right: -80px;
    background: radial-gradient(circle, rgba(119, 97, 223, 0.45), transparent 70%);
}
#gqf-v8-container::after {
    width: 380px; height: 380px;
    bottom: -160px; left: -120px;
    background: radial-gradient(circle, rgba(255, 214, 107, 0.45), transparent 70%);
    animation-delay: -4.5s;
}

@keyframes gqf-float {
    0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
    50%      { transform: translate3d(0, -22px, 0) scale(1.05); }
}

#gqf-v8-form-wrapper {
    width: 100%;
    margin: 0 auto;
    display: flex;
    align-items: stretch;
    position: relative;
    border-radius: var(--gqf-radius);
    overflow: hidden;
    background: rgba(255, 255, 255, 0.72);
    backdrop-filter: blur(14px) saturate(140%);
    -webkit-backdrop-filter: blur(14px) saturate(140%);
    border: 1px solid rgba(255, 255, 255, 0.6);
    box-shadow: var(--gqf-shadow);
    /* min-height removed — content drives height; sidebar stretches to match */
}

#gqf-v8-container *,
#gqf-v8-container *::before,
#gqf-v8-container *::after { box-sizing: border-box; }

/* CF7 reset */
#gqf-v8-container .wpcf7-form { display: contents; }
#gqf-v8-container .wpcf7-form p,
#gqf-v8-container .wpcf7-form br { display: none; }
.wpcf7-form .wpcf7-response-output { display: none; }
.wpcf7-form.sent .wpcf7-response-output,
.wpcf7-form.invalid .wpcf7-response-output,
.wpcf7-form.failed .wpcf7-response-output {
    display: block !important;
    margin: 1rem 3rem 0;
    padding: 0.85rem 1.1rem;
    border-radius: var(--gqf-radius-sm);
    border: 1px solid var(--gqf-line);
    background: var(--gqf-surface-2);
    font-size: 14px;
    color: var(--gqf-ink-2);
}
.wpcf7-form.invalid .wpcf7-response-output,
.wpcf7-form.failed .wpcf7-response-output {
    border-color: rgba(239, 68, 68, 0.4);
    background: #fef2f2;
    color: #991b1b;
}
#gqf-v8-container .wpcf7-spinner { display: none !important; }

/* ==========================================================================
   SIDEBAR — Animated step progress
   ========================================================================== */
.gqf-v8-sidebar {
    width: 320px;
    flex-shrink: 0;
    padding: 2.5rem 2rem;
    color: #fff;
    background: var(--gqf-brand-grad);
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.gqf-v8-sidebar::before {
    content: "";
    position: absolute;
    inset: -40% -40% auto auto;
    width: 280px; height: 280px;
    background: radial-gradient(circle, rgba(255, 214, 107, 0.35), transparent 70%);
    border-radius: 50%;
    animation: gqf-float 8s ease-in-out infinite;
    pointer-events: none;
}
.gqf-v8-sidebar::after {
    content: "";
    position: absolute;
    inset: auto auto -30% -30%;
    width: 240px; height: 240px;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.18), transparent 70%);
    border-radius: 50%;
    animation: gqf-float 10s ease-in-out infinite;
    animation-delay: -3s;
    pointer-events: none;
}

.gqf-v8-sidebar-content {
    display: flex;
    flex-direction: column;
    height: 100%;
    position: relative;
    z-index: 1;
}

.gqf-v8-logo {
    height: 44px;
    width: auto;
    margin-bottom: 3rem;
    object-fit: contain;
    filter: brightness(0) invert(1);
}

/* Progress rail (vertical on desktop) */
.gqf-v8-progress {
    display: flex;
    flex-direction: column;
    gap: 1.4rem;
    flex-grow: 1;
    position: relative;
}
.gqf-v8-progress::before {
    content: "";
    position: absolute;
    left: 19px;
    top: 16px;
    bottom: 16px;
    width: 2px;
    background: rgba(255, 255, 255, 0.18);
    border-radius: 2px;
    z-index: 0;
}

.gqf-v8-progress-step {
    display: flex;
    align-items: center;
    gap: 1rem;
    opacity: 0.55;
    transition: opacity 0.35s var(--gqf-ease-soft);
    position: relative;
    z-index: 1;
}
.gqf-v8-progress-step.aktif { opacity: 1; }

.gqf-v8-progress-bubble {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: rgba(255, 255, 255, 0.10);
    border: 2px solid rgba(255, 255, 255, 0.40);
    color: #fff;
    font-weight: 700;
    font-size: 15px;
    flex-shrink: 0;
    transition: transform 0.35s var(--gqf-ease), background-color 0.3s var(--gqf-ease-soft), border-color 0.3s var(--gqf-ease-soft);
    position: relative;
}

/* Active step bubble — glowing ring */
.gqf-v8-progress-step.aktif .gqf-v8-progress-bubble {
    background: var(--gqf-accent);
    color: var(--gqf-brand-deep);
    border-color: var(--gqf-accent);
    transform: scale(1.08);
    box-shadow:
        0 0 0 6px rgba(255, 214, 107, 0.25),
        0 8px 22px -6px rgba(255, 214, 107, 0.55);
    animation: gqf-pulse 2.4s ease-in-out infinite;
}

/* Completed steps (numbered before active reach) — checkmark via ::after */
.gqf-v8-progress-step.aktif:not(:last-child) ~ .gqf-v8-progress-step.aktif .gqf-v8-progress-bubble {
    /* fallback: keep numbers visible */
}

@keyframes gqf-pulse {
    0%, 100% { box-shadow: 0 0 0 6px rgba(255, 214, 107, 0.22), 0 8px 22px -6px rgba(255, 214, 107, 0.55); }
    50%      { box-shadow: 0 0 0 10px rgba(255, 214, 107, 0.10), 0 8px 22px -6px rgba(255, 214, 107, 0.55); }
}

.gqf-v8-progress-label {
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.01em;
    color: rgba(255, 255, 255, 0.95);
}
.gqf-v8-progress-step .gqf-v8-progress-label small {
    display: block;
    font-size: 12px;
    font-weight: 500;
    opacity: 0.7;
    margin-top: 2px;
}

.gqf-v8-sidebar-footer {
    margin-top: auto;
    padding-top: 1rem;
    font-size: 13px;
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.78);
    border-top: 1px solid rgba(255, 255, 255, 0.18);
}

/* ==========================================================================
   CONTENT AREA
   ========================================================================== */
.gqf-v8-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    background: var(--gqf-surface);
    position: relative;
    z-index: 1;
    overflow: visible;            /* let inputs flow; previously clipped Country field */
    min-width: 0;
    padding: 2.5rem 3rem 1.5rem;  /* matches old step-header/body padding */
}

/* ---------- Steps & slide animation ---------- */
.gqf-v8-step {
    display: none;
    flex-direction: column;
    flex: 1 1 auto;
    will-change: transform, opacity;
}
.gqf-v8-step > h3 {
    font-size: 26px;
    font-weight: 800;
    letter-spacing: -0.01em;
    margin: 0 0 1.25rem;
    background: var(--gqf-brand-grad);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.gqf-v8-step.aktif {
    display: flex;
    animation: gqf-slide-in 350ms var(--gqf-ease) both;
}

/* Navigation row pinned at bottom of content column */
.gqf-v8-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1.5rem;
    padding-top: 1.25rem;
    border-top: 1px solid var(--gqf-line);
}
.gqf-v8-nav-right { display: inline-flex; gap: .75rem; margin-left: auto; }

@keyframes gqf-slide-in {
    0%   { transform: translateX(28px); opacity: 0; }
    60%  { transform: translateX(-4px); opacity: 1; }
    100% { transform: translateX(0); opacity: 1; }
}

.gqf-v8-step-header {
    padding: 2.5rem 3rem 0.5rem;
}
.gqf-v8-step-title {
    font-size: 30px;
    font-weight: 800;
    letter-spacing: -0.01em;
    color: var(--gqf-ink);
    margin: 0 0 0.5rem;
    background: var(--gqf-brand-grad);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
.gqf-v8-step-subtitle,
.gqf-v8-step-header p {
    margin: 0;
    color: var(--gqf-muted);
    font-size: 15px;
    line-height: 1.55;
}

.gqf-v8-step-body {
    flex-grow: 1;
    overflow-y: auto;
    padding: 1.5rem 3rem 6.5rem; /* bottom space for nav bar */
}

.gqf-v8-step-footer {
    padding: 1.25rem 3rem;
    border-top: 1px solid var(--gqf-line);
}

/* ==========================================================================
   INPUTS — Floating label
   ========================================================================== */
.gqf-v8-input-group {
    position: relative;
    margin-bottom: 1.25rem;
}

.gqf-v8-input-group > label {
    display: block;
    margin-bottom: 8px;
    font-weight: 600;
    color: var(--gqf-ink-2);
    font-size: 14px;
    letter-spacing: 0.01em;
}

.gqf-v8-input {
    appearance: none;
    width: 100%;
    min-height: 52px;
    padding: 0.95rem 1.1rem;
    border: 1.5px solid var(--gqf-line);
    background: var(--gqf-surface);
    border-radius: var(--gqf-radius-sm);
    font-size: 16px; /* iOS no-zoom */
    line-height: 1.4;
    color: var(--gqf-ink);
    font-family: inherit;
    transition:
        border-color 0.2s var(--gqf-ease-soft),
        box-shadow 0.2s var(--gqf-ease-soft),
        background-color 0.2s var(--gqf-ease-soft),
        transform 0.15s var(--gqf-ease-soft);
}

.gqf-v8-input::placeholder { color: var(--gqf-muted); opacity: 1; }

.gqf-v8-input:hover {
    border-color: #c9c2ec;
}

.gqf-v8-input:focus,
.gqf-v8-input:focus-visible {
    border-color: var(--gqf-brand);
    background: #fff;
    outline: none;
    box-shadow: 0 0 0 4px rgba(119, 97, 223, 0.18), 0 6px 18px -10px rgba(119, 97, 223, 0.35);
}

select.gqf-v8-input {
    background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22%237761DF%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20d%3D%22M5.293%207.293a1%201%200%20011.414%200L10%2010.586l3.293-3.293a1%201%200%20111.414%201.414l-4%204a1%201%200%2001-1.414%200l-4-4a1%201%200%20010-1.414z%22%20clip-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E');
    background-repeat: no-repeat;
    background-position: right 0.85rem center;
    background-size: 1.4em 1.4em;
    padding-right: 2.75rem;
    cursor: pointer;
}

textarea.gqf-v8-input {
    height: auto;
    min-height: 110px;
    padding: 0.95rem 1.1rem;
    resize: vertical;
    line-height: 1.55;
}

.gqf-v8-grid-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.1rem 1.25rem;
}

/* Validation */
.gqf-v8-input.wpcf7-not-valid {
    border-color: var(--gqf-danger) !important;
    background: #fef5f5;
    box-shadow: 0 0 0 4px rgba(239, 68, 68, 0.12);
    animation: gqf-shake 0.42s var(--gqf-ease-soft);
}
@keyframes gqf-shake {
    0%, 100% { transform: translateX(0); }
    25%      { transform: translateX(-6px); }
    75%      { transform: translateX(6px); }
}

/* ==========================================================================
   STEP 3 — Review & Confirm
   ========================================================================== */
.gqf-v8-step[data-step="3"] .gqf-v8-step-body {
    background:
        radial-gradient(800px 360px at 100% 0%, rgba(255, 214, 107, 0.10), transparent 60%),
        radial-gradient(700px 320px at 0% 100%, rgba(119, 97, 223, 0.10), transparent 60%),
        linear-gradient(180deg, #fbfaff 0%, #ffffff 100%);
}

.gqf-v8-summary {
    border: 1px solid var(--gqf-line);
    border-radius: var(--gqf-radius);
    margin-bottom: 1.25rem;
    background: #fff;
    box-shadow: var(--gqf-shadow-sm);
    overflow: hidden;
    opacity: 0;
    transform: translateY(8px);
    animation: gqf-fade-up 0.5s var(--gqf-ease-soft) forwards;
}
.gqf-v8-summary:nth-of-type(1) { animation-delay: 0.05s; }
.gqf-v8-summary:nth-of-type(2) { animation-delay: 0.15s; }
.gqf-v8-summary:nth-of-type(3) { animation-delay: 0.25s; }

@keyframes gqf-fade-up {
    to { opacity: 1; transform: translateY(0); }
}

.gqf-v8-summary-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.9rem 1.4rem;
    background: linear-gradient(180deg, #f8f7ff 0%, #f3f0ff 100%);
    border-bottom: 1px solid var(--gqf-line);
}
.gqf-v8-summary-header h4 {
    margin: 0;
    font-size: 15px;
    font-weight: 700;
    color: var(--gqf-ink);
    letter-spacing: 0.01em;
}

.gqf-v8-edit-link {
    font-size: 13px;
    font-weight: 700;
    color: var(--gqf-brand);
    text-decoration: none;
    padding: 0.35rem 0.7rem;
    border-radius: 999px;
    background: rgba(119, 97, 223, 0.10);
    transition: background-color 0.2s var(--gqf-ease-soft), transform 0.2s var(--gqf-ease-soft);
}
.gqf-v8-edit-link:hover {
    background: rgba(119, 97, 223, 0.18);
    transform: translateY(-1px);
    text-decoration: none;
}

.gqf-v8-summary-table { width: 100%; border-collapse: collapse; }
.gqf-v8-summary-table td {
    padding: 0.85rem 1.4rem;
    text-align: left;
    font-size: 14px;
}
.gqf-v8-summary-table tr:not(:last-child) td {
    border-bottom: 1px solid var(--gqf-line);
}
.gqf-v8-summary-table td:first-child {
    color: var(--gqf-muted);
    font-weight: 500;
    width: 130px;
}
.gqf-v8-summary-table td:last-child {
    color: var(--gqf-ink);
    font-weight: 600;
    word-break: break-word;
}

/* ==========================================================================
   KVKK & captcha
   ========================================================================== */
.gqf-v8-input-group .wpcf7-acceptance,
.gqf-v8-input-group.gqf-v8-kvkk-group {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-size: 14px;
    color: var(--gqf-ink-2);
    line-height: 1.55;
    padding: 1rem 1.1rem;
    border: 1px solid var(--gqf-line);
    border-radius: var(--gqf-radius-sm);
    background: #fff;
    transition: border-color 0.2s var(--gqf-ease-soft), background 0.2s var(--gqf-ease-soft);
}
.gqf-v8-input-group.errorli .wpcf7-acceptance,
.gqf-v8-input-group.errorli {
    border-color: var(--gqf-danger);
    background: #fef5f5;
}

input[name="gqf-v8-kvkk"],
.gqf-v8-input-group .wpcf7-acceptance input[type="checkbox"] {
    width: 20px;
    height: 20px;
    margin-top: 2px;
    flex-shrink: 0;
    accent-color: var(--gqf-brand);
    cursor: pointer;
}

.gqf-v8-input-group .wpcf7-acceptance a,
.gqf-v8-input-group .wpcf7-acceptance label a {
    color: var(--gqf-brand);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.gqf-v8-input-group .wpcf7-acceptance a:hover { color: var(--gqf-brand-deep); }

.gqf-v8-captcha-wrapper {
    margin: 1.25rem 0 0.5rem;
    display: flex;
    justify-content: center;
    min-height: 65px;
}
.gqf-v8-captcha-wrapper:empty::before {
    content: "Loading verification...";
    color: var(--gqf-muted);
    font-size: 13px;
    padding: 1rem;
}

/* ==========================================================================
   NAVIGATION
   ========================================================================== */
.gqf-v8-nav {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 1.1rem 3rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    border-top: 1px solid var(--gqf-line);
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    z-index: 2;
}

.gqf-v8-nav-right {
    display: flex;
    gap: 0.75rem;
    margin-left: auto;
}

/* ---------- Buttons ---------- */
.gqf-v8-button {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    min-height: 48px;
    padding: 0.85rem 1.6rem;
    font-family: inherit;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.01em;
    border-radius: var(--gqf-radius-sm);
    border: none;
    cursor: pointer;
    user-select: none;
    overflow: hidden;
    transition:
        transform 0.2s var(--gqf-ease),
        box-shadow 0.25s var(--gqf-ease-soft),
        background-color 0.2s var(--gqf-ease-soft),
        color 0.2s var(--gqf-ease-soft),
        opacity 0.2s var(--gqf-ease-soft);
}

.gqf-v8-button:focus-visible {
    outline: 3px solid rgba(119, 97, 223, 0.35);
    outline-offset: 2px;
}

/* Back / secondary */
.gqf-v8-geri {
    background: transparent;
    color: var(--gqf-ink-2);
    padding-left: 0.8rem;
}
.gqf-v8-geri::before {
    content: "←";
    font-size: 18px;
    line-height: 1;
    transition: transform 0.2s var(--gqf-ease);
}
.gqf-v8-geri:hover {
    color: var(--gqf-brand-deep);
    background: rgba(119, 97, 223, 0.08);
}
.gqf-v8-geri:hover::before { transform: translateX(-3px); }

/* Primary actions */
.gqf-v8-ileri,
.gqf-v8-gonder {
    color: #fff;
    background: var(--gqf-brand-grad);
    box-shadow: 0 8px 20px -8px rgba(91, 70, 192, 0.55), inset 0 1px 0 rgba(255, 255, 255, 0.18);
    padding-right: 1.4rem;
}

.gqf-v8-ileri::after {
    content: "→";
    font-size: 18px;
    line-height: 1;
    transition: transform 0.2s var(--gqf-ease);
}
.gqf-v8-ileri:hover::after { transform: translateX(4px); }

.gqf-v8-ileri:hover,
.gqf-v8-gonder:hover {
    transform: translateY(-2px);
    box-shadow: var(--gqf-shadow-lift), inset 0 1px 0 rgba(255, 255, 255, 0.24);
    filter: brightness(1.04);
}
.gqf-v8-ileri:active,
.gqf-v8-gonder:active {
    transform: translateY(0);
    filter: brightness(0.97);
}

/* Sheen sweep */
.gqf-v8-ileri::before,
.gqf-v8-gonder::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(120deg, transparent 30%, rgba(255, 255, 255, 0.28) 50%, transparent 70%);
    transform: translateX(-120%);
    transition: transform 0.7s var(--gqf-ease-soft);
    pointer-events: none;
}
.gqf-v8-ileri:hover::before,
.gqf-v8-gonder:hover::before { transform: translateX(120%); }

/* Submit (Get My Quote) — bigger CTA */
.gqf-v8-submit-wrapper { display: block; }
.gqf-v8-gonder {
    width: auto;
    min-width: 220px;
    padding: 1rem 2rem;
    font-size: 16px;
}
.gqf-v8-gonder::after {
    content: "";
    display: inline-block;
    width: 18px; height: 18px;
    margin-left: 6px;
    border: 2px solid rgba(255, 255, 255, 0.35);
    border-top-color: #fff;
    border-radius: 50%;
    opacity: 0;
    transform: scale(0.6);
    transition: opacity 0.2s, transform 0.2s;
}

/* CF7 submitting state — show inner spinner */
.wpcf7-form.submitting .gqf-v8-gonder {
    pointer-events: none;
    opacity: 0.85;
}
.wpcf7-form.submitting .gqf-v8-gonder::after {
    opacity: 1;
    transform: scale(1);
    animation: gqf-spin 0.7s linear infinite;
}
@keyframes gqf-spin {
    to { transform: rotate(360deg); }
}

.gqf-v8-button[disabled],
.gqf-v8-button:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    transform: none !important;
}

/* "Other treatment" conditional input wrapper */
#gqf-v8-tedavi-diger-wrapper {
    margin-top: 0.75rem;
    animation: gqf-fade-up 0.35s var(--gqf-ease-soft) both;
}

/* ==========================================================================
   SUCCESS SCREEN — drawn checkmark
   ========================================================================== */
.gqf-v8-success-screen {
    position: fixed;
    inset: 0;
    background: rgba(20, 19, 43, 0.55);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    display: none;
    place-items: center;
    z-index: 9999;
    padding: 1rem;
}
.gqf-v8-success-screen.aktif {
    display: grid;
    animation: gqf-fade 0.4s var(--gqf-ease-soft);
}
@keyframes gqf-fade { from { opacity: 0; } to { opacity: 1; } }

.gqf-v8-success-content {
    background: #fff;
    padding: 3rem 2.5rem;
    border-radius: var(--gqf-radius-lg);
    box-shadow: var(--gqf-shadow-lift);
    text-align: center;
    max-width: 460px;
    transform: translateY(12px) scale(0.96);
    opacity: 0;
    animation: gqf-success-pop 0.55s 0.05s var(--gqf-ease) forwards;
}
@keyframes gqf-success-pop {
    to { transform: translateY(0) scale(1); opacity: 1; }
}

.gqf-v8-success-icon {
    width: 92px;
    height: 92px;
    margin: 0 auto 1.5rem;
    border-radius: 50%;
    background: var(--gqf-brand-grad);
    display: grid;
    place-items: center;
    position: relative;
    box-shadow: 0 18px 40px -12px rgba(119, 97, 223, 0.55);
    /* Replace fixed background icon with drawable SVG */
    background-image: none;
}
.gqf-v8-success-icon::before {
    content: "";
    position: absolute;
    inset: -8px;
    border-radius: 50%;
    border: 2px solid rgba(119, 97, 223, 0.35);
    animation: gqf-ring 1.4s var(--gqf-ease-soft) infinite;
}
@keyframes gqf-ring {
    0%   { transform: scale(0.85); opacity: 0.8; }
    100% { transform: scale(1.25); opacity: 0; }
}
/* Drawn checkmark */
.gqf-v8-success-icon::after {
    content: "";
    width: 38px; height: 22px;
    border-left: 4px solid #fff;
    border-bottom: 4px solid #fff;
    border-bottom-left-radius: 2px;
    transform: rotate(-45deg) translate(2px, -3px) scale(0);
    transform-origin: left bottom;
    animation: gqf-check-draw 0.5s 0.35s var(--gqf-ease) forwards;
}
@keyframes gqf-check-draw {
    0%   { transform: rotate(-45deg) translate(2px, -3px) scale(0); }
    60%  { transform: rotate(-45deg) translate(2px, -3px) scale(1.1); }
    100% { transform: rotate(-45deg) translate(2px, -3px) scale(1); }
}

.gqf-v8-success-screen h2 {
    font-size: 26px;
    font-weight: 800;
    color: var(--gqf-ink);
    margin: 0 0 0.5rem;
    letter-spacing: -0.01em;
}
.gqf-v8-success-screen p {
    max-width: 380px;
    margin: 0 auto;
    color: var(--gqf-ink-2);
    line-height: 1.6;
    font-size: 15px;
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width: 1024px) {
    #gqf-v8-container {
        margin: 24px auto;
        padding: 1rem;
        border-radius: var(--gqf-radius);
        flex-direction: column;   /* stack sidebar over content on mobile (was on dead #gqf-v8-form-wrapper) */
        min-height: unset;
    }
    .gqf-v8-sidebar {
        width: 100%;
        padding: 1.75rem 1.5rem 1.25rem;
    }
    .gqf-v8-logo {
        margin-bottom: 1.5rem;
        height: 38px;
    }
    .gqf-v8-progress {
        flex-direction: row;
        gap: 0.75rem;
        align-items: center;
        justify-content: space-between;
    }
    .gqf-v8-progress::before {
        left: 6%;
        right: 6%;
        top: 20px;
        bottom: auto;
        width: auto;
        height: 2px;
    }
    .gqf-v8-progress-step {
        flex: 1;
        flex-direction: column;
        gap: 0.5rem;
        text-align: center;
    }
    .gqf-v8-progress-label {
        font-size: 12px;
        line-height: 1.3;
    }
    .gqf-v8-progress-step .gqf-v8-progress-label small { display: none; }
    .gqf-v8-sidebar-footer { display: none; }

    .gqf-v8-content { width: 100%; }
    .gqf-v8-step-header { padding: 1.75rem 1.5rem 0.25rem; }
    .gqf-v8-step-title { font-size: 24px; }
    .gqf-v8-step-body { padding: 1.25rem 1.5rem 6.5rem; }
    .gqf-v8-step-footer,
    .gqf-v8-nav { padding-left: 1.5rem; padding-right: 1.5rem; }
    .gqf-v8-grid-2 { grid-template-columns: 1fr; gap: 0; }
}

@media (max-width: 640px) {
    #gqf-v8-container {
        margin: 12px;
        padding: 0.5rem;
    }
    .gqf-v8-sidebar { padding: 1.25rem 1rem 1rem; }
    .gqf-v8-logo { margin-bottom: 1rem; height: 34px; }
    .gqf-v8-progress-bubble { width: 36px; height: 36px; font-size: 14px; }
    .gqf-v8-progress::before { top: 18px; }
    .gqf-v8-step-title { font-size: 22px; }
    .gqf-v8-step-header { padding: 1.25rem 1.1rem 0.25rem; }
    .gqf-v8-step-body { padding: 1rem 1.1rem 7rem; }
    .gqf-v8-nav {
        padding: 0.85rem 1.1rem;
        flex-wrap: wrap;
    }
    .gqf-v8-nav-right {
        width: 100%;
        margin-left: 0;
    }
    .gqf-v8-ileri,
    .gqf-v8-gonder {
        flex: 1;
        width: 100%;
        min-width: 0;
        padding: 0.95rem 1rem;
    }
    .gqf-v8-geri {
        flex-shrink: 0;
        padding: 0.6rem 0.4rem;
    }

    .gqf-v8-summary-header { padding: 0.75rem 1rem; }
    .gqf-v8-summary-table td { padding: 0.6rem 1rem; font-size: 13.5px; }
    .gqf-v8-summary-table { display: block; }
    .gqf-v8-summary-table tr {
        display: flex;
        flex-direction: column;
        padding: 0.75rem 1rem;
    }
    .gqf-v8-summary-table tr:not(:last-child) {
        border-bottom: 1px solid var(--gqf-line);
    }
    .gqf-v8-summary-table tr:not(:last-child) td { border-bottom: none; }
    .gqf-v8-summary-table td { padding: 2px 0; }
    .gqf-v8-summary-table td:first-child {
        width: auto;
        font-size: 12px;
        text-transform: uppercase;
        letter-spacing: 0.04em;
    }

    .gqf-v8-success-content { padding: 2.25rem 1.5rem; }
    .gqf-v8-success-screen h2 { font-size: 22px; }
}

/* ==========================================================================
   Accessibility — reduced motion
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
    #gqf-v8-container::before,
    #gqf-v8-container::after,
    .gqf-v8-sidebar::before,
    .gqf-v8-sidebar::after,
    .gqf-v8-progress-step.aktif .gqf-v8-progress-bubble,
    .gqf-v8-success-icon::before,
    .gqf-v8-success-icon::after,
    .gqf-v8-step.aktif,
    .gqf-v8-summary,
    .gqf-v8-input.wpcf7-not-valid,
    .gqf-v8-ileri::before,
    .gqf-v8-gonder::before {
        animation: none !important;
        transition: none !important;
    }
    .gqf-v8-ileri:hover,
    .gqf-v8-gonder:hover { transform: none; }
    .gqf-v8-success-content { opacity: 1; transform: none; }
    .gqf-v8-summary { opacity: 1; transform: none; }
}

/* ==========================================================================
   Print
   ========================================================================== */
@media print {
    #gqf-v8-container::before,
    #gqf-v8-container::after,
    .gqf-v8-sidebar::before,
    .gqf-v8-sidebar::after,
    .gqf-v8-nav { display: none !important; }
    #gqf-v8-form-wrapper { box-shadow: none; border: 1px solid #ddd; }
}

/* Geçersiz alan — net kırmızı geri bildirim (input'lar .wpcf7-form-control
   taşıyabildiğinden .wpcf7-not-valid'i doğrudan hedefliyoruz). */
#gqf-v8-container .wpcf7-not-valid,
#gqf-v8-container input.wpcf7-not-valid,
#gqf-v8-container select.wpcf7-not-valid,
#gqf-v8-container textarea.wpcf7-not-valid {
    border-color: #ef4444 !important;
    box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.15) !important;
    background: #fef2f2 !important;
}
