/* Kontakt: formularz i treści ze starej strony, wspólny system revisi. */
:root{--rv-contact-reading:42rem;--rv-contact-hero-title:clamp(2.8rem,4.5vw,5.5rem);--rv-contact-stripe-width:clamp(1.5rem,3vw,3rem);--rv-contact-input-height:3.5rem;--rv-contact-message-height:12rem}
.rv-contact-section{padding-block:var(--rv-space-6)}
.rv-contact-hero{overflow:clip}
.rv-contact-hero-layout,.rv-contact-form-layout,.rv-contact-next-layout{display:grid;gap:var(--rv-space-5)}
.rv-contact-hero h1{font-size:var(--rv-contact-hero-title);margin-bottom:var(--rv-space-4);text-wrap:balance}
.rv-contact-hero h1 span{color:var(--rv-red)}
.rv-contact-hero p{max-width:var(--rv-contact-reading)}
.rv-contact-section h2,.rv-contact-section h3{text-wrap:balance}
.rv-contact-section p{text-wrap:pretty}
.rv-contact-visual{position:relative;isolation:isolate;align-self:center}
.rv-contact-bars{position:absolute;right:25%;top:-60%;height:220%;--rv-bar-height:100%;--rv-bar-width:var(--rv-contact-stripe-width);--rv-bar-gap:var(--rv-space-3);z-index:-1;pointer-events:none}
.rv-contact-response-card{padding:var(--rv-space-4);display:grid;gap:var(--rv-space-3)}
.rv-contact-response-card h2{font-size:var(--rv-size-subheading)}
.rv-contact-response-time{display:grid;gap:var(--rv-space-1);font-size:1rem}
.rv-contact-direct{display:grid;gap:var(--rv-space-3);border-top:var(--rv-border-width) solid var(--rv-grey);padding-top:var(--rv-space-3)}
.rv-contact-direct-row{display:grid;gap:var(--rv-space-1)}
.rv-contact-direct-label{font-size:var(--rv-size-note)}
.rv-contact-direct-value{font-weight:var(--rv-bold);overflow-wrap:anywhere}
.rv-contact-form-intro h2,.rv-contact-next-intro h2{margin-bottom:var(--rv-space-3)}
.rv-contact-brief-help{margin-top:var(--rv-space-4)}
.rv-contact-brief-help ol{list-style:none;margin:var(--rv-space-3) 0;padding:0;display:grid;gap:var(--rv-space-2)}
.rv-contact-brief-help li{display:flex;gap:var(--rv-space-2)}
.rv-contact-brief-help li>span{color:var(--rv-red);font-weight:var(--rv-bold)}
.rv-contact-privacy-note{font-size:var(--rv-size-note);margin-top:var(--rv-space-4)}
.rv-contact-form{display:grid;gap:var(--rv-space-3);min-width:0}
.rv-contact-form-row{display:grid;gap:var(--rv-space-3)}
.rv-contact-field{display:grid;gap:var(--rv-space-1);min-width:0}
.rv-contact-field>label,.rv-contact-choice-group legend{font-weight:var(--rv-bold);font-size:1rem}
.rv-contact-field label span:not([aria-hidden]){font-size:var(--rv-size-note);font-weight:var(--rv-light)}
.rv-contact-field input,.rv-contact-field textarea{font:inherit;font-size:1rem;width:100%;border:var(--rv-border-width) solid var(--rv-grey);background:var(--rv-paper);color:var(--rv-ink);padding:var(--rv-space-2);border-radius:0;min-height:var(--rv-contact-input-height)}
.rv-contact-field textarea{min-height:var(--rv-contact-message-height);resize:vertical}
.rv-contact-field input:focus-visible,.rv-contact-field textarea:focus-visible{outline:var(--rv-focus-width) solid var(--rv-red);outline-offset:var(--rv-focus-offset)}
.rv-contact-choice-group{border:0;padding:0;margin:0;min-width:0}
.rv-contact-choice-group legend{margin-bottom:var(--rv-space-2)}
.rv-contact-choice-grid{display:grid;gap:var(--rv-space-2)}
.rv-contact-choice{display:flex;align-items:center;gap:var(--rv-space-2);padding:var(--rv-space-2);border:var(--rv-border-width) solid var(--rv-grey);cursor:pointer;font-size:1rem;min-height:var(--rv-contact-input-height)}
.rv-contact-choice input{accent-color:var(--rv-red);flex-shrink:0}
.rv-contact-choice:has(input:checked){border-color:var(--rv-red)}
.rv-contact-choice:has(input:focus-visible){outline:var(--rv-focus-width) solid var(--rv-red);outline-offset:var(--rv-focus-offset)}
.rv-contact-choice span{display:grid;gap:var(--rv-space-1)}
.rv-contact-choice small{font-size:var(--rv-size-note)}
.rv-contact-field-meta{display:flex;justify-content:space-between;gap:var(--rv-space-2);font-size:var(--rv-size-note)}
.rv-contact-field-error{font-size:var(--rv-size-note);color:var(--rv-red)}
.rv-contact-field-error:empty{display:none}
.is-invalid input,.is-invalid textarea{border-color:var(--rv-red)}
.rv-contact-honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.rv-contact-form-footer{display:flex;align-items:center;flex-wrap:wrap;gap:var(--rv-space-3)}
.rv-contact-submit{font-family:inherit;cursor:pointer}
.rv-contact-submit:disabled{opacity:.6;cursor:wait}
.rv-contact-required-note{font-size:var(--rv-size-note)}
.rv-contact-form-status{font-size:1rem}
.rv-contact-form-status:empty{display:none}
.rv-contact-form-status.is-error{color:var(--rv-red)}
.rv-contact-dark{background:var(--rv-ink);color:var(--rv-paper)}
.rv-contact-next-list{list-style:none;margin:0;padding:0}
.rv-contact-next-list li{display:flex;gap:var(--rv-space-3);padding-block:var(--rv-space-4);border-top:var(--rv-border-width) solid var(--rv-grey)}
.rv-contact-next-number{color:var(--rv-red);font-weight:var(--rv-bold)}
.rv-contact-next-list h3{margin-bottom:var(--rv-space-2)}
@media(min-width:48rem){.rv-contact-form-row,.rv-contact-choice-grid-services{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:64rem){.rv-contact-hero-layout,.rv-contact-form-layout,.rv-contact-next-layout{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}

/* Pakiet aktywny wyłącznie dla stałego wsparcia. */
.rv-contact-field select{font:inherit;font-size:1rem;width:100%;min-height:var(--rv-contact-input-height);padding:var(--rv-space-2);border:var(--rv-border-width) solid var(--rv-grey);border-radius:0;background:var(--rv-paper);color:var(--rv-ink)}
.rv-contact-field select:disabled{color:var(--rv-grey);cursor:not-allowed}
.rv-contact-field select:focus-visible{outline:var(--rv-focus-width) solid var(--rv-red);outline-offset:var(--rv-focus-offset)}
.rv-contact-package-help{font-size:var(--rv-size-note)}

/* Potwierdzenie pojawia się dopiero po sukcesie odpowiedzi serwera. */
.rv-contact-success{width:min(34rem,calc(100% - 2 * var(--rv-space-2)));max-height:calc(100dvh - 2 * var(--rv-space-2));margin:auto;padding:var(--rv-space-4);border:var(--rv-border-width) solid var(--rv-grey);background:var(--rv-paper);color:var(--rv-ink)}
.rv-contact-success::backdrop{background:rgba(19,8,12,.65)}
.rv-contact-success h2{font-size:var(--rv-size-subheading);margin-bottom:var(--rv-space-3)}
.rv-contact-success h2 span{color:var(--rv-red)}
.rv-contact-success p{font-size:1rem;margin-bottom:var(--rv-space-4);text-wrap:pretty}
.rv-contact-success button{font-family:inherit;cursor:pointer}
