/*!
 * Canvas Theme - Custom build for formularz-o.html
 * Includes: typography, wrapper, header, topbar, slider, feature-box, pricing, footer, buttons, utilities
 * Removed: blog, shop, portfolio, page-loaders, sliders, carousel, tabs, testimonials, team, countdown, flipcard
 */

/* ================================================================
   BASE TYPOGRAPHY
================================================================ */
:root{--cnvs-themecolor:#0F6458;--cnvs-themecolor-rgb:15,100,88;--cnvs-body-font:"IBM Plex Sans",sans-serif;--cnvs-primary-font:"IBM Plex Serif",serif;--cnvs-secondary-font:"Playfair Display",serif}
body{line-height:1.7;color:#555;font-family:var(--cnvs-body-font)}
a{text-decoration:none;color:var(--cnvs-themecolor)}
a:hover{color:#0a4a40}
::selection{background:var(--cnvs-themecolor);color:#fff;text-shadow:none}
img{max-width:100%;height:auto}
p,pre,ul,ol,dl,dd,blockquote,address,table,fieldset,form{margin-bottom:1.5rem}
small{font-family:var(--cnvs-body-font)}

/* Headings */
h1,h2,h3,h4,h5,h6{color:#0a4a40;font-weight:600;line-height:1.35;margin:0 0 1rem;font-family:var(--cnvs-primary-font)}
h1{font-size:2.25rem}h2{font-size:1.75rem}h3{font-size:1.5rem}h4{font-size:1.125rem}h5{font-size:1rem}h6{font-size:.875rem}
.h1,.h2,.h3,.h4,.h5,.h6{font-weight:600}

/* ================================================================
   WRAPPER & CONTENT
================================================================ */
#wrapper{position:relative;overflow:hidden;width:100%}
#content{position:relative;background-color:#fff}
.content-wrap{position:relative;padding:4rem 0}
.section{position:relative;margin:0;padding:3.75rem 0}
.stretched{min-height:100vh}

/* ================================================================
   TOP BAR
================================================================ */
#top-bar{position:relative;border-bottom:1px solid rgba(0,0,0,.05)}
#top-bar .container{display:flex;align-items:center;justify-content:center;min-height:2.8125rem}

/* ================================================================
   HEADER
================================================================ */
#header{position:relative;background-color:#fff;border-bottom:1px solid #eee}
#header-wrap{position:relative;background-color:#fff;width:100%}
.header-row{position:relative;display:flex;align-items:center;flex-wrap:wrap}
#logo{position:relative;display:flex;align-items:center;margin-right:auto;max-height:100%}
#logo img{display:block;max-width:100%;height:6.25rem;transition:height .4s ease}
#logo a{color:var(--cnvs-themecolor)}
#logo a.standard-logo{display:flex}
#logo a.retina-logo{display:none}
@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){
#logo a.standard-logo{display:none}
#logo a.retina-logo{display:flex}
}

/* Header misc */
.header-misc{display:flex;align-items:center;gap:.5rem;margin-left:auto}
.header-misc>*{margin-left:.75rem}
.header-misc>.d-flex>*+*{margin-left:.5rem}

/* Sticky header */
.sticky-header #header{position:fixed;top:0;left:0;right:0;z-index:299}

/* Mobile header */
@media(max-width:991px){
#logo img{height:3.75rem}
.header-misc{order:3;margin-left:0;width:100%;justify-content:center;margin-top:.75rem}
}

/* ================================================================
   SLIDER / HERO SECTION
================================================================ */
#slider{position:relative}
.slider-element{position:relative;width:100%;background:linear-gradient(to right,rgba(255,255,255,1) 40%,rgba(70,193,176,.3))}
@media(min-width:992px){.slider-element{background:linear-gradient(to right,rgba(255,255,255,0),rgba(70,193,176,.37)),url(mojprad/images/1.png) no-repeat 90% 100%/auto 50%}}
.slider-element .container{position:relative;z-index:2}
.slider-element.dark{color:#0a4a40}
.slider-element.min-vh-50{min-height:50vh}
.slider-element.min-vh-60{min-height:60vh}
.slider-element.min-vh-75{min-height:75vh}

/* ================================================================
   FEATURE BOXES
================================================================ */
.feature-box{position:relative;display:flex;flex-wrap:wrap;margin-left:-0.9375rem;margin-right:-0.9375rem}
.feature-box:first-child{margin-top:0}
.fbox-icon{width:5.25rem;height:4rem;padding:0 0.9375rem}
.fbox-icon a,.fbox-icon i,.fbox-icon img{display:block;position:relative;width:100%;height:100%;color:#fff}
.fbox-icon i,.fbox-icon img{border-radius:50%;background-color:var(--cnvs-themecolor)}
.fbox-icon i{font-style:normal;font-size:1.75rem;line-height:4rem;text-align:center}
.fbox-content{flex-basis:0;flex-grow:1;min-width:0;max-width:100%;padding:0 0.9375rem}
.fbox-content h3{font-size:1.125rem;font-weight:600;text-transform:none;margin-bottom:0;color:#0a4a40}
.fbox-content p{margin-top:.5rem;margin-bottom:0;color:#777}

/* Feature box small - perfectly round icons */
.fbox-sm .fbox-icon{width:2.75rem;height:2.75rem;padding:0}
.fbox-sm .fbox-icon i{font-size:1.125rem;line-height:2.75rem}
.fbox-sm .fbox-content h3{font-size:1rem}

/* Feature box large */
.fbox-lg .fbox-icon{width:6.75rem;height:5rem}
.fbox-lg .fbox-icon i{font-size:2.25rem;line-height:5rem}
.fbox-lg .fbox-content h3{font-size:1.25rem}

/* Feature box center */
.fbox-center{flex-direction:column;align-items:center;text-align:center}
.fbox-center .fbox-icon{width:auto;margin:0 auto 1rem}
.fbox-center .fbox-content{padding:0;flex-basis:auto}

/* Feature box plain */
.fbox-plain .fbox-icon{border:none;background:0 0;border-radius:0;height:auto}
.fbox-plain .fbox-icon i,.fbox-plain .fbox-icon img{background:0 0;border:none;border-radius:0;color:var(--cnvs-themecolor)}

/* Feature box outline */
.fbox-outline .fbox-icon i,.fbox-outline .fbox-icon img{border:2px solid var(--cnvs-themecolor);background:0 0;color:var(--cnvs-themecolor)}

/* Feature box dark */
.fbox-dark .fbox-icon i,.fbox-dark .fbox-icon img{background-color:#333}
.fbox-plain.fbox-dark .fbox-icon i,.fbox-plain.fbox-dark .fbox-icon img{color:#444;background:0 0}
.fbox-border.fbox-dark .fbox-icon a{border-color:#333}
.fbox-border.fbox-dark .fbox-icon i,.fbox-border.fbox-dark .fbox-icon img{color:#444}

/* Feature box bg */
.fbox-bg{padding:1.5rem;background-color:#f9f9f9;border-radius:.5rem}
.fbox-bg.fbox-center .fbox-content{padding:0}

/* ================================================================
   PRICING BOXES
================================================================ */
.pricing-box{position:relative;background-color:#fff;border:1px solid #ddd;border-radius:.5rem;text-align:center;box-shadow:0 1px 3px rgba(0,0,0,.05)}
.pricing-title{padding:1rem;background-color:#f9f9f9;border-radius:.5rem .5rem 0 0}
.pricing-title h3{margin:0;font-size:1.25rem;font-weight:600;color:#333}
.pricing-price{padding:1.5rem;font-size:4rem;font-weight:300;color:var(--cnvs-themecolor)}
.pricing-price span{display:inline-block}
.pricing-price .price-unit{font-size:1.5rem;vertical-align:top;margin-top:.5rem}
.pricing-price .price-tenure{font-size:1rem;color:#999;font-weight:400;display:block;margin-top:.25rem}
.pricing-features{border-top:1px solid #eee;border-bottom:1px solid #eee}
.pricing-features ul{list-style:none;padding:0;margin:0}
.pricing-features li{padding:.75rem 1rem;border-bottom:1px solid #f5f5f5}
.pricing-features li:last-child{border-bottom:none}
.pricing-action-area{padding:1.5rem}

/* Pricing highlight */
.pricing-highlight{box-shadow:0 0 20px rgba(0,0,0,.15);z-index:1;transform:scale(1.05)}
.pricing-highlight .pricing-title{background-color:var(--cnvs-themecolor);color:#fff}
.pricing-highlight .pricing-title h3{color:#fff}

/* Pricing extended */
.pricing-extended{background-color:#fff;text-align:left}
.pricing-extended .pricing-title{background-color:transparent;padding-top:0}
.pricing-extended .pricing-features{border:0;background-color:transparent}
.pricing-extended .pricing-action-area{border-left:1px solid rgba(0,0,0,.05);background-color:#f9f9f9;padding:1.875rem;text-align:center}
.pricing-extended .pricing-action-area .pricing-action,.pricing-extended .pricing-action-area .pricing-price{padding:0}
.pricing-extended .pricing-action-area .pricing-price{padding-bottom:1.25rem}
.pricing-extended .pricing-meta{color:#999;font-weight:300;font-size:.875rem;letter-spacing:0.0625rem;text-transform:uppercase;padding-bottom:0.625rem}

/* ================================================================
   BUTTONS
================================================================ */
.button{display:inline-block;position:relative;cursor:pointer;outline:none;white-space:nowrap;margin:0.3125rem;padding:0.5rem 1.375rem;font-size:0.875rem;line-height:1.5;background-color:var(--cnvs-themecolor);color:#fff;font-weight:600;text-transform:uppercase;letter-spacing:0.0625rem;border:none;border-radius:0.1875rem;text-shadow:none;transition:all .2s ease}
.button:hover{background-color:#0a4a40;color:#fff}
.button.button-border{border:2px solid var(--cnvs-themecolor);background-color:transparent;color:var(--cnvs-themecolor)}
.button.button-border:hover{background-color:var(--cnvs-themecolor);color:#fff}
.button.button-light{background-color:#e8f5f3;color:#0a4a40}
.button.button-light:hover{background-color:#d4ebe7;color:#0a4a40}
.button.button-light.bg-color-2{background-color:#ffcd8c!important}
.button.button-light.bg-color-2:hover{background-color:#f5c57a!important}
.button.button-dark{background-color:#333}
.button.button-dark:hover{background-color:#555}
.button.button-white{background-color:#fff;color:#333}
.button.button-white:hover{background-color:#f5f5f5}

/* Button sizes */
.button.button-mini{padding:0.25rem 0.875rem;font-size:0.6875rem;line-height:1.4}
.button.button-small{padding:0.375rem 1.0625rem;font-size:0.75rem;line-height:1.4}
.button.button-large{padding:0.5rem 1.625rem;font-size:1rem;line-height:1.875rem}
.button.button-xlarge{padding:0.625rem 2rem;font-size:1.125rem;line-height:1.5;letter-spacing:0.125rem}

/* Button block */
.button.button-full{display:block;width:100%;white-space:normal;margin:0;height:auto;line-height:1.6;padding:1.25rem 1.75rem}

/* Button rounded */
.button.button-rounded{border-radius:0.1875rem}
.button.button-circle{border-radius:1.25rem}

/* Bootstrap .btn alias */
.btn{display:inline-block;font-weight:400;line-height:1.5;text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;border-radius:.375rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}

/* ================================================================
   FOOTER
================================================================ */
#footer{position:relative;background-color:#0a4a40;border-top:5px solid rgba(0,0,0,.1)}
#footer .footer-widgets-wrap{padding:4rem 0}
#footer a{color:rgba(255,255,255,.6)}
#footer a:hover{color:#fff}
#footer .widget{margin-bottom:2rem;color:rgba(255,255,255,.6)}
#footer .widget h4{color:#fff;margin-bottom:1rem}
#copyrights{padding:2rem 0;background-color:rgba(0,0,0,.15);color:rgba(255,255,255,.5);font-size:.875rem}
#copyrights a{color:rgba(255,255,255,.6)}

/* Go to top */
#gotoTop{display:none;z-index:299;position:fixed;width:2.5rem;height:2.5rem;background-color:var(--cnvs-themecolor);font-size:1.25rem;line-height:2.5rem;text-align:center;color:#fff;bottom:1.875rem;right:1.875rem;border-radius:0.1875rem;cursor:pointer;transition:all .3s ease}
#gotoTop:hover{background-color:#0a4a40}

/* ================================================================
   UTILITIES
================================================================ */
/* Clearfix */
.clearfix::after{content:"";display:table;clear:both}
.clear{clear:both;display:block;font-size:0;height:0;line-height:0;width:100%;overflow:hidden}

/* Line */
.line{clear:both;position:relative;width:100%;margin:3rem 0;border-top:1px solid #eee}
.line.line-sm{margin:1.5rem 0}

/* Text utilities */
.text-larger{font-size:1.1rem}
.text-large{font-size:1.05rem}
.text-smaller{font-size:80%!important}
.nott{text-transform:none!important}
.ls0{letter-spacing:0!important}
.ls1{letter-spacing:0.0625rem!important}
.ls2{letter-spacing:0.125rem!important}
.ls3{letter-spacing:0.1875rem!important}
.ls4{letter-spacing:0.25rem!important}
.ls5{letter-spacing:0.3125rem!important}

/* Font families */
.font-body{font-family:var(--cnvs-body-font)!important}
.font-primary{font-family:var(--cnvs-primary-font)!important}
.font-display,.font-secondary{font-family:var(--cnvs-secondary-font)!important}

/* Spacing extras */
.mt-6{margin-top:4rem!important}
.mb-6{margin-bottom:4rem!important}
.pt-6{padding-top:5rem!important}
.py-6{padding-top:4rem!important;padding-bottom:4rem!important}
.col-padding{padding:4rem}

/* Border utilities */
.border-width-2{border-width:2px!important}
.border-width-3{border-width:3px!important}
.rounded-6{border-radius:1.5rem!important}
.img-circle{border-radius:50%!important}

/* Opacity */
.op-t,.op-ts{transition:opacity .3s ease}
.h-op-09:hover{opacity:.9!important}
.op-0{opacity:0!important}
.op-1{opacity:1!important}
.op-01{opacity:.1!important}
.op-02{opacity:.2!important}
.op-03{opacity:.3!important}
.op-04{opacity:.4!important}
.op-05{opacity:.5!important}
.op-06{opacity:.6!important}
.op-07{opacity:.7!important}
.op-08{opacity:.8!important}
.op-09{opacity:.9!important}

/* Height utilities */
.min-vh-25{min-height:25vh}
.min-vh-50{min-height:50vh}
.min-vh-60{min-height:60vh}
.min-vh-75{min-height:75vh}

/* Background patterns */
.bg-dots{background-image:radial-gradient(currentColor 1.5px,transparent 1.5px);background-size:calc(10 * 1.5px) calc(10 * 1.5px)}

/* Hover scale */
.scale-hover{transition:transform .3s ease}
.scale-hover:hover{transform:scale(1.02)}

/* Icon sizing */
.icon-sm{width:1.5rem;height:1.5rem}
.icon-md{width:3rem;height:3rem}
.icon-lg{width:4rem;height:4rem}

/* ================================================================
   RESPONSIVE
================================================================ */
@media(max-width:991px){
.content-wrap{padding:3rem 0}
.section{padding:2.5rem 0}
.col-padding{padding:2rem}
h1{font-size:1.875rem}
h2{font-size:1.5rem}
h3{font-size:1.25rem}
.display-2{font-size:2rem!important}
.display-3{font-size:1.75rem!important}
.display-4{font-size:1.5rem!important}
.pricing-highlight{transform:none}
}

@media(max-width:767px){
.content-wrap{padding:2rem 0}
.section{padding:2rem 0}
.col-padding{padding:1.5rem}
h1{font-size:1.5rem}
h2{font-size:1.25rem}
h3{font-size:1.125rem}
.display-2{font-size:2.25rem!important}
.display-3{font-size:2rem!important}
.display-4{font-size:1.75rem!important}
.display-5{font-size:1.5rem!important}
.button{padding:0.375rem 1.125rem;font-size:0.8125rem;line-height:1.625rem}
.button.button-large{padding:0.4375rem 1.375rem;font-size:0.875rem;line-height:1.75rem}
.feature-box{flex-direction:column}
.fbox-icon{margin-bottom:1rem}
.fbox-content{text-align:center}
#gotoTop{width:2.25rem;height:2.25rem;line-height:2.25rem;font-size:1rem;bottom:1.25rem;right:1.25rem}
}

/* ================================================================
   COLORS (Theme-specific)
================================================================ */
.color{color:var(--cnvs-themecolor)!important}
.bg-color{background-color:var(--cnvs-themecolor)!important}
.bg-color-2{background-color:#ffcd8c!important}
#top-bar.bg-color-2{background-color:#ffcd8c!important}
#kalkulator.bg-color-2{background-color:#ffcd8c!important}
.bg-color-50{background-color:rgba(15,100,88,.4)!important}
.border-color{border-color:var(--cnvs-themecolor)!important}
.text-color{color:var(--cnvs-themecolor)!important}

/* Gradient background */
.bg-gradient-start{background:linear-gradient(135deg,#e8f5f3 0%,#fff 100%)}

/* Background colors */
.bg-white{background-color:#fff!important}

/* Responsive position utilities */
@media (min-width:768px){.position-md-relative{position:relative!important}}

/* ================================================================
   IMAGE SHADOW WRAPPER - rounded corners on shadows
================================================================ */
.img-shadow-wrapper{position:relative;display:inline-block}
.img-shadow-wrapper::after{content:'';position:absolute;top:3.75rem;left:3.75rem;width:100%;height:100%;background-color:rgba(15,100,88,1);z-index:-1}
.img-shadow-wrapper img{position:relative;z-index:1;border:5px solid #fff}
.img-shadow-wrapper.shadow-left::after{left:auto;right:3.75rem}
/* Explicit border-radius for rounded and circle wrappers */
.img-shadow-wrapper.rounded-6::after,.img-shadow-wrapper.rounded-6 img{border-radius:1.5rem}
.img-shadow-wrapper.img-circle::after,.img-shadow-wrapper.img-circle img{border-radius:50%}
@media(max-width:767px){
.img-shadow-wrapper::after{top:1.5rem;left:1.5rem}
.img-shadow-wrapper.shadow-left::after{right:1.5rem;left:auto}
.img-shadow-wrapper.rounded-6::after{border-radius:1.5rem}
.img-shadow-wrapper.img-circle::after{border-radius:50%}
}

/* ================================================================
   SECTION-SPECIFIC OVERRIDES
================================================================ */
/* Dlaczego warto - keep left alignment on mobile */
#dlaczego-warto .fbox-content{text-align:left}
#dlaczego-warto .feature-box{margin-bottom:1.25rem}
@media(max-width:767px){
#dlaczego-warto .feature-box{flex-direction:row}
#dlaczego-warto .fbox-icon{margin-bottom:0;margin-right:0.75rem}
}

/* Kwoty section - keep left alignment */
#kwoty .fbox-content{text-align:left}
@media(max-width:767px){
#kwoty .feature-box{flex-direction:row}
#kwoty .fbox-icon{margin-bottom:0;margin-right:0.75rem}
}

/* ================================================================
   ENHANCED UI/UX
================================================================ */
/* Better lead paragraphs */
.lead{font-size:1.15rem;line-height:1.8;color:#333}

/* Better feature box spacing */
.feature-box.fbox-sm{margin-bottom:1.25rem}
.fbox-content h3{margin-bottom:0.375rem}

/* Text contrast improvements */
.text-large.color,.text-larger.color,p.color{color:#0a4a40!important}

/* fw-semibold utility */
.fw-semibold{font-weight:600!important}

/* Section spacing utilities */
.section-spacing{padding-top:4rem;padding-bottom:4rem}
@media(max-width:767px){.section-spacing{padding-top:2.5rem;padding-bottom:2.5rem}}

/* Pricing box mobile improvements */
@media(max-width:767px){
.pricing-extended .pricing-desc{padding:1.5rem}
.pricing-extended .pricing-action-area{padding:1.5rem;border-left:none;border-top:1px solid rgba(0,0,0,.05)}
}

/* ================================================================
   ANIMATIONS
================================================================ */
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes fadeInUp{from{opacity:0;transform:translateY(1.25rem)}to{opacity:1;transform:translateY(0)}}
.animate-fade-in{animation:fadeIn .5s ease}
.animate-fade-in-up{animation:fadeInUp .5s ease}

/* ================================================================
   ICONS (Line icons basics)
================================================================ */
.bi,.icon-line,.icon-line2{display:inline-block;font-style:normal;font-weight:normal;speak:never;text-decoration:inherit;text-transform:none;text-rendering:auto;-webkit-font-smoothing:antialiased}

/* ================================================================
   MERGED FROM mojprad.min.css
================================================================ */
/* Section mobile - rounded responsive container */
.section-mobile{width:calc(100vw - 1.875rem);margin-left:auto;margin-right:auto;border-radius:1.25rem;padding-left:1.25rem;padding-right:1.25rem}
@media(min-width:768px){.section-mobile{width:calc(100vw - 3.75rem)}}

/* Grid border - decorative borders on columns */
.grid-border{overflow:hidden}
.grid-border [class^=col-]:after,.grid-border [class^=col-]:before{content:'';position:absolute}
.grid-border [class^=col-]:before{height:100%;top:0;left:-1px;border-left:1px solid rgba(255,205,140,.3)}
.grid-border [class^=col-]:after{width:100%;height:0;top:auto;left:0;bottom:-1px;border-bottom:1px solid rgba(255,205,140,.3)}

/* Dark theme line */
.dark .line{border-color:rgba(255,205,140,.2)!important}

/* Feature box border - vertical connecting lines (from mojprad.min.css) */
.feature-box-border .feature-box{position:relative}
.feature-box-border .feature-box:not(.noborder)::after{content:"";position:absolute;top:4rem;left:3.5rem;width:2px;height:calc(100% - 1rem);background-color:#eee;z-index:0}
.feature-box-border .fbox-color.feature-box:not(.noborder)::after{background-color:#0f6458}
.feature-box-border .fbox-border.fbox-light .fbox-icon i,.feature-box-border .fbox-icon i{line-height:4rem;font-size:1.5rem;z-index:1;text-align:center}
.fbox-border.fbox-light .fbox-icon a{background-color:#fff}
.fbox-border.fbox-effect .fbox-icon i::after{background-color:#0f6458}

/* Accent color (orange/gold) */
.color-2{color:#ffcd8c!important}

/* Missing utility classes */
.text-white-50{color:rgba(255,255,255,.5)!important}
@media(min-width:992px){.text-lg-left{text-align:left}}
