/* Hide the website header and theme-generated page title only on the claim page. */
body.tg-dgc-claim-page #masthead,
body.tg-dgc-claim-page #site-header,
body.tg-dgc-claim-page header.site-header,
body.tg-dgc-claim-page .site-header,
body.tg-dgc-claim-page .elementor-location-header,
body.tg-dgc-claim-page .page-header,
body.tg-dgc-claim-page .entry-header,
body.tg-dgc-claim-page .elementor-widget-theme-page-title {
    display: none !important;
}

.tg-dgc-wrap {
    --tg-border: #d7dce1;
    --tg-text: #1f2933;
    --tg-muted: #5f6b76;
    --tg-red: #b42318;
    --tg-red-soft: #fff4f2;
    --tg-green: #067647;
    --tg-green-soft: #ecfdf3;
    --tg-amber: #92400e;
    --tg-amber-soft: #fffbeb;
    max-width: 980px;
    margin: 0 auto;
    color: var(--tg-text);
    font-family: inherit;
}

.tg-dgc-intro { margin-bottom: 24px; }
.tg-dgc-intro h2 { margin-bottom: 8px; }

.tg-dgc-upload-note {
    margin-top: 18px;
    padding: 16px 18px;
    border-left: 5px solid #d97706;
    background: var(--tg-amber-soft);
    border-radius: 6px;
    line-height: 1.55;
}

.tg-dgc-section {
    margin: 0 0 24px;
    padding: 22px;
    border: 1px solid var(--tg-border);
    border-radius: 10px;
    background: #fff;
}

.tg-dgc-section legend {
    padding: 0 10px;
    font-weight: 700;
    font-size: 1.15rem;
}

.tg-dgc-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.tg-dgc-field {
    display: flex;
    flex-direction: column;
    gap: 7px;
    font-weight: 600;
}

.tg-dgc-field > label {
    display: block;
    margin: 0;
    font-weight: 600;
    cursor: pointer;
}

/* Date fields are isolated so neither control can overlap or activate its neighbour. */
.tg-dgc-date-field {
    position: relative;
    min-width: 0;
    isolation: isolate;
}

.tg-dgc-date-caption {
    display: block;
    margin: 0;
    font-weight: 600;
}

.tg-dgc-date-field input[type="date"] {
    position: relative;
    z-index: 1;
    pointer-events: auto !important;
}

.tg-dgc-field-full { grid-column: 1 / -1; margin-top: 18px; }
.tg-dgc-field small,
.tg-dgc-muted,
.tg-dgc-submit-help { color: var(--tg-muted); font-weight: 400; }
.tg-dgc-field em { font-weight: 400; color: var(--tg-muted); }
.tg-dgc-field b { color: var(--tg-red); }

.tg-dgc-field input,
.tg-dgc-field select,
.tg-dgc-field textarea {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #aeb7c0;
    border-radius: 6px;
    padding: 11px 12px;
    background: #fff;
    color: var(--tg-text);
    font: inherit;
    font-weight: 400;
}

.tg-dgc-field textarea { resize: vertical; }
.tg-dgc-field input:focus,
.tg-dgc-field select:focus,
.tg-dgc-field textarea:focus {
    outline: 3px solid rgba(14, 116, 144, .18);
    border-color: #0e7490;
}

.tg-dgc-upload-box {
    position: relative;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 8px 16px;
    align-items: center;
    padding: 18px;
    margin-top: 14px;
    border: 2px dashed #aeb7c0;
    border-radius: 8px;
    cursor: pointer;
}
.tg-dgc-upload-box:hover { border-color: #66737f; }
.tg-dgc-upload-title { font-weight: 700; }
.tg-dgc-upload-title em {
    display: inline-block;
    margin-left: 5px;
    padding: 2px 7px;
    border-radius: 999px;
    background: #eef2f6;
    color: var(--tg-muted);
    font-size: .75rem;
    font-style: normal;
    font-weight: 600;
}
.tg-dgc-upload-help { color: var(--tg-muted); font-size: .92rem; }
.tg-dgc-upload-box input[type="file"] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}
.tg-dgc-file-button {
    grid-column: 2;
    grid-row: 1 / span 2;
    padding: 9px 13px;
    border-radius: 6px;
    background: #27313a;
    color: #fff;
    font-weight: 700;
}
.tg-dgc-selected {
    grid-column: 1 / -1;
    color: var(--tg-muted);
    font-size: .88rem;
    overflow-wrap: anywhere;
}

.tg-dgc-file-list {
    margin-top: 20px;
    padding: 16px;
    background: #f7f9fb;
    border-radius: 8px;
}
.tg-dgc-file-list h3 { margin-top: 0; }
.tg-dgc-file-row {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 9px 0;
    border-bottom: 1px solid var(--tg-border);
}
.tg-dgc-file-row:last-child { border-bottom: 0; }
.tg-dgc-file-row strong { text-align: right; }
.tg-dgc-file-row[data-state="success"] strong { color: var(--tg-green); }
.tg-dgc-file-row[data-state="warning"] strong { color: var(--tg-amber); }

.tg-dgc-consent {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 12px;
    align-items: start;
    line-height: 1.55;
}
.tg-dgc-consent input { margin-top: 5px; }

.tg-dgc-actions { margin: 8px 0 20px; }
.tg-dgc-submit {
    min-width: 180px;
    border: 0;
    border-radius: 7px;
    padding: 13px 20px;
    background: #b42318;
    color: #fff;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}
.tg-dgc-submit:hover { filter: brightness(.94); }
.tg-dgc-submit:disabled { opacity: .58; cursor: wait; }

.tg-dgc-status {
    margin: 20px 0;
    padding: 16px 18px;
    border-radius: 8px;
    line-height: 1.5;
}
.tg-dgc-status-working { background: #eff6ff; border: 1px solid #93c5fd; }
.tg-dgc-status-error { background: var(--tg-red-soft); border: 1px solid #fda29b; color: #7a271a; }
.tg-dgc-status-success { background: var(--tg-green-soft); border: 1px solid #6ce9a6; color: #05603a; }
.tg-dgc-status h3 { margin: 0 0 8px; }

.tg-dgc-invalid input,
.tg-dgc-invalid select,
.tg-dgc-invalid textarea,
.tg-dgc-invalid.tg-dgc-consent {
    border-color: var(--tg-red) !important;
    background: var(--tg-red-soft) !important;
}
.tg-dgc-invalid {
    padding: 10px;
    margin: -10px;
    border-radius: 7px;
    background: var(--tg-red-soft);
}
.tg-dgc-error-text {
    display: block;
    color: var(--tg-red);
    font-weight: 700;
}
.tg-dgc-hp { position: absolute !important; left: -9999px !important; }

@media (max-width: 720px) {
    .tg-dgc-section { padding: 17px; }
    .tg-dgc-grid,
    .tg-dgc-upload-box { grid-template-columns: 1fr; }
    .tg-dgc-file-button { grid-column: 1; grid-row: auto; justify-self: start; }
    .tg-dgc-file-row { flex-direction: column; gap: 4px; }
    .tg-dgc-file-row strong { text-align: left; }
}
