/* CMS wrappers and real forms. The reviewed layout remains in page.css. */
/* Explicit interaction states keep Hello Elementor's pink fallback outside the module. */
.pw24-roof-page button{color:var(--navy)}
.pw24-roof-page button:is(:hover,:focus,:active){color:#351ef0;background-color:#f3f0ff}
.pw24-roof-page .button.primary:is(:hover,:focus,:active){color:#fff;background:linear-gradient(115deg,#2818c7,#3a2bdc)}
.pw24-roof-page .price-example-grid button:is(:hover,:focus,:active),.pw24-roof-page .price-example-grid button:hover{background:transparent;color:#fff}
.pw24-roof-page .price-example-grid button:is(:hover,:focus-visible){text-decoration:underline;text-underline-offset:4px}
.pw24-roof-page .price-example-grid button{border-color:transparent}
.pw24-roof-page .price-example-grid button:active{color:#d7ceff}
.pw24-roof-page .review-carousel .review-dots button:is(:hover,:focus,:active){background:transparent;color:#fff}
.pw24-roof-page .review-carousel .review-dots button:hover span{background:#d3caff}
.pw24-roof-page .review-carousel .review-arrow:is(:hover,:focus,:active){background:#f3f0ff;color:#351ef0;border-color:#b9adff}
.pw24-roof-page .review-carousel .review-arrow:active{background:#e8e1ff;transform:none}
.pw24-roof-page .treatment-add:is(:hover,:focus,:active){background:transparent;color:#351ef0;border-color:#b8a9ef}
.pw24-roof-page .site-header .menu-toggle:is(:hover,:focus,:active){background:#f7f5ff;color:#351ef0;border-color:#d4caf5}
.pw24-roof-page .project-photo:is(:hover,:focus,:active){background:#f3f5f8;color:#1c244b}
.pw24-roof-page :is(a,button,input,select,textarea,summary):focus-visible{outline:1px solid #9b88db;outline-offset:2px}
.pw24-roof-page :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=range]):focus{border-color:#b3a6df;box-shadow:0 0 0 2px #7960ea0d;outline:0}
.pw24-roof-page :is(input[type=checkbox],input[type=radio]){accent-color:#351ef0}
.pw24-roof-page .roof-type:focus-within{outline:1px solid #b3a6df;outline-offset:2px}
.pw24-roof-page .roof-type input:focus-visible,.pw24-roof-page #comparison-slider:focus-visible{outline:0}
.pw24-roof-page .booking-upload:focus-within{outline:1px solid #b3a6df;outline-offset:2px}
body.elementor-page-3802{margin:0;background:#fff}
.elementor-3802>.e-con{width:100%;max-width:none;--padding-top:0;--padding-right:0;--padding-bottom:0;--padding-left:0;--gap:0;display:block}
.elementor-3802 .elementor-widget-shortcode,.elementor-3802 .elementor-shortcode{width:100%;margin:0}
.pw24-roof-page{width:100%;max-width:none;position:relative;isolation:isolate}
.pw24-roof-page .site-header.site-header-v4{display:block;position:sticky;top:0;width:100%;max-width:none;margin:0;padding:0;left:0;right:0}
.pw24-roof-page .site-header .header-inner{width:min(var(--max),calc(100% - 80px));max-width:none;margin-inline:auto;flex-wrap:nowrap}
@media(max-width:800px){.pw24-roof-page .site-header .header-inner{width:calc(100% - 40px)}}
@media(max-width:600px){.pw24-roof-page .site-header .header-inner{width:calc(100% - 36px)}}
.pw24-roof-page #kalkulator,.pw24-roof-page #rezerwacja-uslugi{scroll-margin-top:120px}
.admin-bar .pw24-roof-page #kalkulator,.admin-bar .pw24-roof-page #rezerwacja-uslugi{scroll-margin-top:152px}
.pw24-roof-page .wpcf7{width:100%;margin:0}
.pw24-roof-page .wpcf7 form{margin:0}
.pw24-roof-page .wpcf7 p{margin:0}
.pw24-roof-page .booking-fields>p,.pw24-roof-page .quote-fields>p{display:contents}
.pw24-roof-page figcaption{font-style:normal}
.pw24-roof-page .wpcf7 .wpcf7-submit{text-transform:none;font-weight:600}
.pw24-roof-page .wpcf7-form-control-wrap{display:block;width:100%;position:relative}
.pw24-roof-page .booking-control .wpcf7-form-control-wrap{display:block}
.pw24-roof-page .booking-control input,.pw24-roof-page .booking-control select{width:100%}
.pw24-roof-page .booking-consent .wpcf7-list-item,.pw24-roof-page .quote-consent .wpcf7-list-item{margin:0}
.pw24-roof-page .booking-consent label,.pw24-roof-page .quote-consent label{display:flex;gap:12px;align-items:flex-start;line-height:1.7}
.pw24-roof-page .booking-consent input,.pw24-roof-page .quote-consent input{flex-shrink:0;margin-top:4px}
.pw24-roof-page .booking-upload .wpcf7-form-control-wrap{position:relative;width:100%;height:auto}
.pw24-roof-page .booking-upload{display:block;text-align:center}
.pw24-roof-page .booking-upload>svg{width:32px;height:32px;margin:0 auto 10px}
.pw24-roof-page .booking-upload>span{display:block;margin-bottom:14px}
.pw24-roof-page .booking-upload input[type=button]{position:static!important;inset:auto!important;opacity:1!important;width:auto!important;height:auto!important;display:inline-block;padding:12px 18px;background:#efecff!important;color:#351ef0!important;border:1px solid #d7d0ff;border-radius:6px;cursor:pointer;font:inherit;text-transform:none}
.pw24-roof-page .booking-upload .mfcf7_zl_add_file{display:inline-flex;align-items:center;justify-content:center;color:#351ef0!important;background:#efecff;padding:12px 18px;border:1px solid #d7d0ff;border-radius:6px;text-decoration:none;font-size:14px}
.pw24-roof-page .booking-upload .mfcf7-zl-multifile-name{font-size:13px;color:#1c244b}
.pw24-roof-page .booking-upload:has(.mfcf7_zl_multifilecontainer){display:block;text-align:center}
.pw24-roof-page .booking-upload input[type=file]{position:static!important;opacity:1!important;width:100%!important;height:auto!important;cursor:pointer;font:inherit;padding:12px}
.pw24-roof-page .mfcf7_zl_multifilecontainer{font:inherit;display:block;width:100%}
.pw24-roof-page .mfcf7_zl_multifilecontainer input[type=button]{font:inherit;border-radius:6px;padding:12px 18px;background:#efecff;color:#351ef0;border:1px solid #d7d0ff;cursor:pointer}
.pw24-roof-page .wpcf7-not-valid-tip{color:#b42318;font-size:12px;line-height:1.5;margin-top:5px}
.pw24-roof-page .wpcf7-response-output{border-radius:6px;font-size:14px;line-height:1.6;padding:14px!important;margin:18px 0 0!important}
.pw24-roof-page .wpcf7-form.invalid .wpcf7-response-output{background:#fff8ed;color:#7a4018}
.pw24-roof-page .wpcf7-form.sent .wpcf7-response-output{background:#effaf4;color:#17603a}
.pw24-roof-page .wpcf7-submit:disabled{opacity:.55;cursor:not-allowed}
.pw24-roof-page .wpcf7-spinner{vertical-align:middle;margin:0 10px}
.pw24-roof-page .quote-form-v5>h3{margin-bottom:22px}
.pw24-roof-page .quote-fields .wpcf7-form-control-wrap{margin-top:7px}
.pw24-roof-page .quote-consent{margin:18px 0}
.pw24-roof-page .booking-actions p{font-size:12px;color:#667085}
.pw24-roof-page .wpcf7-form-control.wpcf7-hidden{display:none}
/* Keep native range dragging, with a comfortable touch target. */
.pw24-roof-page .material-card .material-select{color:#1c244b;background:transparent;box-shadow:none;border-radius:0;text-transform:none;transition:color .15s,background-color .15s,border-color .15s}
.pw24-roof-page .material-card .material-select:hover,.pw24-roof-page .material-card .material-select:focus,.pw24-roof-page .material-card .material-select:active,.pw24-roof-page .material-card .material-select[aria-pressed="true"]{color:#351ef0;background:#f3f0ff;border-color:#d7d0ff;box-shadow:none}
.pw24-roof-page .material-card .material-select:focus-visible{outline:1px solid #9b88db;outline-offset:2px}
.pw24-roof-page .project-lightbox .lightbox-close{color:#1c244b;background:#fff;border-color:#dce2ed;box-shadow:none;text-transform:none}
.pw24-roof-page .project-lightbox .lightbox-close:hover,.pw24-roof-page .project-lightbox .lightbox-close:focus{color:#351ef0;background:#f3f0ff;border-color:#d7d0ff}
.pw24-roof-page .project-lightbox .lightbox-close:active{color:#351ef0;background:#e8e1ff}
.pw24-roof-page .project-lightbox .lightbox-close:focus-visible{outline:1px solid #9b88db;outline-offset:2px}
.pw24-roof-page .projects-v5 .project-photo:focus{color:#1c244b;background:#fff}
.pw24-roof-page #roof-distance{appearance:none;-webkit-appearance:none;display:block;box-sizing:border-box;width:100%;height:44px;min-height:44px;padding:0;margin:0;border:0;background:transparent;box-shadow:none;touch-action:pan-y;cursor:grab}
.pw24-roof-page #roof-distance:active{cursor:grabbing}
.pw24-roof-page #roof-distance::-webkit-slider-runnable-track{height:6px;border-radius:999px;background:linear-gradient(to right,var(--violet) 0 var(--distance-progress,10%),#dce2ee var(--distance-progress,10%) 100%)}
.pw24-roof-page #roof-distance::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:26px;height:26px;margin-top:-10px;border:3px solid #fff;border-radius:50%;background:var(--violet);box-shadow:0 0 0 1px #cbc3fa,0 2px 6px #301b8c24}
.pw24-roof-page #roof-distance::-moz-range-track{height:6px;border-radius:999px;background:#dce2ee}
.pw24-roof-page #roof-distance::-moz-range-progress{height:6px;border-radius:999px;background:var(--violet)}
.pw24-roof-page #roof-distance::-moz-range-thumb{width:20px;height:20px;border:3px solid #fff;border-radius:50%;background:var(--violet);box-shadow:0 0 0 1px #cbc3fa,0 2px 6px #301b8c24}
.pw24-roof-page #roof-distance:focus-visible{outline:1px solid #9b88db;outline-offset:2px;border-radius:8px}
@media(min-width:783px){.admin-bar .pw24-roof-page .site-header{top:32px}}
@media(max-width:782px){.admin-bar .pw24-roof-page .site-header{top:46px}}
@media(max-width:600px){.pw24-roof-page .wpcf7-not-valid-tip{font-size:13px}.pw24-roof-page .booking-upload input[type=file]{font-size:14px}}
@media(max-width:600px){
 .pw24-roof-page .calc-layout,.pw24-roof-page .calc-fields{grid-template-columns:minmax(0,1fr)}
 .pw24-roof-page .calc-field{min-width:0}
 .pw24-roof-page #kalkulator,.pw24-roof-page #rezerwacja-uslugi{scroll-margin-top:90px}
 .admin-bar .pw24-roof-page #kalkulator,.admin-bar .pw24-roof-page #rezerwacja-uslugi{scroll-margin-top:136px}
 body.elementor-page-3802 .grecaptcha-badge{bottom:94px!important}
}
