*,*::before,*::after{box-sizing:border-box;}

.gv-post-gig-wrap {
    min-height: 100vh;
    background: var(--gv-bg-2, #F6F7FB);
    padding: 0 0 80px;
}

.gv-pg-hero {
    background: linear-gradient(135deg, var(--gv-primary, #5B5BD6) 0%, var(--gv-primary-light, #7B7BF0) 100%);
    padding: 48px 0 56px;
    position: relative;
    overflow: hidden;
}

.gv-pg-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.04'%3E%3Ccircle cx='30' cy='30' r='2'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
    pointer-events: none;
}

.gv-pg-hero__inner {
    max-width: 760px;
    margin: 0 auto;
    padding: 0 24px;
    position: relative;
    z-index: 1;
    text-align: center;
}

.gv-pg-hero__badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: rgba(255,255,255,.15);
    border: 1px solid rgba(255,255,255,.25);
    color: rgba(255,255,255,.92);
    font-size: 12px;
    font-weight: 600;
    padding: 6px 14px;
    border-radius: 999px;
    margin-bottom: 16px;
    backdrop-filter: blur(8px);
    letter-spacing: .03em;
    text-transform: uppercase;
}

.gv-pg-hero__title {
    font-family: var(--gv-font-display, 'Sora', 'Inter', sans-serif);
    font-size: clamp(28px, 4vw, 42px);
    font-weight: 800;
    color: #fff;
    margin: 0 0 12px;
    line-height: 1.15;
    letter-spacing: -.02em;
}

.gv-pg-hero__subtitle {
    font-size: 16px;
    color: rgba(255,255,255,.78);
    margin: 0;
    line-height: 1.6;
}

.gv-pg-steps {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    margin-top: 32px;
    flex-wrap: wrap;
}

.gv-pg-step {
    display: flex;
    align-items: center;
    gap: 8px;
    position: relative;
}

.gv-pg-step__num {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: rgba(255,255,255,.2);
    border: 2px solid rgba(255,255,255,.3);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: all .2s;
}

.gv-pg-step.gv-step--active .gv-pg-step__num {
    background: #fff;
    border-color: #fff;
    color: var(--gv-primary, #5B5BD6);
}

.gv-pg-step.gv-step--done .gv-pg-step__num {
    background: rgba(34,197,94,.8);
    border-color: rgba(34,197,94,.8);
    color: #fff;
}

.gv-pg-step__label {
    font-size: 12px;
    font-weight: 600;
    color: rgba(255,255,255,.7);
}

.gv-pg-step.gv-step--active .gv-pg-step__label { color: #fff; }

.gv-pg-step__connector {
    width: 40px;
    height: 2px;
    background: rgba(255,255,255,.2);
    margin: 0 6px;
}

.gv-pg-content {
    max-width: 1100px;
    margin: -24px auto 0;
    padding: 0 20px;
    position: relative;
    z-index: 2;
}

.gv-pg-form-wrap {
    background: var(--gv-surface, #fff);
    border-radius: 20px;
    box-shadow: 0 8px 48px rgba(14,14,40,.12);
    overflow: hidden;
}

.gv-pg-notices { padding: 0 0 8px; }

.gv-notice {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 18px;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 10px;
    line-height: 1.5;
}

.gv-notice i, .gv-notice .gv-notice-icon { font-size: 16px; flex-shrink: 0; margin-top: 1px; }
.gv-notice--error   { background: rgba(239,68,68,.08); color: #c0392b; border: 1px solid rgba(239,68,68,.2); }
.gv-notice--success { background: rgba(34,197,94,.08); color: #15803d; border: 1px solid rgba(34,197,94,.2); }
.gv-notice--warning { background: rgba(245,158,11,.08); color: #b45309; border: 1px solid rgba(245,158,11,.2); }
.gv-notice--info    { background: rgba(91,91,214,.07); color: var(--gv-primary, #5B5BD6); border: 1px solid rgba(91,91,214,.2); }

.gv-form-section {
    padding: 32px 36px;
    border-bottom: 1px solid var(--gv-border, #E3E3EF);
}

.gv-form-section:last-child { border-bottom: none; }

.gv-section-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 24px;
}

.gv-section-icon {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    background: var(--gv-primary-subtle, #EDEDFF);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: var(--gv-primary, #5B5BD6);
    font-size: 16px;
}

.gv-section-info { flex: 1; }

.gv-section-title {
    font-size: 16px;
    font-weight: 700;
    color: var(--gv-text-primary, #14142B);
    margin: 0 0 2px;
    line-height: 1;
}

.gv-section-desc {
    font-size: 12px;
    color: var(--gv-text-muted, #8888AA);
    margin: 0;
}

.gv-field {
    margin-bottom: 20px;
}

.gv-field:last-child { margin-bottom: 0; }

.gv-field-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.gv-field-grid-3 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 20px;
}

.gv-label {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 600;
    color: var(--gv-text-primary, #14142B);
    margin-bottom: 7px;
}

.gv-label-required {
    color: var(--gv-danger, #EF4444);
    font-size: 12px;
}

.gv-label-optional {
    font-size: 11px;
    font-weight: 500;
    color: var(--gv-text-muted, #8888AA);
    background: var(--gv-bg-2, #F6F7FB);
    padding: 2px 7px;
    border-radius: 999px;
    margin-left: auto;
}

.gv-input,
.gv-textarea,
.gv-select {
    width: 100%;
    padding: 11px 14px;
    border: 1.5px solid var(--gv-border, #E3E3EF);
    border-radius: 10px;
    font-size: 14px;
    color: var(--gv-text-primary, #14142B);
    background: var(--gv-bg, #fff);
    font-family: var(--gv-font-sans, 'Inter', sans-serif);
    transition: border-color .15s, box-shadow .15s;
    -webkit-appearance: none;
    appearance: none;
}

.gv-input:focus,
.gv-textarea:focus,
.gv-select:focus {
    outline: none;
    border-color: var(--gv-primary, #5B5BD6);
    box-shadow: 0 0 0 3px rgba(91,91,214,.12);
}

.gv-input.gv-input--error,
.gv-textarea.gv-input--error,
.gv-select.gv-input--error {
    border-color: var(--gv-danger, #EF4444);
    box-shadow: 0 0 0 3px rgba(239,68,68,.1);
}

.gv-input::placeholder,
.gv-textarea::placeholder { color: var(--gv-text-muted, #8888AA); }

.gv-textarea {
    resize: vertical;
    min-height: 160px;
    line-height: 1.6;
}

.gv-input-group {
    position: relative;
    display: flex;
    align-items: stretch;
}

.gv-input-group .gv-input-addon {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 14px;
    background: var(--gv-bg-2, #F6F7FB);
    border: 1.5px solid var(--gv-border, #E3E3EF);
    color: var(--gv-text-muted, #8888AA);
    font-size: 14px;
    font-weight: 600;
    border-radius: 10px 0 0 10px;
    border-right: none;
    flex-shrink: 0;
    min-width: 42px;
}

.gv-input-group .gv-input-addon--right {
    border-radius: 0 10px 10px 0;
    border-right: 1.5px solid var(--gv-border, #E3E3EF);
    border-left: none;
}

.gv-input-group .gv-input {
    border-radius: 0 10px 10px 0;
    flex: 1;
}

.gv-input-group .gv-input--with-suffix {
    border-radius: 10px 0 0 10px;
}

.gv-select-wrap {
    position: relative;
}

.gv-select-wrap::after {
    content: '\f107';
    font-family: 'Font Awesome 6 Free', 'Font Awesome 5 Free', FontAwesome;
    font-weight: 900;
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--gv-text-muted, #8888AA);
    pointer-events: none;
    font-size: 13px;
}

.gv-select {
    padding-right: 38px;
    cursor: pointer;
}

.gv-field-hint {
    font-size: 12px;
    color: var(--gv-text-muted, #8888AA);
    margin-top: 5px;
    line-height: 1.5;
}

.gv-field-counter {
    display: flex;
    justify-content: flex-end;
    font-size: 11px;
    color: var(--gv-text-muted, #8888AA);
    margin-top: 4px;
}

.gv-field-counter span { color: var(--gv-primary, #5B5BD6); font-weight: 600; }

.gv-field-error {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    color: var(--gv-danger, #EF4444);
    margin-top: 5px;
    display: none;
}

.gv-field-error.gv-field-error--visible { display: flex; }

.gv-char-counter { display: flex; justify-content: flex-end; font-size: 11px; color: var(--gv-text-muted); margin-top: 4px; }
.gv-char-counter.gv-char-near { color: var(--gv-warning, #F59E0B); }
.gv-char-counter.gv-char-over { color: var(--gv-danger, #EF4444); }

.gv-categories-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 10px;
    max-height: 320px;
    overflow-y: auto;
    padding-right: 4px;
}

.gv-categories-grid::-webkit-scrollbar { width: 4px; }
.gv-categories-grid::-webkit-scrollbar-track { background: transparent; }
.gv-categories-grid::-webkit-scrollbar-thumb { background: var(--gv-border); border-radius: 999px; }

.gv-cat-item { position: relative; }
.gv-cat-item input { position: absolute; opacity: 0; width: 0; height: 0; }

.gv-cat-label {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    border: 1.5px solid var(--gv-border, #E3E3EF);
    border-radius: 10px;
    cursor: pointer;
    font-size: 13px;
    font-weight: 500;
    color: var(--gv-text-secondary, #4A4A6A);
    background: var(--gv-bg, #fff);
    transition: all .15s;
    user-select: none;
    height: 100%;
}

.gv-cat-label:hover { border-color: var(--gv-primary, #5B5BD6); color: var(--gv-primary, #5B5BD6); background: var(--gv-primary-subtle, #EDEDFF); }

.gv-cat-item input:checked ~ .gv-cat-label {
    border-color: var(--gv-primary, #5B5BD6);
    background: var(--gv-primary-subtle, #EDEDFF);
    color: var(--gv-primary, #5B5BD6);
    font-weight: 600;
}

.gv-cat-check {
    width: 18px;
    height: 18px;
    border: 2px solid var(--gv-border, #E3E3EF);
    border-radius: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: all .15s;
}

.gv-cat-item input:checked ~ .gv-cat-label .gv-cat-check {
    background: var(--gv-primary, #5B5BD6);
    border-color: var(--gv-primary, #5B5BD6);
}

.gv-cat-item input:checked ~ .gv-cat-label .gv-cat-check::after {
    content: '';
    width: 9px;
    height: 5px;
    border-left: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: rotate(-45deg) translateY(-1px);
    display: block;
}

.gv-cat-label .gv-cat-icon { font-size: 14px; color: var(--gv-text-muted); }
.gv-cat-item input:checked ~ .gv-cat-label .gv-cat-icon { color: var(--gv-primary, #5B5BD6); }

.gv-tags-input-wrap { position: relative; }

.gv-tags-display {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    padding: 8px 10px;
    border: 1.5px solid var(--gv-border, #E3E3EF);
    border-radius: 10px;
    background: var(--gv-bg, #fff);
    min-height: 48px;
    cursor: text;
    transition: border-color .15s, box-shadow .15s;
}

.gv-tags-display:focus-within {
    border-color: var(--gv-primary, #5B5BD6);
    box-shadow: 0 0 0 3px rgba(91,91,214,.12);
}

.gv-tag-chip {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: var(--gv-primary-subtle, #EDEDFF);
    color: var(--gv-primary, #5B5BD6);
    border-radius: 6px;
    padding: 4px 8px 4px 10px;
    font-size: 12px;
    font-weight: 600;
    border: 1px solid rgba(91,91,214,.15);
}

.gv-tag-chip button {
    background: none;
    border: none;
    cursor: pointer;
    color: inherit;
    padding: 0;
    line-height: 1;
    opacity: .7;
    font-size: 13px;
    display: flex;
    align-items: center;
}

.gv-tag-chip button:hover { opacity: 1; }

.gv-tags-text-input {
    border: none;
    outline: none;
    background: transparent;
    font-size: 13px;
    color: var(--gv-text-primary, #14142B);
    font-family: inherit;
    flex: 1;
    min-width: 120px;
    padding: 4px 2px;
}

.gv-tags-text-input::placeholder { color: var(--gv-text-muted, #8888AA); }

.gv-media-upload-area {
    border: 2px dashed var(--gv-border, #E3E3EF);
    border-radius: 14px;
    padding: 32px 20px;
    text-align: center;
    cursor: pointer;
    transition: all .2s;
    background: var(--gv-bg-2, #F6F7FB);
    position: relative;
}

.gv-media-upload-area:hover,
.gv-media-upload-area.gv-drag-over {
    border-color: var(--gv-primary, #5B5BD6);
    background: var(--gv-primary-subtle, #EDEDFF);
}

.gv-upload-icon {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    background: var(--gv-primary-subtle, #EDEDFF);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 14px;
    font-size: 22px;
    color: var(--gv-primary, #5B5BD6);
    transition: transform .2s;
}

.gv-media-upload-area:hover .gv-upload-icon { transform: translateY(-2px); }

.gv-upload-title {
    font-size: 15px;
    font-weight: 700;
    color: var(--gv-text-primary, #14142B);
    margin-bottom: 6px;
}

.gv-upload-desc { font-size: 12px; color: var(--gv-text-muted, #8888AA); }
.gv-upload-btn-text { color: var(--gv-primary, #5B5BD6); text-decoration: underline; cursor: pointer; }

.gv-media-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
    gap: 10px;
    margin-top: 16px;
}

.gv-media-preview {
    position: relative;
    aspect-ratio: 1;
    border-radius: 10px;
    overflow: hidden;
    border: 2px solid var(--gv-border, #E3E3EF);
    background: var(--gv-bg-2, #F6F7FB);
    transition: border-color .15s;
}

.gv-media-preview:hover { border-color: var(--gv-primary, #5B5BD6); }

.gv-media-preview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.gv-media-preview__remove {
    position: absolute;
    top: 6px;
    right: 6px;
    width: 24px;
    height: 24px;
    background: rgba(239,68,68,.9);
    border: none;
    border-radius: 6px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 12px;
    opacity: 0;
    transition: opacity .15s;
}

.gv-media-preview:hover .gv-media-preview__remove { opacity: 1; }

.gv-media-preview__badge {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(transparent, rgba(91,91,214,.85));
    color: #fff;
    font-size: 9px;
    font-weight: 700;
    text-align: center;
    padding: 8px 4px 4px;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.gv-media-add-more {
    aspect-ratio: 1;
    border: 2px dashed var(--gv-border, #E3E3EF);
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    gap: 4px;
    color: var(--gv-text-muted, #8888AA);
    font-size: 11px;
    font-weight: 600;
    transition: all .15s;
    background: var(--gv-bg-2, #F6F7FB);
}

.gv-media-add-more:hover { border-color: var(--gv-primary, #5B5BD6); color: var(--gv-primary, #5B5BD6); background: var(--gv-primary-subtle, #EDEDFF); }
.gv-media-add-more i { font-size: 18px; }

.gv-links-section { display: flex; flex-direction: column; gap: 10px; }

.gv-link-entry {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 14px;
    background: var(--gv-bg-2, #F6F7FB);
    border: 1.5px solid var(--gv-border, #E3E3EF);
    border-radius: 10px;
    transition: border-color .15s;
}

.gv-link-entry:hover { border-color: var(--gv-border-2, #D0D0E8); }

.gv-link-entry-icon {
    width: 34px;
    height: 34px;
    background: var(--gv-primary-subtle, #EDEDFF);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--gv-primary, #5B5BD6);
    font-size: 14px;
    flex-shrink: 0;
}

.gv-link-entry-fields { flex: 1; display: grid; grid-template-columns: 160px 1fr; gap: 8px; }

.gv-link-entry-input {
    padding: 8px 12px;
    border: 1.5px solid var(--gv-border, #E3E3EF);
    border-radius: 8px;
    font-size: 13px;
    color: var(--gv-text-primary, #14142B);
    background: var(--gv-bg, #fff);
    font-family: inherit;
    transition: border-color .15s, box-shadow .15s;
}

.gv-link-entry-input:focus {
    outline: none;
    border-color: var(--gv-primary, #5B5BD6);
    box-shadow: 0 0 0 3px rgba(91,91,214,.1);
}

.gv-link-entry-input::placeholder { color: var(--gv-text-muted, #8888AA); }

.gv-link-remove-btn {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--gv-text-muted, #8888AA);
    padding: 6px;
    border-radius: 6px;
    transition: all .15s;
    font-size: 14px;
    flex-shrink: 0;
}

.gv-link-remove-btn:hover { background: rgba(239,68,68,.1); color: var(--gv-danger, #EF4444); }

.gv-add-link-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    background: none;
    border: 1.5px dashed var(--gv-border, #E3E3EF);
    border-radius: 10px;
    color: var(--gv-text-muted, #8888AA);
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: all .15s;
    font-family: inherit;
    align-self: flex-start;
    margin-top: 6px;
}

.gv-add-link-btn:hover { border-color: var(--gv-primary, #5B5BD6); color: var(--gv-primary, #5B5BD6); background: var(--gv-primary-subtle, #EDEDFF); }

.gv-faqs-section { display: flex; flex-direction: column; gap: 12px; }

.gv-faq-entry {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 14px;
    background: var(--gv-bg-2, #F6F7FB);
    border: 1.5px solid var(--gv-border, #E3E3EF);
    border-radius: 10px;
    transition: border-color .15s;
}

.gv-faq-entry:hover { border-color: var(--gv-border-2, #D0D0E8); }

.gv-faq-entry-icon {
    width: 34px;
    height: 34px;
    background: var(--gv-primary-subtle, #EDEDFF);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--gv-primary, #5B5BD6);
    font-size: 14px;
    flex-shrink: 0;
    margin-top: 2px;
}

.gv-faq-entry-fields { flex: 1; display: flex; flex-direction: column; gap: 8px; }

.gv-faq-entry-input {
    padding: 10px 12px;
    border: 1.5px solid var(--gv-border, #E3E3EF);
    border-radius: 8px;
    font-size: 13px;
    color: var(--gv-text-primary, #14142B);
    background: var(--gv-bg, #fff);
    font-family: inherit;
    transition: border-color .15s, box-shadow .15s;
    width: 100%;
}

.gv-faq-entry-input:focus {
    outline: none;
    border-color: var(--gv-primary, #5B5BD6);
    box-shadow: 0 0 0 3px rgba(91,91,214,.1);
}

.gv-faq-entry-input::placeholder { color: var(--gv-text-muted, #8888AA); }

.gv-faq-answer {
    resize: vertical;
    min-height: 80px;
    line-height: 1.5;
}

.gv-faq-remove-btn {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--gv-text-muted, #8888AA);
    padding: 6px;
    border-radius: 6px;
    transition: all .15s;
    font-size: 14px;
    flex-shrink: 0;
    margin-top: 2px;
}

.gv-faq-remove-btn:hover { background: rgba(239,68,68,.1); color: var(--gv-danger, #EF4444); }

.gv-add-faq-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    background: none;
    border: 1.5px dashed var(--gv-border, #E3E3EF);
    border-radius: 10px;
    color: var(--gv-text-muted, #8888AA);
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: all .15s;
    font-family: inherit;
    align-self: flex-start;
    margin-top: 6px;
}

.gv-add-faq-btn:hover { border-color: var(--gv-primary, #5B5BD6); color: var(--gv-primary, #5B5BD6); background: var(--gv-primary-subtle, #EDEDFF); }

.gv-form-actions {
    padding: 24px 36px;
    background: var(--gv-bg-2, #F6F7FB);
    border-top: 1px solid var(--gv-border, #E3E3EF);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.gv-form-actions-left { display: flex; align-items: center; gap: 10px; }
.gv-form-actions-right { display: flex; align-items: center; gap: 10px; }

.gv-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 24px;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    border: none;
    text-decoration: none;
    transition: all .2s;
    line-height: 1;
    font-family: inherit;
    white-space: nowrap;
}

.gv-btn--primary {
    background: var(--gv-primary, #5B5BD6);
    color: #fff;
    box-shadow: 0 4px 14px rgba(91,91,214,.35);
}

.gv-btn--primary:hover {
    background: var(--gv-primary-dark, #4747c2);
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(91,91,214,.45);
}

.gv-btn--primary:active { transform: translateY(0); }

.gv-btn--primary:disabled,
.gv-btn--primary.gv-btn--loading {
    opacity: .7;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}

.gv-btn--secondary {
    background: var(--gv-bg, #fff);
    color: var(--gv-text-secondary, #4A4A6A);
    border: 1.5px solid var(--gv-border, #E3E3EF);
}

.gv-btn--secondary:hover {
    border-color: var(--gv-primary, #5B5BD6);
    color: var(--gv-primary, #5B5BD6);
    background: var(--gv-primary-subtle, #EDEDFF);
}

.gv-btn--ghost {
    background: transparent;
    color: var(--gv-text-muted, #8888AA);
    padding: 12px 16px;
}

.gv-btn--ghost:hover { color: var(--gv-text-primary, #14142B); background: var(--gv-bg-3, #EEEEF7); }

.gv-btn--sm { padding: 8px 16px; font-size: 13px; }

.gv-btn--lg { padding: 15px 32px; font-size: 15px; }

.gv-btn-spinner {
    display: none;
    width: 16px;
    height: 16px;
    border: 2px solid rgba(255,255,255,.3);
    border-top-color: #fff;
    border-radius: 50%;
    animation: gv-spin .7s linear infinite;
    flex-shrink: 0;
}

.gv-btn--loading .gv-btn-spinner { display: inline-block; }
.gv-btn--loading .gv-btn-text-default { display: none; }

@keyframes gv-spin { to { transform: rotate(360deg); } }

.gv-pricing-preview {
    background: linear-gradient(135deg, var(--gv-primary-subtle, #EDEDFF), rgba(14,202,212,.06));
    border: 1.5px solid rgba(91,91,214,.15);
    border-radius: 14px;
    padding: 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: 4px;
    flex-wrap: wrap;
}

.gv-pricing-preview__item { display: flex; flex-direction: column; gap: 4px; }
.gv-pricing-preview__label { font-size: 11px; font-weight: 600; color: var(--gv-text-muted, #8888AA); text-transform: uppercase; letter-spacing: .05em; }
.gv-pricing-preview__value { font-size: 18px; font-weight: 800; color: var(--gv-primary, #5B5BD6); }
.gv-pricing-preview__value.gv-val-delivery { color: var(--gv-accent, #0ECAD4); }
.gv-pricing-preview__value.gv-val-revisions { color: var(--gv-text-primary, #14142B); }

.gv-form-progress-bar {
    height: 3px;
    background: var(--gv-border, #E3E3EF);
    border-radius: 0;
    position: relative;
    overflow: hidden;
}

.gv-form-progress-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--gv-primary), var(--gv-accent));
    border-radius: 0;
    transition: width .3s ease;
}

.gv-success-state {
    padding: 60px 36px;
    text-align: center;
    display: none;
}

.gv-success-icon {
    width: 72px;
    height: 72px;
    background: rgba(34,197,94,.1);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
    font-size: 32px;
    color: var(--gv-success, #22C55E);
    animation: gv-pop .4s cubic-bezier(.175,.885,.32,1.275) forwards;
}

@keyframes gv-pop { 0% { transform: scale(0); opacity: 0; } 100% { transform: scale(1); opacity: 1; } }

.gv-success-title { font-size: 24px; font-weight: 800; color: var(--gv-text-primary, #14142B); margin-bottom: 8px; }
.gv-success-desc { font-size: 15px; color: var(--gv-text-muted, #8888AA); margin-bottom: 28px; }

.gv-tips-sidebar {
    margin-top: 20px;
}

.gv-tips-card {
    background: linear-gradient(135deg, var(--gv-primary, #5B5BD6), var(--gv-primary-light, #7B7BF0));
    border-radius: 16px;
    padding: 24px;
    color: #fff;
    margin-bottom: 16px;
}

.gv-tips-card__title {
    font-size: 14px;
    font-weight: 700;
    margin-bottom: 14px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.gv-tips-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }

.gv-tips-list li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 13px;
    line-height: 1.5;
    color: rgba(255,255,255,.88);
}

.gv-tips-list li i { color: rgba(255,255,255,.7); margin-top: 2px; flex-shrink: 0; font-size: 12px; }

.gv-info-card {
    background: var(--gv-surface, #fff);
    border: 1px solid var(--gv-border, #E3E3EF);
    border-radius: 14px;
    padding: 20px;
    margin-bottom: 16px;
}

.gv-info-card__title {
    font-size: 13px;
    font-weight: 700;
    color: var(--gv-text-primary, #14142B);
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    gap: 7px;
}

.gv-info-card__title i { color: var(--gv-primary, #5B5BD6); }

.gv-info-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }

.gv-info-list li {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: var(--gv-text-secondary, #4A4A6A);
}

.gv-info-list li i {
    color: var(--gv-success, #22C55E);
    font-size: 12px;
    flex-shrink: 0;
}

.gv-pg-layout {
    display: grid;
    grid-template-columns: 1fr 280px;
    gap: 24px;
    align-items: start;
}

.gv-required-legend {
    font-size: 12px;
    color: var(--gv-text-muted, #8888AA);
    text-align: right;
    margin-bottom: 0;
    padding: 12px 36px;
    border-bottom: 1px solid var(--gv-border, #E3E3EF);
}

.gv-required-legend span { color: var(--gv-danger, #EF4444); }

@media (max-width: 900px) {
    .gv-pg-layout { grid-template-columns: 1fr; }
    .gv-tips-sidebar { display: none; }
    .gv-form-section { padding: 24px 20px; }
    .gv-form-actions { padding: 20px; }
    .gv-required-legend { padding: 10px 20px; }
}

@media (max-width: 680px) {
    .gv-field-grid, .gv-field-grid-3 { grid-template-columns: 1fr; }
    .gv-pg-hero { padding: 32px 0 44px; }
    .gv-pg-steps { display: none; }
    .gv-link-entry-fields { grid-template-columns: 1fr; }
    .gv-form-actions { flex-direction: column-reverse; align-items: stretch; }
    .gv-form-actions-left, .gv-form-actions-right { width: 100%; }
    .gv-btn--primary { width: 100%; justify-content: center; }
    .gv-categories-grid { grid-template-columns: repeat(2, 1fr); }
    .gv-media-grid { grid-template-columns: repeat(3, 1fr); }
}

[data-theme="dark"] .gv-post-gig-wrap { background: var(--gv-bg-2); }
[data-theme="dark"] .gv-pg-form-wrap { background: var(--gv-surface); }
[data-theme="dark"] .gv-input,
[data-theme="dark"] .gv-textarea,
[data-theme="dark"] .gv-select { background: var(--gv-bg-3); border-color: var(--gv-border); color: var(--gv-text-primary); }
[data-theme="dark"] .gv-link-entry { background: var(--gv-bg-3); border-color: var(--gv-border); }
[data-theme="dark"] .gv-link-entry-input { background: var(--gv-bg-2); border-color: var(--gv-border); color: var(--gv-text-primary); }
[data-theme="dark"] .gv-cat-label { background: var(--gv-bg-3); border-color: var(--gv-border); color: var(--gv-text-secondary); }
[data-theme="dark"] .gv-tags-display { background: var(--gv-bg-3); border-color: var(--gv-border); }
[data-theme="dark"] .gv-media-upload-area { background: var(--gv-bg-3); border-color: var(--gv-border); }
[data-theme="dark"] .gv-form-actions { background: var(--gv-bg-3); border-color: var(--gv-border); }
[data-theme="dark"] .gv-info-card { background: var(--gv-surface); border-color: var(--gv-border); }
[data-theme="dark"] .gv-faq-entry { background: var(--gv-bg-3); border-color: var(--gv-border); }
[data-theme="dark"] .gv-faq-entry-input { background: var(--gv-bg-2); border-color: var(--gv-border); color: var(--gv-text-primary); }