/* UPGRAIT AVV – unified legal-page styling v0.1
   The surrounding article uses Quark 2's standard .content-item, exactly like /datenschutz.
   Do not override legal-page typography here; the theme owns it. */
.upg-avv-page {
  font: inherit;
}

.upg-avv-copy table { width: 100%; border-collapse: collapse; display: block; overflow-x: auto; }
.upg-avv-copy th, .upg-avv-copy td { padding: .65rem .75rem; border-bottom: 1px solid rgba(127,127,127,.25); text-align: left; vertical-align: top; }

.upg-avv-root { scroll-margin-top: 7rem; margin-top: 2.2rem; padding: clamp(1.2rem, 3vw, 2rem); border: 1px solid rgba(127,127,127,.22); border-radius: 18px; background: rgba(127,127,127,.045); }
.upg-avv-form-head h3, .upg-avv-review h3 { margin-top: 0; margin-bottom: .4rem; }
.upg-avv-note, .upg-avv-help, .upg-avv-wait { color: var(--muted, #667085); }
.upg-avv-help { font-size: .86rem; margin: .35rem 0 0; }
.upg-avv-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem 1.1rem; margin-top: 1.5rem; }
.upg-avv-field { min-width: 0; }
.upg-avv-field label { display: block; font-weight: 650; margin-bottom: .4rem; }
.upg-avv-field input[type="text"] { width: 100%; box-sizing: border-box; padding: .78rem .85rem; border-radius: 10px; border: 1px solid rgba(127,127,127,.35); background: var(--body-bg, #fff); color: inherit; font: inherit; }
.upg-avv-field input[type="text"]:focus { outline: 2px solid rgba(45,136,201,.32); border-color: #2D88C9; }
.upg-avv-check { grid-column: 1 / -1; display: grid; grid-template-columns: auto 1fr; column-gap: .7rem; align-items: start; padding: .8rem 0; }
.upg-avv-check input { margin-top: .25rem; }
.upg-avv-check label { margin: 0; font-weight: 500; }
.upg-avv-check .upg-avv-field-error { grid-column: 2; }
.upg-avv-required { color: #b42318; }
.upg-avv-field-error { color: #b42318; margin: .35rem 0 0; font-size: .87rem; }
.upg-avv-actions { display: flex; gap: .8rem; flex-wrap: wrap; margin-top: 1.5rem; }
.upg-avv-actions .button[disabled] { opacity: .5; cursor: not-allowed; }
.upg-avv-summary { display: grid; grid-template-columns: minmax(160px, 32%) 1fr; gap: .4rem 1.2rem; margin: 1.5rem 0; }
.upg-avv-summary dt { font-weight: 650; }
.upg-avv-summary dd { margin: 0; overflow-wrap: anywhere; }
.upg-avv-notice { padding: 1rem 1.1rem; border-radius: 12px; border: 1px solid rgba(127,127,127,.25); }
.upg-avv-notice--success { border-color: rgba(29,122,72,.35); background: rgba(29,122,72,.08); }
.upg-avv-notice--error { border-color: rgba(180,35,24,.35); background: rgba(180,35,24,.08); }
.upg-avv-decoy { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.upg-avv-version { font-size: .9rem; color: var(--muted, #667085); margin-bottom: 1rem; }

@media (max-width: 720px) {
  .upg-avv-grid { grid-template-columns: 1fr; }
  .upg-avv-summary { grid-template-columns: 1fr; gap: .15rem; }
  .upg-avv-summary dd { margin-bottom: .7rem; }
}
