/*
Theme Name: Natalia Lauterbach — Elementor
Theme URI: https://example.com/
Author: seospeed.pl
Description: Lekki, elegancki motyw dla Elementor Free. Edytowalne strony, górna belka, nagłówek, menu i stopka.
Version: 5.5.1
Text Domain: natalia-lauterbach
Requires PHP: 7.4
*/
:root{
 --nl-ink:#2e3540; --nl-muted:#69707a; --nl-pink:#f8edef; --nl-pink-2:#f4e4e8;
 --nl-soft:#fbf8f8; --nl-white:#fff; --nl-dark:#303744; --nl-accent:#9d6f7b; --nl-line:#d9dce1;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--nl-ink);font-family:"Helvetica Neue",Arial,sans-serif;line-height:1.7}
a{color:inherit}.nl-site-main{min-height:55vh}.nl-fallback{max-width:1180px;margin:auto;padding:70px 24px}
.elementor-section.elementor-section-boxed>.elementor-container{max-width:1180px}
.elementor-widget-heading h1,.elementor-widget-heading h2,.elementor-widget-heading h3{font-family:Georgia,"Times New Roman",serif;font-weight:400!important;letter-spacing:-.02em}
.elementor-widget-text-editor{color:var(--nl-muted)}
.elementor-button{background:transparent!important;color:var(--nl-ink)!important;border:1px solid var(--nl-ink)!important;border-radius:0!important;padding:14px 27px!important;font-size:11px!important;font-weight:700!important;letter-spacing:.22em;text-transform:uppercase;transition:.2s ease}
.elementor-button:hover{background:var(--nl-ink)!important;color:#fff!important;transform:none}
.nl-menu-list{display:flex;gap:31px;align-items:center;justify-content:flex-end;list-style:none;margin:0;padding:0}
.nl-menu-list a{text-decoration:none;font-size:12px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;white-space:nowrap}
.nl-menu-list .current-menu-item>a,.nl-menu-list a:hover{color:var(--nl-accent)}
.nl-menu-toggle{display:none;background:none;border:0;color:var(--nl-ink);font-size:28px;line-height:1;padding:8px}
.nl-top-contact{display:flex;align-items:center;justify-content:flex-end;gap:22px;flex-wrap:wrap;font-size:12px}
.nl-top-contact a{text-decoration:none}
.nl-book-btn{background:var(--nl-accent);color:#fff!important;padding:10px 20px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.nl-header-row{display:flex;justify-content:space-between;align-items:center;gap:24px}
.nl-brand{font-family:"Helvetica Neue",Arial,sans-serif;font-size:20px;font-weight:400;letter-spacing:.36em;text-decoration:none;text-transform:uppercase}
.nl-footer-menu .nl-menu-list{justify-content:center;flex-wrap:wrap}
input,textarea,select{width:100%;border:1px solid var(--nl-line);padding:14px 15px;background:#fff;font:inherit;color:var(--nl-ink)}
textarea{min-height:160px}
input[type=submit],button[type=submit]{width:auto;background:transparent;border:1px solid var(--nl-ink);padding:14px 26px;text-transform:uppercase;letter-spacing:.18em;font-size:11px;font-weight:700;cursor:pointer}
.wpcf7-form label{display:block;margin:0 0 18px;color:var(--nl-ink);font-size:13px;letter-spacing:.08em}
.wpcf7-acceptance label{display:flex;gap:10px;align-items:flex-start}.wpcf7-acceptance input{width:auto;margin-top:8px}
@media(max-width:1024px){.nl-menu-list{gap:17px}.nl-menu-list a{font-size:10px;letter-spacing:.16em}}
@media(max-width:767px){
 .nl-menu-toggle{display:block}.nl-nav-wrap{position:relative}
 .nl-menu-list{display:none;position:absolute;left:-210px;right:0;top:100%;z-index:999;background:#fff;padding:24px;box-shadow:0 18px 50px rgba(0,0,0,.13);flex-direction:column;align-items:flex-start;gap:16px}
 .nl-menu-list.is-open{display:flex}.nl-menu-list a{font-size:12px}
 .nl-top-contact{justify-content:center;font-size:11px;gap:10px}.nl-book-btn{padding:8px 12px}
 .nl-brand{font-size:16px;letter-spacing:.24em}
}


/* ===== v3 premium/mobile fixes ===== */
:root{--nl-shadow:0 22px 65px rgba(39,48,59,.10)}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.elementor-widget-heading h1,.elementor-widget-heading h2,.elementor-widget-heading h3{letter-spacing:-.025em!important;line-height:1.08!important}
.elementor-button{letter-spacing:.16em!important;font-size:10px!important;padding:14px 25px!important}
.nl-sticky-header{position:sticky;top:0;z-index:9998;background:#fff;box-shadow:0 1px 0 rgba(39,48,59,.09)}
body.admin-bar .nl-sticky-header{top:32px}
.nl-sticky-header .elementor-section{margin:0!important}
.nl-top-contact{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#fff;font-size:11px;letter-spacing:.04em}
.nl-top-message{flex:1}.nl-top-links{display:flex;align-items:center;gap:18px;white-space:nowrap}
.nl-menu-list{gap:26px}.nl-menu-list a{font-size:10px;letter-spacing:.14em}
.nl-menu-toggle{display:none;width:44px;height:44px;background:#fff;border:1px solid rgba(39,48,59,.15);font-size:0;padding:0}
.nl-menu-toggle:before,.nl-menu-toggle:after,.nl-menu-toggle span{content:"";display:block;width:20px;height:1px;background:#27303b;margin:5px auto;transition:.2s}
.nl-menu-toggle[aria-expanded=true] span{opacity:0}.nl-menu-toggle[aria-expanded=true]:before{transform:translateY(6px) rotate(45deg)}.nl-menu-toggle[aria-expanded=true]:after{transform:translateY(-6px) rotate(-45deg)}
.nl-editorial-section .elementor-widget-image img{width:100%;max-height:510px;object-fit:cover;box-shadow:var(--nl-shadow)}
.nl-editorial-section .elementor-column{min-height:610px}.nl-editorial-section .elementor-widget:not(:last-child){margin-bottom:20px}
.nl-footer-wrap .elementor-heading-title{color:#fff!important}.nl-footer-wrap .nl-menu-list{justify-content:center;flex-wrap:wrap}.nl-footer-wrap .nl-menu-list a{color:#dce0e6}
.wpcf7{max-width:980px;margin:auto}.wpcf7-form{background:#fff;padding:46px;box-shadow:var(--nl-shadow);border-top:3px solid #a36f7e}
.wpcf7-form label{font-size:12px;font-weight:700;letter-spacing:.05em;margin-bottom:17px}.wpcf7-form-control-wrap{display:block;margin-top:7px}
.wpcf7 input[type=text],.wpcf7 input[type=email],.wpcf7 input[type=tel],.wpcf7 textarea{background:#fbfbfc;border:1px solid #d5d9df;padding:14px 15px;font-size:15px;outline:none}
.wpcf7 textarea{min-height:150px}.wpcf7 input:focus,.wpcf7 textarea:focus{border-color:#a36f7e;box-shadow:0 0 0 3px rgba(163,111,126,.10);background:#fff}
.wpcf7 input[type=submit]{background:#27303b;color:#fff;min-width:210px;border-color:#27303b}.wpcf7 input[type=submit]:hover{background:#a36f7e;border-color:#a36f7e}
@media(max-width:767px){
 body.admin-bar .nl-sticky-header{top:46px}.nl-top-contact{min-height:40px;justify-content:center;padding:0 12px}.nl-top-message{text-align:center;font-size:10px;line-height:1.35}.nl-top-links{display:none}
 .nl-menu-toggle{display:block}.nl-nav-wrap{position:relative}.nl-menu-list{display:none;position:fixed;left:0;right:0;top:var(--nl-mobile-menu-top,112px);z-index:9999;background:#fff;padding:26px 28px 32px;box-shadow:0 20px 45px rgba(39,48,59,.16);flex-direction:column;align-items:flex-start;gap:19px;max-height:calc(100vh - 112px);overflow:auto}
 body.admin-bar .nl-menu-list{top:158px;max-height:calc(100vh - 158px)}.nl-menu-list.is-open{display:flex}.nl-menu-list a{font-size:12px;letter-spacing:.12em}.nl-brand{font-size:14px;letter-spacing:.16em}
 .nl-hero-section>.elementor-container,.nl-editorial-section>.elementor-container{display:flex!important;flex-direction:column!important;flex-wrap:nowrap!important}
 .nl-hero-section .elementor-column,.nl-editorial-section .elementor-column{width:100%!important;max-width:100%!important;min-height:auto!important}
 .nl-hero-section .elementor-column:first-child{min-height:390px!important;order:1;background-position:center 25%!important}.nl-hero-section .elementor-column:last-child{order:2}
 .nl-hero-section .elementor-column:last-child>.elementor-widget-wrap,.nl-hero-section .elementor-column:last-child>.elementor-element-populated{padding:56px 25px 62px!important}.nl-hero-section .elementor-heading-title{font-size:48px!important}
 .nl-editorial-section .elementor-column{order:2}.nl-editorial-section .nl-image-column{order:1!important}
 .nl-editorial-section .elementor-column>.elementor-widget-wrap,.nl-editorial-section .elementor-column>.elementor-element-populated{padding:48px 24px!important}
 .nl-editorial-section .nl-image-column>.elementor-widget-wrap,.nl-editorial-section .nl-image-column>.elementor-element-populated{padding:30px 22px!important}
 .nl-editorial-section .elementor-widget-image img{max-height:none;aspect-ratio:4/3;object-fit:cover;box-shadow:0 16px 40px rgba(39,48,59,.10)}.nl-editorial-section .elementor-heading-title{font-size:38px!important}.nl-editorial-section .elementor-widget-text-editor{font-size:15px!important}
 .nl-cta-section .elementor-column>.elementor-widget-wrap,.nl-cta-section .elementor-column>.elementor-element-populated{padding:64px 24px!important}.nl-cta-section .elementor-heading-title{font-size:36px!important}
 .elementor-button{padding:13px 20px!important;font-size:9px!important;letter-spacing:.12em!important}
 .wpcf7-form{padding:28px 20px;box-shadow:0 14px 35px rgba(39,48,59,.08)}.wpcf7 input[type=submit]{width:100%;min-width:0}
}


/* Oferta w formie prestiżowych kafelków */
.nl-offer-section{overflow:hidden}
.nl-offer-grid>.elementor-container{
 display:grid!important;
 grid-template-columns:repeat(4,minmax(0,1fr));
 gap:24px!important;
 align-items:stretch;
}
.nl-offer-grid .nl-offer-tile{
 width:auto!important;
 max-width:none!important;
 min-height:100%;
 border:1px solid rgba(39,48,59,.10);
 background:#fff;
 box-shadow:0 18px 55px rgba(39,48,59,.07);
 transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
 overflow:hidden;
}
.nl-offer-grid .nl-offer-tile:hover{
 transform:translateY(-6px);
 box-shadow:0 26px 70px rgba(39,48,59,.12);
 border-color:rgba(163,111,126,.40);
}
.nl-offer-tile>.elementor-widget-wrap,
.nl-offer-tile>.elementor-element-populated{
 padding:0 26px 30px!important;
 align-content:flex-start!important;
}
.nl-offer-tile .elementor-widget-image{
 margin-left:-26px;
 margin-right:-26px;
 width:calc(100% + 52px);
}
.nl-offer-tile .elementor-widget-image img{
 width:100%;
 height:235px;
 object-fit:cover;
 display:block;
}
.nl-offer-tile .elementor-widget-heading:first-of-type{
 margin-top:25px;
}
.nl-offer-tile .elementor-heading-title{
 letter-spacing:-.02em!important;
}
.nl-offer-tile .elementor-widget-text-editor{
 font-size:14px;
 line-height:1.75;
 min-height:112px;
}
.nl-offer-tile .elementor-button{
 margin-top:4px;
}
@media(max-width:1024px){
 .nl-offer-grid>.elementor-container{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:767px){
 .nl-offer-grid>.elementor-container{
  grid-template-columns:1fr;
  gap:22px!important;
 }
 .nl-offer-grid{padding-left:20px!important;padding-right:20px!important}
 .nl-offer-tile .elementor-widget-image img{height:auto;aspect-ratio:4/3}
 .nl-offer-tile .elementor-widget-text-editor{min-height:0}
}


/* Nagłówek 4.1 – logo i menu w jednej, kontrolowanej linii */
.nl-mainnav-section>.elementor-container{
 display:flex!important;
 flex-wrap:nowrap!important;
 align-items:center!important;
 justify-content:space-between!important;
}
.nl-mainnav-section .nl-logo-column{
 width:40%!important;
 flex:0 0 40%!important;
}
.nl-mainnav-section .nl-navigation-column{
 width:60%!important;
 flex:0 0 60%!important;
}
.nl-mainnav-section .nl-logo-column .elementor-widget-wrap,
.nl-mainnav-section .nl-logo-column .elementor-element-populated{
 justify-content:flex-start!important;
 align-items:center!important;
}
.nl-mainnav-section .nl-navigation-column .elementor-widget-wrap,
.nl-mainnav-section .nl-navigation-column .elementor-element-populated{
 justify-content:flex-end!important;
 align-items:center!important;
}
.nl-mainnav-section .elementor-heading-title{
 white-space:nowrap;
 line-height:1!important;
}
.nl-mainnav-section .nl-menu-list{
 width:100%;
 justify-content:flex-end!important;
 gap:34px;
}
.nl-mainnav-section .nl-menu-list a{
 font-size:10px;
 letter-spacing:.12em;
}

/* Wyraźne, prestiżowe wyróżnienie trzech głównych usług */
.nl-services-grid>.elementor-container{
 display:grid!important;
 grid-template-columns:repeat(3,minmax(0,1fr));
 gap:28px!important;
 align-items:stretch;
}
.nl-services-grid .nl-service-card{
 width:auto!important;
 max-width:none!important;
 min-height:100%;
 border:1px solid rgba(39,48,59,.10);
 box-shadow:0 22px 65px rgba(39,48,59,.09);
 overflow:hidden;
 transition:transform .28s ease,box-shadow .28s ease;
}
.nl-services-grid .nl-service-card:hover{
 transform:translateY(-7px);
 box-shadow:0 31px 82px rgba(39,48,59,.15);
}
.nl-service-card>.elementor-widget-wrap,
.nl-service-card>.elementor-element-populated{
 padding:0 30px 36px!important;
 align-content:flex-start!important;
}
.nl-service-card .elementor-widget-image{
 margin-left:-30px;
 margin-right:-30px;
 width:calc(100% + 60px);
}
.nl-service-card .elementor-widget-image img{
 width:100%;
 height:285px;
 object-fit:cover;
 display:block;
}
.nl-service-card .elementor-widget-heading:first-of-type{margin-top:28px}
.nl-service-card .elementor-widget-text-editor{
 min-height:104px;
}
.nl-service-card-dark .elementor-button{
 color:#fff!important;
 border-color:#fff!important;
}
.nl-service-card-dark .elementor-button:hover{
 color:#27303b!important;
 background:#fff!important;
}
@media(max-width:1100px){
 .nl-mainnav-section .nl-menu-list{gap:20px}
 .nl-mainnav-section .nl-logo-column{width:36%!important;flex-basis:36%!important}
 .nl-mainnav-section .nl-navigation-column{width:64%!important;flex-basis:64%!important}
}
@media(max-width:767px){
 .nl-mainnav-section>.elementor-container{
  flex-direction:row!important;
 }
 .nl-mainnav-section .nl-logo-column{
  width:78%!important;
  flex:0 0 78%!important;
 }
 .nl-mainnav-section .nl-navigation-column{
  width:22%!important;
  flex:0 0 22%!important;
 }
 .nl-mainnav-section .nl-menu-list{
  justify-content:flex-start!important;
 }
 .nl-services-grid>.elementor-container{
  grid-template-columns:1fr;
  gap:24px!important;
 }
 .nl-services-grid{padding-left:20px!important;padding-right:20px!important}
 .nl-service-card .elementor-widget-image img{
  height:auto;
  aspect-ratio:4/3;
 }
 .nl-service-card .elementor-widget-text-editor{min-height:0}
}


/* Aktualności i wpisy */
.nl-post-grid{
 display:grid;
 grid-template-columns:repeat(3,minmax(0,1fr));
 gap:30px;
}
.nl-post-card{
 background:#fff;
 border:1px solid rgba(39,48,59,.10);
 box-shadow:0 18px 55px rgba(39,48,59,.07);
 overflow:hidden;
 transition:transform .25s ease,box-shadow .25s ease;
}
.nl-post-card:hover{
 transform:translateY(-5px);
 box-shadow:0 28px 72px rgba(39,48,59,.13);
}
.nl-post-card-image{display:block;overflow:hidden}
.nl-post-card-image img{
 display:block;
 width:100%;
 aspect-ratio:16/10;
 object-fit:cover;
 transition:transform .5s ease;
}
.nl-post-card:hover .nl-post-card-image img{transform:scale(1.025)}
.nl-post-card-body{padding:27px 28px 31px}
.nl-post-meta{
 color:#9d6f7b;
 font-size:10px;
 font-weight:700;
 letter-spacing:.14em;
 text-transform:uppercase;
 margin-bottom:13px;
}
.nl-post-card-title{
 font-family:Georgia,"Times New Roman",serif;
 font-size:27px;
 font-weight:400;
 line-height:1.22;
 margin:0 0 15px;
 letter-spacing:-.02em;
}
.nl-post-card-title a{text-decoration:none}
.nl-post-card-body p{
 color:#646b75;
 font-size:14px;
 line-height:1.75;
 margin:0 0 20px;
}
.nl-post-readmore{
 display:inline-block;
 color:#27303b;
 font-size:10px;
 font-weight:700;
 letter-spacing:.14em;
 text-transform:uppercase;
 text-decoration:none;
 border-bottom:1px solid #27303b;
 padding-bottom:3px;
}
.nl-single-header{
 background:#f7ecef;
 padding:105px 25px 85px;
 text-align:center;
}
.nl-single-header-inner{max-width:960px;margin:0 auto}
.nl-breadcrumbs{
 display:flex;
 justify-content:center;
 gap:10px;
 align-items:center;
 margin-bottom:25px;
 color:#825463;
 font-size:10px;
 font-weight:700;
 letter-spacing:.12em;
 text-transform:uppercase;
}
.nl-breadcrumbs a{text-decoration:none}
.nl-single-header h1{
 max-width:920px;
 margin:0 auto 25px;
 font-family:Georgia,"Times New Roman",serif;
 font-size:64px;
 font-weight:400;
 line-height:1.08;
 letter-spacing:-.03em;
}
.nl-single-lead{
 max-width:760px;
 margin:0 auto;
 color:#646b75;
 font-size:18px;
 line-height:1.7;
}
.nl-single-meta{
 margin-top:23px;
 color:#825463;
 font-size:10px;
 font-weight:700;
 letter-spacing:.14em;
 text-transform:uppercase;
}
.nl-single-featured{
 max-width:1180px;
 margin:70px auto 0;
 padding:0 25px;
}
.nl-single-featured img{
 width:100%;
 max-height:670px;
 object-fit:cover;
 box-shadow:0 24px 75px rgba(39,48,59,.10);
}
.nl-single-content{
 max-width:820px;
 margin:65px auto 100px;
 padding:0 25px;
 color:#4f5762;
 font-size:17px;
 line-height:1.9;
}
.nl-single-content h2{
 font-family:Georgia,"Times New Roman",serif;
 color:#27303b;
 font-size:38px;
 font-weight:400;
 line-height:1.2;
 letter-spacing:-.025em;
 margin:58px 0 20px;
}
.nl-single-content h3{
 font-family:Georgia,"Times New Roman",serif;
 color:#27303b;
 font-size:27px;
 font-weight:400;
 line-height:1.25;
 letter-spacing:-.02em;
 margin:37px 0 14px;
}
.nl-single-content p{margin:0 0 22px}
.nl-single-content a{
 color:#825463;
 text-decoration:underline;
 text-decoration-thickness:1px;
 text-underline-offset:3px;
}
.nl-related-box{
 margin-top:65px;
 padding:34px 38px;
 background:#fbf8f8;
 border-left:3px solid #a36f7e;
}
.nl-related-box h2{font-size:30px;margin:0 0 13px}
.nl-related-box p{margin:0}
@media(max-width:1024px){
 .nl-post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .nl-single-header h1{font-size:54px}
}
@media(max-width:767px){
 .nl-post-grid{grid-template-columns:1fr;gap:22px}
 .nl-single-header{padding:70px 22px 58px}
 .nl-single-header h1{font-size:42px}
 .nl-single-lead{font-size:16px}
 .nl-single-featured{margin-top:38px;padding:0 20px}
 .nl-single-content{margin:45px auto 70px;padding:0 22px;font-size:16px}
 .nl-single-content h2{font-size:32px;margin-top:46px}
 .nl-single-content h3{font-size:25px}
 .nl-related-box{padding:28px 24px}
}


/* Mobile overflow fix 4.3 */
html,
body{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}

.elementor,
.elementor-section,
.elementor-container,
.elementor-column,
.elementor-widget-wrap{
  max-width:100%;
}

@media(max-width:767px){
  .nl-hero-section,
  .nl-hero-section > .elementor-container,
  .nl-hero-section .elementor-column,
  .nl-hero-section .elementor-widget-wrap,
  .nl-hero-section .elementor-element-populated{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow:hidden!important;
  }

  .nl-hero-section .elementor-column:last-child > .elementor-widget-wrap,
  .nl-hero-section .elementor-column:last-child > .elementor-element-populated{
    padding-left:20px!important;
    padding-right:20px!important;
  }

  .nl-hero-section .elementor-widget-heading,
  .nl-hero-section .elementor-widget-text-editor,
  .nl-hero-section .elementor-widget-button{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }

  .nl-hero-section .elementor-heading-title{
    max-width:100%!important;
    white-space:normal!important;
    overflow-wrap:break-word!important;
    word-break:normal!important;
  }

  /* Hasło: TWOJA PRZESTRZEŃ ZMIANY */
  .nl-hero-section .elementor-widget-heading:nth-of-type(2) .elementor-heading-title,
  .nl-hero-section .elementor-widget-heading div.elementor-heading-title{
    font-size:11px!important;
    line-height:1.55!important;
    letter-spacing:.18em!important;
    text-align:center!important;
    white-space:normal!important;
    padding:0 4px!important;
  }

  .nl-hero-section .elementor-widget-text-editor{
    font-size:15px!important;
    line-height:1.75!important;
  }

  .nl-hero-section .elementor-widget-button{
    text-align:center!important;
  }

  .nl-hero-section .elementor-button{
    max-width:100%!important;
    white-space:normal!important;
  }
}




/* =========================================================
   V5.1 — Elementor kontroluje typografię mobilną
   ========================================================= */

/* Nie łamiemy słów w przypadkowych miejscach */
.elementor-heading-title,
.elementor-widget-text-editor,
.elementor-button-text{
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
}

@media(max-width:767px){

  /* Elementor może sterować font-size dla desktop/tablet/mobile */
  .elementor-widget-heading .elementor-heading-title{
    font-size:inherit;
  }

  /* Bezpieczne szerokości, ale bez wymuszania rozmiaru czcionki */
  .nl-hero-section .elementor-widget-heading,
  .nl-editorial-section .elementor-widget-heading,
  .nl-services-intro .elementor-widget-heading,
  .nl-service-card .elementor-widget-heading,
  .nl-cta-section .elementor-widget-heading{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }

  .nl-hero-section .elementor-heading-title,
  .nl-editorial-section .elementor-heading-title,
  .nl-services-intro .elementor-heading-title,
  .nl-service-card .elementor-heading-title,
  .nl-cta-section .elementor-heading-title{
    max-width:100%!important;
    white-space:normal!important;
    word-break:keep-all!important;
    overflow-wrap:normal!important;
    hyphens:none!important;
  }

  /* Małe nagłówki wersalikami — mniejsze odstępy, ale font-size pozostaje edytowalny */
  .nl-hero-section .elementor-widget-heading div.elementor-heading-title,
  .nl-editorial-section .elementor-widget-heading div.elementor-heading-title,
  .nl-services-intro .elementor-widget-heading div.elementor-heading-title,
  .nl-service-card .elementor-widget-heading div.elementor-heading-title{
    letter-spacing:.12em!important;
    line-height:1.45!important;
  }

  /* Hamburger */
  .nl-menu-toggle{
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    width:44px!important;
    height:44px!important;
    padding:0!important;
  }

  .nl-menu-toggle::before,
  .nl-menu-toggle::after,
  .nl-menu-toggle span{
    width:24px!important;
    height:2px!important;
    background:var(--nl-ink)!important;
    border-radius:2px;
  }

  .nl-menu-toggle::before{margin-top:0!important}
  .nl-menu-toggle span{margin:5px auto!important}
  .nl-menu-toggle::after{margin-bottom:0!important}

  /* Menu mobilne */
  .nl-menu-list{
    align-items:center!important;
    text-align:center!important;
  }

  .nl-menu-list li,
  .nl-menu-list a{
    width:100%!important;
    text-align:center!important;
  }

  /* Stopka mobilna */
  .nl-footer-wrap .nl-menu-list{
    display:flex!important;
    position:static!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:12px!important;
    width:100%!important;
    max-height:none!important;
    padding:0!important;
    margin:22px 0!important;
    box-shadow:none!important;
    background:transparent!important;
    overflow:visible!important;
  }

  .nl-footer-wrap .nl-menu-list li,
  .nl-footer-wrap .nl-menu-list a{
    width:auto!important;
    text-align:center!important;
  }

  .nl-footer-wrap .nl-menu-list a{
    color:#dce0e6!important;
    padding:4px 0!important;
    font-size:11px!important;
    letter-spacing:.10em!important;
  }

  .nl-footer-wrap .elementor-widget-text-editor,
  .nl-footer-wrap .elementor-heading-title{
    text-align:center!important;
  }

  /* Więcej miejsca dla treści */
  .nl-editorial-section .elementor-column>.elementor-widget-wrap,
  .nl-editorial-section .elementor-column>.elementor-element-populated{
    padding-left:22px!important;
    padding-right:22px!important;
  }
}

/* Elementor mobile typography helper:
   użytkownik ustawia rozmiar przez ikonę urządzenia w Typografia → Rozmiar */


/* =========================================================
   V5.2 — poprawka ucinanych nagłówków i stała nazwa motywu
   ========================================================= */

/* Elementy mogą być widoczne wewnątrz sekcji; tylko dokument blokuje poziomy scroll */
.nl-news-hero,
.nl-editorial-section,
.nl-services-intro,
.nl-services-grid,
.nl-cta-section,
.nl-hero-section{
  overflow:visible!important;
}

.nl-news-hero .elementor-container,
.nl-editorial-section .elementor-container,
.nl-services-intro .elementor-container,
.nl-services-grid .elementor-container,
.nl-cta-section .elementor-container,
.nl-hero-section .elementor-container,
.nl-news-hero .elementor-column,
.nl-editorial-section .elementor-column,
.nl-services-intro .elementor-column,
.nl-services-grid .elementor-column,
.nl-cta-section .elementor-column,
.nl-hero-section .elementor-column,
.nl-news-hero .elementor-widget-wrap,
.nl-editorial-section .elementor-widget-wrap,
.nl-services-intro .elementor-widget-wrap,
.nl-services-grid .elementor-widget-wrap,
.nl-cta-section .elementor-widget-wrap,
.nl-hero-section .elementor-widget-wrap,
.nl-news-hero .elementor-element-populated,
.nl-editorial-section .elementor-element-populated,
.nl-services-intro .elementor-element-populated,
.nl-services-grid .elementor-element-populated,
.nl-cta-section .elementor-element-populated,
.nl-hero-section .elementor-element-populated{
  min-width:0!important;
  max-width:100%!important;
  overflow:visible!important;
}

/* Nagłówki nie są przycinane z prawej strony */
.nl-news-hero .elementor-widget-heading,
.nl-editorial-section .elementor-widget-heading,
.nl-services-intro .elementor-widget-heading,
.nl-services-grid .elementor-widget-heading,
.nl-cta-section .elementor-widget-heading,
.nl-hero-section .elementor-widget-heading{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:visible!important;
  padding-right:3px;
}

.nl-news-hero .elementor-heading-title,
.nl-editorial-section .elementor-heading-title,
.nl-services-intro .elementor-heading-title,
.nl-services-grid .elementor-heading-title,
.nl-cta-section .elementor-heading-title,
.nl-hero-section .elementor-heading-title{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
  overflow:visible!important;
  text-overflow:clip!important;
  box-sizing:border-box!important;
}

@media(max-width:767px){
  /* Bezpieczny wewnętrzny margines na każdej podstronie */
  .nl-news-hero .elementor-column > .elementor-widget-wrap,
  .nl-news-hero .elementor-column > .elementor-element-populated,
  .nl-editorial-section .nl-text-column > .elementor-widget-wrap,
  .nl-editorial-section .nl-text-column > .elementor-element-populated,
  .nl-services-intro .elementor-column > .elementor-widget-wrap,
  .nl-services-intro .elementor-column > .elementor-element-populated,
  .nl-cta-section .elementor-column > .elementor-widget-wrap,
  .nl-cta-section .elementor-column > .elementor-element-populated{
    padding-left:22px!important;
    padding-right:22px!important;
  }

  /* Nagłówki wersalikowe, np. „W PRZESTRZENI TWOJEJ MOCY” */
  .nl-hero-section .elementor-widget-heading div.elementor-heading-title,
  .nl-editorial-section .elementor-widget-heading div.elementor-heading-title,
  .nl-services-intro .elementor-widget-heading div.elementor-heading-title,
  .nl-service-card .elementor-widget-heading div.elementor-heading-title{
    letter-spacing:.08em!important;
    line-height:1.4!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
  }

  /* Strona Aktualności */
  .nl-news-hero .elementor-heading-title{
    text-align:center!important;
  }

  /* Zapobiega przycinaniu ostatniej litery przez szerokie fonty szeryfowe */
  .nl-news-hero .elementor-widget-heading,
  .nl-editorial-section .elementor-widget-heading,
  .nl-hero-section .elementor-widget-heading{
    padding-left:2px!important;
    padding-right:8px!important;
  }
}


/* =========================================================
   V5.3 — Aktualności: normalna szerokość nagłówka
   ========================================================= */

.nl-news-hero{
  width:100%!important;
  max-width:100%!important;
  overflow:hidden!important;
}

.nl-news-hero > .elementor-container{
  width:100%!important;
  max-width:1180px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

.nl-news-hero .elementor-column,
.nl-news-hero .elementor-widget-wrap,
.nl-news-hero .elementor-element-populated,
.nl-news-hero .elementor-widget-heading{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}

/* Tylko główny H1 strony Aktualności — bez rozszerzania liter */
.nl-news-hero h1.elementor-heading-title{
  display:block!important;
  width:auto!important;
  max-width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding:0 10px!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(42px,5vw,64px)!important;
  font-weight:400!important;
  line-height:1.08!important;
  letter-spacing:-.025em!important;
  text-align:center!important;
  white-space:normal!important;
  word-spacing:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
  transform:none!important;
}

/* Podtytuł może mieć delikatny tracking, ale nie rozciąga strony */
.nl-news-hero div.elementor-heading-title{
  width:auto!important;
  max-width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding:0 12px!important;
  font-size:12px!important;
  line-height:1.45!important;
  letter-spacing:.16em!important;
  text-align:center!important;
  white-space:normal!important;
}

.nl-news-page{
  width:100%!important;
  max-width:100%!important;
  overflow:hidden!important;
}

@media(max-width:767px){
  .nl-news-hero > .elementor-container{
    max-width:100%!important;
  }

  .nl-news-hero .elementor-column > .elementor-widget-wrap,
  .nl-news-hero .elementor-column > .elementor-element-populated{
    padding-left:20px!important;
    padding-right:20px!important;
  }

  .nl-news-hero h1.elementor-heading-title{
    font-size:clamp(36px,12vw,48px)!important;
    letter-spacing:-.03em!important;
    padding-left:4px!important;
    padding-right:4px!important;
  }

  .nl-news-hero div.elementor-heading-title{
    font-size:10px!important;
    letter-spacing:.10em!important;
  }
}


/* =========================================================
   V5.4 — paginacja Aktualności
   ========================================================= */
.nl-news-pagination{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:8px;
  margin-top:46px;
}

.nl-news-pagination .page-numbers{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:42px;
  height:42px;
  padding:0 13px;
  border:1px solid rgba(39,48,59,.18);
  color:#27303b;
  background:#fff;
  text-decoration:none;
  font-size:12px;
  font-weight:700;
  line-height:1;
  transition:.2s ease;
}

.nl-news-pagination .page-numbers:hover,
.nl-news-pagination .page-numbers.current{
  color:#fff;
  background:#a36f7e;
  border-color:#a36f7e;
}

.nl-news-pagination .page-numbers.dots{
  border-color:transparent;
  background:transparent;
  color:#646b75;
}

@media(max-width:767px){
  .nl-news-pagination{
    gap:6px;
    margin-top:34px;
  }

  .nl-news-pagination .page-numbers{
    min-width:38px;
    height:38px;
    padding:0 10px;
    font-size:11px;
  }
}


/* =========================================================
   V5.5 — Contact Form 7, RODO i dłuższe treści
   ========================================================= */

.nl-contact-form-section .wpcf7{
  max-width:920px;
  margin:0 auto;
}

.nl-cf7-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px 24px;
}

.nl-cf7-field{
  display:block;
  margin:0 0 22px;
  color:#2f3949;
  font-size:12px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.nl-cf7-field > span:first-child{
  display:block;
  margin-bottom:8px;
}

.nl-cf7-field input,
.nl-cf7-field select,
.nl-cf7-field textarea{
  width:100%!important;
  min-height:54px;
  box-sizing:border-box;
  margin:0;
  padding:14px 16px;
  border:1px solid rgba(47,57,73,.18);
  border-radius:0;
  background:#fff;
  color:#2f3949;
  font:400 15px/1.5 Arial,Helvetica,sans-serif;
  letter-spacing:0;
  text-transform:none;
  box-shadow:none;
  transition:border-color .2s ease,box-shadow .2s ease;
}

.nl-cf7-field textarea{
  min-height:180px;
  resize:vertical;
}

.nl-cf7-field input:focus,
.nl-cf7-field select:focus,
.nl-cf7-field textarea:focus{
  outline:none;
  border-color:#a36f7e;
  box-shadow:0 0 0 3px rgba(163,111,126,.12);
}

.nl-cf7-privacy{
  margin:8px 0 12px;
  padding:18px 20px;
  background:#fff;
  border:1px solid rgba(47,57,73,.12);
  color:#626b76;
  font-size:13px;
  line-height:1.65;
}

.nl-cf7-privacy .wpcf7-list-item{
  margin:0;
}

.nl-cf7-privacy label{
  display:flex;
  align-items:flex-start;
  gap:10px;
}

.nl-cf7-privacy input[type="checkbox"]{
  flex:0 0 18px;
  width:18px;
  height:18px;
  margin-top:2px;
  accent-color:#a36f7e;
}

.nl-cf7-privacy a{
  color:#875965;
  text-decoration:underline;
  text-underline-offset:3px;
}

.nl-cf7-note{
  margin:0 0 22px;
  color:#7a8089;
  font-size:12px;
  line-height:1.6;
}

.nl-cf7-submit{
  text-align:center;
}

.nl-cf7-submit .wpcf7-submit{
  min-height:52px;
  padding:14px 30px;
  border:1px solid #a36f7e;
  border-radius:0;
  background:#a36f7e;
  color:#fff;
  font-size:11px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  cursor:pointer;
  transition:.2s ease;
}

.nl-cf7-submit .wpcf7-submit:hover{
  background:#875965;
  border-color:#875965;
}

.wpcf7 form .wpcf7-response-output{
  margin:24px 0 0;
  padding:15px 18px;
  border:1px solid #a36f7e;
  background:#fff;
  color:#2f3949;
  font-size:14px;
  line-height:1.6;
}

.wpcf7-not-valid-tip{
  margin-top:7px;
  color:#a33b52;
  font-size:12px;
  font-weight:400;
  letter-spacing:0;
  text-transform:none;
}

.nl-privacy-content .elementor-widget-text-editor{
  max-width:880px;
  margin:0 auto;
}

.nl-privacy-content h2,
.nl-contact-faq h2{
  margin:48px 0 18px;
  color:#2f3949;
  font-family:Georgia,"Times New Roman",serif;
  font-size:34px;
  font-weight:400;
  line-height:1.2;
}

.nl-contact-faq h3,
.nl-privacy-content h3{
  margin:30px 0 10px;
  color:#2f3949;
  font-family:Georgia,"Times New Roman",serif;
  font-size:24px;
  font-weight:400;
}

.nl-privacy-content a,
.nl-contact-faq a{
  color:#875965;
  text-decoration:underline;
  text-underline-offset:3px;
}

@media(max-width:767px){
  .nl-cf7-grid{
    grid-template-columns:1fr;
    gap:0;
  }

  .nl-contact-form-section .elementor-column > .elementor-widget-wrap,
  .nl-contact-form-section .elementor-column > .elementor-element-populated,
  .nl-contact-faq .elementor-column > .elementor-widget-wrap,
  .nl-contact-faq .elementor-column > .elementor-element-populated,
  .nl-privacy-content .elementor-column > .elementor-widget-wrap,
  .nl-privacy-content .elementor-column > .elementor-element-populated{
    padding-left:20px!important;
    padding-right:20px!important;
  }

  .nl-cf7-privacy{
    padding:16px;
  }

  .nl-privacy-content h2,
  .nl-contact-faq h2{
    font-size:29px;
  }

  .nl-contact-faq h3,
  .nl-privacy-content h3{
    font-size:22px;
  }
}
