body:has(#roof-request) #ixTop,body:has(#roof-request) #ixSearchToggle,body:has(#roof-request) #formularzKlienta:before { display:none!important }
body:has(#roof-request) main, .roof-top { max-width:980px; margin:0 auto; box-sizing:border-box }
.roof-top { padding:24px 20px 10px; display:flex; justify-content:space-between; align-items:center; gap:20px }
.roof-top img { display:block; width:140px; max-width:100%; height:auto }
.roof-return { color:#195397; font-size:16px; font-weight:700; text-decoration:underline; text-underline-offset:4px }
body:has(#roof-request) main .StrNaglowek { padding:20px 20px 8px; border:0; background:none; font-size:30px; line-height:1.2; color:#19212b; letter-spacing:0 }
body:has(#roof-request) .StrTresc,body:has(#roof-request) .OpisPolaFormularza,body:has(#roof-request) .TrescPolaFormularza { width:100%!important; float:none; margin:0!important; padding:0!important; box-sizing:border-box }
body:has(#roof-request) .OpisFormularza { padding:0 20px!important; margin:0 0 20px!important; width:auto!important; float:none }
.roof-intro p { font-size:16px; line-height:1.5; margin:6px 0 }
body:has(#roof-request) #formularzKlienta { padding:0 20px 24px!important; margin:0!important; max-width:none!important; width:100%!important; border:0; border-radius:0; box-shadow:none; background:#fff; box-sizing:border-box; letter-spacing:0 }
.roof-form *, .roof-top * { box-sizing:border-box }
body:has(#roof-request) #formularzKlienta p { display:block; grid-template-columns:none }
.roof-basics,.roof-contact-grid,.roof-tech-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 24px }
.roof-basics .roof-field:nth-child(3),.roof-basics .roof-field:nth-child(4),.roof-contact-grid .roof-field:first-child { grid-column:1/-1 }
body:has(#roof-request) #formularzKlienta .roof-field { margin:0!important; padding:0!important; min-width:0; width:auto!important }
body:has(#roof-request) #formularzKlienta .roof-field>span { display:block!important; float:none; width:auto; padding-top:0; margin:0 0 7px }
body:has(#roof-request) #formularzKlienta label.formSpan { display:block; width:auto!important; margin:0; padding:0; float:none; color:#202b36; font-size:16px; font-weight:650; line-height:1.45; white-space:normal }
body:has(#roof-request) #formularzKlienta .roof-field input:not([type=hidden]),body:has(#roof-request) #formularzKlienta .roof-field select,body:has(#roof-request) #formularzKlienta .roof-field textarea { display:block; width:100%!important; max-width:100%; min-width:0; min-height:46px; font-family:inherit; font-size:16px; line-height:1.45; padding:10px 12px; border:1px solid #99aabe; background:#fff; color:#19212b; border-radius:4px; margin:0 }
body:has(#roof-request) #formularzKlienta .roof-field textarea { min-height:110px; resize:vertical }
.roof-form select { text-overflow:ellipsis }
body:has(#roof-request) #formularzKlienta .roof-field input:not([type=hidden]),body:has(#roof-request) #formularzKlienta .roof-field textarea { border-radius:4px!important; padding:10px 12px!important; font-weight:400!important; max-width:100%!important; box-shadow:none }
.roof-form :is(input,textarea,select,a,summary):focus-visible { outline:3px solid #245fcc; outline-offset:3px }
body:has(#roof-request) #formularzKlienta .roof-field input[type=file] { font-size:14px; padding:10px; background:#f6f8fa }
.roof-files,.roof-contacts { border-top:1px solid #d7dfe7; padding:22px 0; margin-top:24px }
body:has(#roof-request) #formularzKlienta h2 { font-size:20px; line-height:1.3; color:#202b36; margin:0 0 12px; letter-spacing:0 }
body:has(#roof-request) #formularzKlienta .roof-hint { color:#526171; line-height:1.5; font-size:14px; padding:0; margin:10px 0 16px }
.roof-hint a { color:#195397; text-decoration:underline }
.roof-form details { margin:16px 0 0; border:0 }
.roof-form summary { color:#195397; cursor:pointer; font-size:16px; font-weight:700; padding:12px 0; line-height:1.45 }
.roof-form .roof-tech { border-top:1px solid #d7dfe7; border-bottom:1px solid #d7dfe7; margin:0; padding:6px 0 }
.roof-tech-grid { padding:12px 0 20px }
.roof-extra-files[open] { display:grid; gap:16px }
.roof-summary { padding-bottom:10px }
.roof-summary dl { margin:8px 0; padding:16px; background:#f6f8fa; overflow-wrap:anywhere }
.roof-summary dt { font-size:14px; font-weight:700; margin-top:12px }
.roof-summary dt:first-child { margin-top:0 }
.roof-summary dd { font-size:15px; line-height:1.45; margin:4px 0 0; white-space:pre-wrap }
body:has(#roof-request) #formularzKlienta #submitButton { background:#df1d15!important; color:#fff!important; font-family:inherit; font-weight:700!important; font-size:17px!important; padding:15px 24px!important; border:0; border-radius:5px!important; box-shadow:none; white-space:normal; max-width:100%; line-height:1.3; height:auto; cursor:pointer }
body:has(#roof-request) #formularzKlienta label.error[style*="display: none"],body:has(#roof-request) #formularzKlienta label.error[style*="display:none"] { display:none!important }
body:has(#roof-request) #formularzKlienta label.error,.roof-file-error { color:#b51616; white-space:normal; font-size:14px; margin-top:6px; line-height:1.4 }
body:has(#roof-request) main>.StrTresc>a.Prawy { margin:10px 20px 26px }
@media(max-width:600px) {
 .roof-top { padding:16px 16px 8px; gap:16px }
 .roof-top img { width:105px }
 .roof-return { font-size:14px; text-align:right }
 body:has(#roof-request) main .StrNaglowek { font-size:25px; padding:16px 16px 8px }
 body:has(#roof-request) .OpisFormularza { padding:0 16px!important }
 body:has(#roof-request) #formularzKlienta { padding:0 16px 24px!important }
 .roof-basics,.roof-contact-grid,.roof-tech-grid { grid-template-columns:minmax(0,1fr); gap:18px }
 body:has(#roof-request) #submitButton { width:100% }
}
