/* All overrides are scoped; original page structure and photo backgrounds are retained. */
body.campi-catalogue{--campi-clay:#a45f52;--campi-clay-dark:#804639;--campi-ink:#303238;--campi-paper:#faf8f5;--campi-line:#e3d8d0;color:#45474c;background:var(--campi-paper);line-height:1.6}
body.campi-catalogue p{color:#61646a;line-height:1.7}
body.campi-catalogue a{color:var(--campi-clay-dark)}
body.campi-catalogue a:hover{color:#66372e}
body.campi-catalogue :focus-visible{outline:3px solid #a45f52!important;outline-offset:4px}
body.campi-catalogue h1,body.campi-catalogue h2,body.campi-catalogue h3{letter-spacing:-.025em}
body.campi-catalogue h1>span,body.campi-catalogue h2>span,body.campi-catalogue h3>span{color:var(--campi-clay)}
body.campi-catalogue .top-bar-2{background:#fffdfb;border-bottom:1px solid var(--campi-line);border-top:3px solid var(--campi-clay)}
body.campi-catalogue .top-bar-2.sticky{box-shadow:0 6px 24px #30323812}
body.campi-catalogue #bs4navbar a.nav-link{font-size:1.4rem;font-weight:500;padding:1.1rem 1.3rem;letter-spacing:.025em}
body.campi-catalogue #bs4navbar a.nav-link:hover,body.campi-catalogue #bs4navbar a.nav-link.active,body.campi-catalogue #bs4navbar .current-menu-item>a{color:var(--campi-clay-dark)}
body.campi-catalogue #bs4navbar .dropdown-menu{border:1px solid var(--campi-line);border-radius:2px;box-shadow:0 12px 30px #30323810}
body.campi-catalogue #bs4navbar .dropdown-item{padding:1rem 2rem}
body.campi-catalogue #bs4navbar .dropdown-item:focus,body.campi-catalogue #bs4navbar .dropdown-item:hover{background:#f4eae3;color:var(--campi-clay-dark)}
body.campi-catalogue #lang-switch a{color:#646064}
body.campi-catalogue #lang-switch .current-lang a{color:var(--campi-clay-dark)}
body.campi-catalogue .btn,body.campi-catalogue .siteHeader .btn{border-radius:2px;border-color:var(--campi-clay);color:var(--campi-clay-dark);box-shadow:none;transition:background-color .2s,color .2s}
body.campi-catalogue .btn:hover,body.campi-catalogue .btn:focus,body.campi-catalogue .siteHeader .btn.color-1,body.campi-catalogue .modul-8 .box-link{background:var(--campi-clay);border-color:var(--campi-clay);color:#fff}
body.campi-catalogue .modul-8 .box-link:hover{background:var(--campi-clay-dark);opacity:1}
/* Decorative layer lives on titles and editorial sections, never on gallery photos. */
body.campi-catalogue .top-bar-3{isolation:isolate}
body.campi-catalogue .top-bar-3::after{content:"";position:absolute;inset:0;background:url('catalogue-pattern.svg') center/cover no-repeat;pointer-events:none;z-index:1}
body.campi-catalogue #mask-on-bar{background:#303238;opacity:.62}
body.campi-catalogue #title-box{padding:7rem 0}
body.campi-catalogue #title-box .title-big{font-weight:300;font-size:clamp(3.4rem,5vw,6.4rem);color:#fff;line-height:1.15}
body.campi-catalogue #title-box .title-small{color:#fff}
body.campi-catalogue .modul-1,body.campi-catalogue .modul-5,body.campi-catalogue .modul-10,body.campi-catalogue .modul-11{background-image:url('catalogue-pattern.svg');background-position:center top;background-size:100% auto;background-repeat:no-repeat}
body.campi-catalogue .modul-1 .modul-title,body.campi-catalogue .modul-11 .modul-title,body.campi-catalogue .module-top-title,body.campi-catalogue .page-contact .contact-title{color:var(--campi-ink);font-weight:300;line-height:1.15;font-size:clamp(3.2rem,4.5vw,5.6rem)}
body.campi-catalogue .module-top-title::after,body.campi-catalogue .page-contact .contact-title::after{content:"";display:block;width:64px;height:3px;margin:2.2rem auto;background:var(--campi-clay)}
body.campi-catalogue .dopisek{color:var(--campi-clay-dark);letter-spacing:.16em}
body.campi-catalogue .modul-8 .box-item .outer{border-radius:2px;box-shadow:0 12px 32px #30323812;border-bottom:3px solid var(--campi-clay)}
body.campi-catalogue .modul-8 .jasny .box-title,body.campi-catalogue .modul-8 .jasny .box-tresc{color:white;text-shadow:0 1px 6px #0009}
body.campi-catalogue .modul-8 .ciemny .box-title{color:var(--campi-ink)}
body.campi-catalogue .modul-8 .ciemny .box-tresc{color:#4f5156}
body.campi-catalogue .modul-12 .slide{position:relative;isolation:isolate}
body.campi-catalogue .modul-12 .slide::before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#1d242a99,transparent 72%);z-index:-1;pointer-events:none}
body.campi-catalogue .modul-12 .slide-title{background:var(--campi-clay);font-weight:300;border-radius:0;font-size:clamp(3.4rem,5.5vw,7.6rem);line-height:1.15;min-width:0;max-width:100%;overflow-wrap:anywhere;padding:1.5rem 3rem;text-align:left;box-decoration-break:clone}
body.campi-catalogue .modul-12 .slide-napis_nad{font-size:1.6rem;letter-spacing:.24em;padding-left:.3rem}
body.campi-catalogue .modul-12 .slide-napis_pod{color:#fff;height:auto;line-height:1.5}
body.campi-catalogue .modul-12 .nav-custom-box .nav-button{background:var(--campi-clay-dark);border-radius:0}
body.campi-catalogue .modul-12 .nav-custom-box .nav-button:hover{background:var(--campi-clay)}
body.campi-catalogue .modul-12 .owl-theme .owl-nav [class*=owl-]>span{background:var(--campi-clay)}
body.campi-catalogue .owl-theme .owl-dots .owl-dot.active span{background:var(--campi-clay);border-color:var(--campi-clay)}
body.campi-catalogue .modul-10 .modul-title{color:var(--campi-clay-dark);font-size:2.4rem;letter-spacing:.05em}
body.campi-catalogue .modul-10 ul.parametry li{border-bottom:1px solid var(--campi-line);break-inside:avoid;gap:2rem}
body.campi-catalogue .modul-10 ul.parametry .nazwa{font-size:1.4rem;font-weight:400}
body.campi-catalogue .modul-10 ul.parametry .wartosc{color:var(--campi-clay-dark);text-align:right}
body.campi-catalogue article.post.listing img{border-radius:2px}
body.campi-catalogue article.post.listing .post_date,body.campi-catalogue #single.post .post_date{background:var(--campi-clay);border-radius:0}
body.campi-catalogue .page-contact .wpcf7{border-color:var(--campi-line);border-radius:3px;background:#fff;box-shadow:0 16px 40px #30323808}
body.campi-catalogue .page-contact input[type=text],body.campi-catalogue .page-contact input[type=email],body.campi-catalogue .page-contact textarea{border-color:#c5b5aa;border-radius:2px;color:var(--campi-ink)}
body.campi-catalogue .page-contact input[type=submit]{background:var(--campi-clay);color:#fff;border:0;padding:1.4rem 3rem;cursor:pointer}
body.campi-catalogue .campi-footer{margin-top:4rem}
body.campi-catalogue .campi-footer-main{background:#303238 url('footer-waves.svg') right center/auto 100% no-repeat;border-top:5px solid var(--campi-clay);padding:6rem 0;color:#fff}
body.campi-catalogue .campi-footer-brand{font-size:3.6rem;letter-spacing:-.04em;font-weight:300;margin-bottom:4rem;display:flex;align-items:center;gap:.5rem}
body.campi-catalogue .campi-footer-brand>span:first-child{color:#dfb6a4}
body.campi-catalogue .campi-brand-rule{height:1px;background:#ffffff30;flex:1;margin-left:3rem}
body.campi-catalogue .campi-footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:4rem}
body.campi-catalogue .campi-footer h2{font-size:1.2rem;font-weight:500;color:#e4bcab;letter-spacing:.16em;text-transform:uppercase;margin:0 0 2rem}
body.campi-catalogue .campi-footer address,body.campi-catalogue .campi-footer p{font-size:1.5rem;line-height:1.9;color:#f3eeeb;font-style:normal;margin:0 0 1rem}
body.campi-catalogue .campi-footer a{color:#fff;overflow-wrap:anywhere;text-underline-offset:4px}
body.campi-catalogue .campi-footer a:hover{text-decoration:underline;color:#eed1c4}
body.campi-catalogue .campi-grant{background:#fff;padding:2.5rem 0}
body.campi-catalogue .campi-grant img{display:block;margin:auto;max-width:100%;height:auto}
body.campi-catalogue .campi-footer-bottom{background:#292b30;padding:2rem 0}
body.campi-catalogue .campi-footer-bottom-inner{display:flex;justify-content:space-between;align-items:center;gap:2rem}
body.campi-catalogue .campi-footer-bottom p,body.campi-catalogue .campi-footer-bottom div{font-size:1.2rem;color:#dbd5d1}
body.campi-catalogue .campi-footer-bottom p{margin:0}
body.campi-catalogue.campi-no-patterns .top-bar-3::after{display:none}
body.campi-catalogue.campi-no-patterns .modul-1,body.campi-catalogue.campi-no-patterns .modul-5,body.campi-catalogue.campi-no-patterns .modul-10,body.campi-catalogue.campi-no-patterns .modul-11,body.campi-catalogue.campi-no-patterns .campi-footer-main{background-image:none}
@media(max-width:767px){body.campi-catalogue .campi-footer-grid{grid-template-columns:1fr;gap:3rem}body.campi-catalogue .campi-footer-main{padding:4rem 0;background-size:auto 60%;background-position:right bottom}body.campi-catalogue .campi-footer-bottom-inner{flex-direction:column;align-items:flex-start}body.campi-catalogue .modul-8 .box-item .outer{padding:3rem}body.campi-catalogue .modul-12 .slide-title{padding:1.2rem 1.8rem;font-size:clamp(2.8rem,7vw,5rem)}body.campi-catalogue #title-box{padding:4rem 0}body.campi-catalogue .modul-10 ul.parametry li{margin:0}body.campi-catalogue .modul-12 .nav-custom-box{display:none}body.campi-catalogue .modul-12 .owl-theme .owl-nav{bottom:1rem;text-align:right;padding-right:1rem}body.campi-catalogue .modul-12 .slide-napis_pod{max-width:75%;margin-bottom:5rem}body.campi-catalogue .page-contact .wpcf7{padding:2rem}}
@media(prefers-reduced-motion:reduce){body.campi-catalogue *,body.campi-catalogue *::before,body.campi-catalogue *::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
body.campi-catalogue .modul-1 .h3LikeHeader{font-size:clamp(3.4rem,4.5vw,5.6rem);font-weight:300;color:var(--campi-ink);margin-bottom:3rem;line-height:1.15}

/* 1.0.1: one coordinate system for the page and each opaque editorial module.
   The image is repeated seamlessly down the page, never restarted at a module. */
body.campi-catalogue #page {
    background-image:url('catalogue-continuous.svg');
    background-position:0 0;
    background-size:100% auto;
    background-repeat:repeat-y;
    background-origin:border-box;
}
body.campi-catalogue .modul-1,body.campi-catalogue .modul-5,
body.campi-catalogue .modul-10,body.campi-catalogue .modul-11 {background-image:none}
body.campi-catalogue #page .campi-pattern-section {
    background-image:url('catalogue-continuous.svg');
    background-size:var(--campi-pattern-width) auto;
    background-position:var(--campi-pattern-x) var(--campi-pattern-y);
    background-repeat:repeat-y;
    background-origin:border-box;
}
body.campi-catalogue.campi-no-patterns #page,
body.campi-catalogue.campi-no-patterns #page .campi-pattern-section {background-image:none}
