/* =======================================================================
 UNIVERSAL 1 — Laravel CMS — scope: .cms-template-universal-1
 Warstwa wizualna: nie wpływa na inne motywy. Zmienne można nadpisać per site.
 ======================================================================= */
.cms-template-universal-1 {
  --u1-accent: #2464af;
  --u1-accent-hover: #194c8d;
  --u1-ink: #10243f;
  --u1-muted: #64748b;
  --u1-surface: #f5f8fc;
  --u1-line: #e8edf3;
  --u1-radius: 16px;
  --u1-width: 1220px;
  font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  color: var(--u1-ink);
  background: #fff;
}
.cms-template-universal-1 h1,
.cms-template-universal-1 h2,
.cms-template-universal-1 h3,
.cms-template-universal-1 h4,
.cms-template-universal-1 .u1-brand {
  font-family: 'Poppins', 'Inter', system-ui, sans-serif;
  letter-spacing: -0.035em;
}
.cms-template-universal-1 .cms-container {max-width: var(--u1-width); margin-inline:auto; width: min(calc(100% - 56px), var(--u1-width));}
.cms-template-universal-1 a {transition: color .22s ease, background-color .22s ease, border-color .22s ease, transform .22s ease;}
.cms-template-universal-1 :is(a, button):focus-visible {outline: 3px solid #69b5ff; outline-offset: 4px;}

/* ====== HEADER: absolutny/transparentny nad HERO, sticky po scrollu ====== */
.cms-template-universal-1 .u1-header {
  position: fixed !important;
  inset: 0 0 auto;
  width: 100%;
  z-index: 1000;
  min-height: 88px;
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  color: #fff;
  isolation: isolate;
  transition: background .28s ease, box-shadow .28s ease, min-height .28s ease, color .28s ease, backdrop-filter .28s ease;
}
.cms-template-universal-1 .u1-header::before {content:""; position:absolute; inset:0; pointer-events:none; background: linear-gradient(180deg,rgba(8,22,43,.32),transparent); z-index:-1; opacity:1; transition:opacity .24s;}
.cms-template-universal-1 .u1-header.u1-header--scrolled {
  background: rgba(255,255,255,.95) !important;
  color: var(--u1-ink);
  box-shadow: 0 8px 30px rgba(16,36,63,.075) !important;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  min-height: 74px;
}
.cms-template-universal-1 .u1-header.u1-header--scrolled::before {opacity:0;}
.cms-template-universal-1 .u1-header__inner {min-height: inherit; display:flex; align-items:center; gap:42px; justify-content:space-between;}
.cms-template-universal-1 .u1-brand, .cms-template-universal-1 .u1-brand:visited {color:inherit; font-size:22px; font-weight:700; text-decoration:none; white-space:nowrap;}
.cms-template-universal-1 .u1-brand__image {height:auto; max-height:52px; width:auto; max-width:210px; object-fit:contain;}
.cms-template-universal-1 .u1-nav {display:flex; align-items:center; gap:30px; margin-left:auto;}
.cms-template-universal-1 .u1-nav__list {display:flex; gap:27px; align-items:center; margin:0; padding:0; list-style:none;}
.cms-template-universal-1 .u1-nav__list a {color:inherit; font-size:13px; font-weight:600; text-decoration:none; white-space:nowrap;}
.cms-template-universal-1 .u1-nav__list > li > a {position:relative; padding:12px 0;}
.cms-template-universal-1 .u1-nav__list > li > a::after {content:""; position:absolute; height:2px; left:0; right:100%; bottom:4px; background:currentColor; transition:right .22s ease;}
.cms-template-universal-1 .u1-nav__list > li > a:hover::after,
.cms-template-universal-1 .u1-nav__list > li > a[aria-current="page"]::after {right:0;}
.cms-template-universal-1 .u1-header .cms-nav__cta {margin-left:8px;}
.cms-template-universal-1 .u1-header .cms-nav__mobile-header {display:none;}
.cms-template-universal-1 .u1-header .cms-nav__list .cms-nav__submenu,
.cms-template-universal-1 .u1-header .cms-nav__list .sub-menu {color:var(--u1-ink); background:#fff; border-radius:10px; box-shadow:0 18px 48px rgba(16,36,63,.14);}
.cms-template-universal-1 .u1-header .cms-nav__list :is(.cms-nav__submenu,.sub-menu) a {color:var(--u1-ink);}
.cms-template-universal-1 .u1-header__toggle {display:none;}

/* ================ Buttons ================ */
.cms-template-universal-1 .u1-button,
.cms-template-universal-1 .cms-button--primary {display:inline-flex; align-items:center; justify-content:center; gap:15px; border:1px solid transparent; border-radius:8px; padding:15px 23px; font-weight:650; font-size:14px; line-height:1.35; text-decoration:none; cursor:pointer; background:var(--u1-accent); color:#fff; box-shadow:none;}
.cms-template-universal-1 .u1-button--primary:hover,
.cms-template-universal-1 .cms-button--primary:hover {background:var(--u1-accent-hover); color:#fff; transform:translateY(-2px);}
.cms-template-universal-1 .u1-button--outline {background:transparent; border-color:rgba(255,255,255,.7); color:#fff;}
.cms-template-universal-1 .u1-button--outline:hover {background:#fff; color:var(--u1-ink); transform:translateY(-2px);}
.cms-template-universal-1 .u1-button--nav {padding:12px 20px; background:#fff; color:var(--u1-ink); font-size:12px;}
.cms-template-universal-1 .u1-header--scrolled .u1-button--nav {background:var(--u1-accent); color:#fff;}
.cms-template-universal-1 .u1-header .u1-button--nav:hover {background:#eaf3ff; color:var(--u1-ink);}
.cms-template-universal-1 .u1-header--scrolled .u1-button--nav:hover {background:var(--u1-accent-hover); color:#fff;}

/* ================ HERO ================ */
.cms-template-universal-1 .u1-hero,
.cms-template-universal-1 .cms-hero {position:relative; display:grid; place-items:center; min-height:800px; height:800px; padding:126px 24px 100px; overflow:hidden; color:#fff; background:#203953 linear-gradient(124deg,#0d2038 0%,#315e81 52%,#122b43 100%);}
.cms-template-universal-1 .u1-hero__picture, .cms-template-universal-1 .u1-hero__veil {position:absolute; inset:0; display:block; width:100%; height:100%; pointer-events:none;}
.cms-template-universal-1 .u1-hero__picture {z-index:0;}
.cms-template-universal-1 .u1-hero__image {width:100%; height:100%; object-fit:cover; object-position:center;}
.cms-template-universal-1 .u1-hero__veil {z-index:1; background:linear-gradient(100deg,rgba(7,21,43,.64),rgba(13,34,56,.49) 56%,rgba(7,21,43,.5));}
.cms-template-universal-1 .u1-hero--none .u1-hero__veil {background:rgba(6,19,31,.18);}
.cms-template-universal-1 .u1-hero--light .u1-hero__veil {background:rgba(6,19,31,.28);}
.cms-template-universal-1 .u1-hero--dark .u1-hero__veil {background:rgba(6,19,31,.73);}
.cms-template-universal-1 .u1-hero__content,
.cms-template-universal-1 .cms-hero__content {position:relative; z-index:2; display:flex; flex-direction:column; align-items:center; text-align:center; margin-inline:auto; max-width:970px; padding:0;}
.cms-template-universal-1 .u1-eyebrow {font-size:11px; font-weight:650; letter-spacing:.2em; text-transform:uppercase;}
.cms-template-universal-1 .u1-hero__eyebrow {color:#e8eef8; margin:0 0 20px;}
.cms-template-universal-1 .u1-hero__title,
.cms-template-universal-1 .cms-hero h1 {color:#fff; font-size:clamp(38px,5vw,72px); line-height:1.15; font-weight:700; letter-spacing:-.055em; max-width:880px; margin:0; text-wrap:balance;}
.cms-template-universal-1 .u1-hero__subtitle,
.cms-template-universal-1 .cms-hero__text {color:#eef2f6; font-size:clamp(15px,1.3vw,18px); line-height:1.8; max-width:680px; margin:22px auto 0; text-wrap:pretty;}
.cms-template-universal-1 .u1-hero__actions,
.cms-template-universal-1 .cms-hero .cms-buttons {display:flex; gap:14px; align-items:center; justify-content:center; flex-wrap:wrap; margin-top:34px;}
.cms-template-universal-1 .u1-hero__scroll {position:absolute; z-index:2; left:50%; bottom:35px; transform:translateX(-50%); display:flex; align-items:center; gap:10px; border:0; background:none; color:#eaf4ff; font-size:11px; letter-spacing:.04em; cursor:pointer; opacity:.86;}
.cms-template-universal-1 .u1-hero__scroll span:first-child {width:30px; height:30px; border:1px solid #ffffff73; border-radius:50%; display:grid; place-items:center; font-size:16px;}
.cms-template-universal-1 .cms-hero .cms-hero__overlay {background:linear-gradient(95deg,rgba(8,26,50,.5),rgba(8,26,50,.5));}

/* ================ Sekcje i typografia ================ */
.cms-template-universal-1 main > section:not(.u1-hero):not(.cms-hero),
.cms-template-universal-1 main > div > section:not(.u1-hero):not(.cms-hero) {scroll-margin-top:85px;}
.cms-template-universal-1 :is(.cms-services-grid-section,.cms-text-image-section,.cms-stats-section,.cms-columns-section,.cms-testimonials-section,.cms-gallery-section,.cms-faq-section,.cms-contact-form-section) {padding-block:96px;}
.cms-template-universal-1 :is(.cms-services-grid-section,.cms-columns-section,.cms-faq-section) {background:#fff;}
.cms-template-universal-1 :is(.cms-stats-section,.cms-testimonials-section) {background:var(--u1-surface);}
.cms-template-universal-1 :is(.cms-services-grid-section,.cms-text-image-section,.cms-columns-section,.cms-stats-section,.cms-gallery-section,.cms-faq-section,.cms-testimonials-section) h2 {font-size:clamp(28px,3vw,42px); line-height:1.22; font-weight:700; letter-spacing:-.045em; color:var(--u1-ink);}
.cms-template-universal-1 :is(.cms-services-grid-section,.cms-text-image-section,.cms-columns-section,.cms-stats-section,.cms-gallery-section,.cms-faq-section,.cms-testimonials-section) p {color:var(--u1-muted); line-height:1.85;}
.cms-template-universal-1 :is(.cms-services-grid__card,.cms-service-card,.cms-testimonial,.cms-gallery__item,.cms-columns__column) {border:1px solid var(--u1-line); border-radius:var(--u1-radius); background:#fff; box-shadow:0 8px 30px rgba(16,36,63,.035); overflow:hidden; transition:transform .28s ease, box-shadow .28s ease;}
.cms-template-universal-1 :is(.cms-services-grid__card,.cms-service-card,.cms-gallery__item):hover {transform:translateY(-6px); box-shadow:0 22px 55px rgba(16,36,63,.13);}
.cms-template-universal-1 :is(.cms-services-grid__card,.cms-gallery__item,.cms-text-image-section) img {object-fit:cover;}
.cms-template-universal-1 .cms-stats-section strong {color:var(--u1-accent); font-weight:750;}
.cms-template-universal-1 :is(.cms-faq-section,.cms-contact-form-section) :is(input,select,textarea) {border-radius:7px; border-color:#dae3ed;}
.cms-template-universal-1 :is(.cms-faq-section,.cms-contact-form-section) :is(input,select,textarea):focus-visible {outline:2px solid var(--u1-accent); outline-offset:2px;}
.cms-template-universal-1 .cms-footer {background:#112841; color:#e6edf5;}
.cms-template-universal-1 .cms-footer a {color:#dce9fb;}
.cms-template-universal-1 .cms-footer a:hover {color:#fff;}
.cms-template-universal-1 .cms-page-header {padding-top:150px;}

/* ====== Reveal (tylko gdy element oznaczony przez JS) ====== */
.cms-template-universal-1 .u1-reveal {opacity:0; transform:translateY(22px); transition:opacity .64s ease var(--u1-stagger,0ms),transform .64s ease var(--u1-stagger,0ms);}
.cms-template-universal-1 .u1-reveal.u1-is-visible {opacity:1; transform:translateY(0);}

@media (max-width: 1000px) {
 .cms-template-universal-1 .u1-header__inner {gap:20px;}
 .cms-template-universal-1 .u1-nav__list {gap:15px;}
 .cms-template-universal-1 .u1-nav__list a {font-size:12px;}
 .cms-template-universal-1 .u1-button--nav {padding:11px 13px;}
}
@media (max-width: 850px) {
 .cms-template-universal-1 .cms-container {width:min(calc(100% - 36px), var(--u1-width));}
 .cms-template-universal-1 .u1-header {min-height:74px;}
 .cms-template-universal-1 .u1-header__toggle {display:inline-flex; color:inherit; background:transparent; margin-left:auto;}
 .cms-template-universal-1 .u1-header .u1-nav {margin:0;}
 .cms-template-universal-1 .u1-nav__list {display:block;}
 .cms-template-universal-1 .u1-nav__list > li > a::after {display:none;}
 .cms-template-universal-1 .u1-header .cms-nav__mobile-header {display:flex;}
 .cms-template-universal-1 .u1-nav {color:var(--u1-ink);}
 .cms-template-universal-1 .u1-nav__list a {color:var(--u1-ink); font-size:15px;}
 .cms-template-universal-1 .u1-header :is(.cms-nav__cta,.u1-nav__cta) {margin:15px 0 0;}
 .cms-template-universal-1 .u1-header .u1-button--nav {background:var(--u1-accent); color:#fff;}
 .cms-template-universal-1 .u1-hero, .cms-template-universal-1 .cms-hero {height:650px; min-height:650px; padding:110px 0 100px;}
 .cms-template-universal-1 .u1-hero__title, .cms-template-universal-1 .cms-hero h1 {font-size:clamp(33px,6vw,48px);}
 .cms-template-universal-1 :is(.cms-services-grid-section,.cms-text-image-section,.cms-stats-section,.cms-columns-section,.cms-testimonials-section,.cms-gallery-section,.cms-faq-section,.cms-contact-form-section) {padding-block:68px;}
}
@media (max-width: 550px) {
 .cms-template-universal-1 .u1-header {min-height:68px;}
 .cms-template-universal-1 .u1-hero, .cms-template-universal-1 .cms-hero {height:600px; min-height:600px;}
 .cms-template-universal-1 .u1-hero__title, .cms-template-universal-1 .cms-hero h1 {font-size:clamp(31px,9vw,42px);}
 .cms-template-universal-1 .u1-hero__subtitle, .cms-template-universal-1 .cms-hero__text {font-size:14px; line-height:1.7;}
 .cms-template-universal-1 .u1-hero__actions {width:100%;}
 .cms-template-universal-1 .u1-hero__actions .u1-button {width:100%;}
 .cms-template-universal-1 .u1-hero__scroll {bottom:21px;}
}
@media (prefers-reduced-motion: reduce) {
 .cms-template-universal-1 *, .cms-template-universal-1 *::before, .cms-template-universal-1 *::after {scroll-behavior:auto !important; animation-duration:.01ms !important; transition-duration:.01ms !important;}
 .cms-template-universal-1 .u1-reveal {opacity:1; transform:none;}
}

/* ======================================================================
 UNIVERSAL 1 v1.1 — menu wielopoziomowe + blog + artykuł
 Scope pozostaje wyłącznie na stronach z motywem UNIVERSAL 1.
 ====================================================================== */

/* Dropdown CMS używa .cms-submenu, .cms-nav__link-row, .cms-submenu-toggle.
   W v1.0 reguły wskazywały inne klasy, więc nie obejmowały menu. */
@media (min-width: 1101px) {
  .cms-template-universal-1 .u1-header,
  .cms-template-universal-1 .u1-header__inner,
  .cms-template-universal-1 .u1-nav,
  .cms-template-universal-1 .u1-nav__list { overflow: visible !important; }

  .cms-template-universal-1 .u1-nav__list > .cms-nav__item {position:relative; align-self:stretch; display:flex; align-items:center;}
  .cms-template-universal-1 .u1-nav__list .cms-nav__link-row {display:flex; align-items:center; gap:5px; min-height:64px;}
  .cms-template-universal-1 .u1-nav__list .cms-nav__link {display:inline-flex; align-items:center; min-height:44px; padding:9px 0; color:inherit; text-decoration:none; font-weight:600; font-size:13px;}
  .cms-template-universal-1 .u1-nav__list > .cms-nav__item > .cms-nav__link-row > .cms-nav__link {position:relative;}
  .cms-template-universal-1 .u1-nav__list > .cms-nav__item > .cms-nav__link-row > .cms-nav__link::after {content:""; position:absolute; left:0; right:100%; bottom:5px; height:2px; background:currentColor; transition:right .2s ease;}
  .cms-template-universal-1 .u1-nav__list > .cms-nav__item:hover > .cms-nav__link-row > .cms-nav__link::after,
  .cms-template-universal-1 .u1-nav__list > .cms-nav__item:focus-within > .cms-nav__link-row > .cms-nav__link::after {right:0;}

  .cms-template-universal-1 .u1-nav__list .cms-submenu-toggle {display:inline-grid; place-items:center; background:transparent; border:0; box-shadow:none; color:inherit; padding:8px 3px; margin:0; min-width:27px; min-height:40px; cursor:pointer;}
  .cms-template-universal-1 .u1-nav__list .cms-submenu-toggle svg {width:13px; height:13px; transition:transform .2s ease;}
  .cms-template-universal-1 .u1-nav__list .cms-nav__item:hover > .cms-nav__link-row .cms-submenu-toggle svg,
  .cms-template-universal-1 .u1-nav__list .cms-nav__item:focus-within > .cms-nav__link-row .cms-submenu-toggle svg {transform:rotate(180deg);}

  /* Nie ma odstępu 4-12px między LI a UL. Dzięki temu pointer nie traci hover. */
  .cms-template-universal-1 .u1-nav__list .cms-nav__item {position:relative;}
  .cms-template-universal-1 .u1-nav__list .cms-submenu {
    position:absolute !important;
    display:block !important;
    top:100% !important;
    left:0 !important;
    min-width:245px;
    width:max-content;
    max-width:min(360px, calc(100vw - 32px));
    padding:10px;
    margin:0;
    list-style:none;
    color:var(--u1-ink) !important;
    background:#fff !important;
    border:1px solid var(--u1-line);
    border-radius:12px;
    box-shadow:0 24px 58px rgba(5,28,51,.20);
    z-index:110;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(6px);
    transition:opacity .18s ease, transform .18s ease, visibility .18s ease;
  }
  .cms-template-universal-1 .u1-nav__list .cms-submenu::before {content:""; position:absolute; left:0; right:0; top:-8px; height:8px;}
  .cms-template-universal-1 .u1-nav__list .cms-submenu .cms-nav__link-row {min-height:0; display:flex; gap:5px; align-items:center; border-radius:8px;}
  .cms-template-universal-1 .u1-nav__list .cms-submenu .cms-nav__link {color:var(--u1-ink) !important; min-height:0; padding:12px 13px; white-space:normal; font-size:13px; line-height:1.4; flex:1;}
  .cms-template-universal-1 .u1-nav__list .cms-submenu .cms-submenu-toggle {color:var(--u1-ink) !important;}
  .cms-template-universal-1 .u1-nav__list .cms-submenu .cms-nav__link-row:hover,
  .cms-template-universal-1 .u1-nav__list .cms-submenu .cms-nav__link-row:focus-within {background:#edf4fc;}
  .cms-template-universal-1 .u1-nav__list .cms-submenu .cms-submenu {left:100% !important; top:0 !important;}
  .cms-template-universal-1 .u1-nav__list .cms-nav__item:hover > .cms-submenu,
  .cms-template-universal-1 .u1-nav__list .cms-nav__item:focus-within > .cms-submenu,
  .cms-template-universal-1 .u1-nav__list .cms-nav__item.u1-hover-open > .cms-submenu,
  .cms-template-universal-1 .u1-nav__list .cms-nav__item.is-open > .cms-submenu,
  .cms-template-universal-1 .u1-nav__list .cms-nav__item > .cms-submenu.is-open,
  .cms-template-universal-1 .u1-nav__list .cms-nav__item:has(> .cms-nav__link-row > .cms-submenu-toggle[aria-expanded="true"]) > .cms-submenu {
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0);
  }
}

/* Przy breakpoint CMS (1100 px) używamy zawsze drawer, nie desktop dropdown. */
@media (max-width: 1100px) {
  .cms-template-universal-1 .u1-header {z-index:10001 !important;}
  .cms-template-universal-1 .u1-header__inner {min-height:72px;}
  .cms-template-universal-1 .u1-header__toggle {display:inline-flex !important; margin-left:auto; padding:10px; position:relative; z-index:1; color:inherit;}
  .cms-template-universal-1 .u1-nav.cms-nav {
    position:fixed !important;
    inset:16px 16px 16px auto !important;
    top:16px !important;
    right:16px !important;
    bottom:16px !important;
    left:auto !important;
    width:min(400px, calc(100vw - 32px)) !important;
    height:calc(100vh - 32px);
    height:calc(100dvh - 32px);
    min-height:0;
    max-height:calc(100dvh - 32px);
    box-sizing:border-box;
    padding:22px 20px 24px !important;
    margin:0 !important;
    display:block !important;
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
    border-radius:18px;
    border:1px solid rgba(226,235,245,.95);
    background:#fff !important;
    color:var(--u1-ink) !important;
    box-shadow:0 24px 80px rgba(10,25,45,.22);
    z-index:10003 !important;
    transform:translateX(calc(100% + 50px)) !important;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    clip-path:none !important;
    transition:transform .3s ease, opacity .25s ease, visibility .25s ease;
  }
  .cms-template-universal-1 .u1-nav.cms-nav.is-open {
    transform:translateX(0) !important;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }
  .cms-template-universal-1 .u1-header .cms-nav__mobile-header {display:flex !important; align-items:center; justify-content:space-between; margin:0 0 18px; padding:0 0 16px; border-bottom:1px solid var(--u1-line);}
  .cms-template-universal-1 .u1-nav__list {display:block !important; gap:0; margin:0; padding:0; list-style:none;}
  .cms-template-universal-1 .u1-nav__list > .cms-nav__item {display:block; padding:0; border-bottom:1px solid var(--u1-line);}
  .cms-template-universal-1 .u1-nav__list .cms-nav__link-row {display:flex; align-items:center; justify-content:space-between; gap:8px; min-height:51px;}
  .cms-template-universal-1 .u1-nav__list .cms-nav__link {display:block; flex:1; min-width:0; color:var(--u1-ink) !important; font-size:15px; font-weight:600; line-height:1.4; text-decoration:none; padding:14px 6px; white-space:normal;}
  .cms-template-universal-1 .u1-nav__list .cms-submenu-toggle {display:inline-grid !important; place-items:center; flex:0 0 42px; min-width:42px; height:42px; padding:10px; color:var(--u1-ink) !important; background:#f3f7fc !important; border:0; border-radius:8px; cursor:pointer;}
  .cms-template-universal-1 .u1-nav__list .cms-submenu-toggle[aria-expanded="true"] {background:#e0eeff !important; color:var(--u1-accent) !important;}
  .cms-template-universal-1 .u1-nav__list .cms-submenu-toggle[aria-expanded="true"] svg {transform:rotate(180deg);}
  .cms-template-universal-1 .u1-nav__list .cms-submenu {
    position:static !important;
    display:none !important;
    width:100%;
    min-width:0;
    max-width:100%;
    padding:0 0 12px 13px;
    margin:0;
    box-shadow:none !important;
    border:0 !important;
    border-radius:0;
    background:transparent !important;
    color:var(--u1-ink) !important;
    opacity:1 !important;
    visibility:visible;
    transform:none !important;
    pointer-events:auto;
    list-style:none;
  }
  .cms-template-universal-1 .u1-nav__list .cms-nav__item.is-open > .cms-submenu,
  .cms-template-universal-1 .u1-nav__list .cms-nav__item > .cms-submenu.is-open,
  .cms-template-universal-1 .u1-nav__list .cms-nav__item:has(> .cms-nav__link-row > .cms-submenu-toggle[aria-expanded="true"]) > .cms-submenu {display:block !important;}
  .cms-template-universal-1 .u1-nav__list .cms-submenu .cms-nav__link {font-size:14px; font-weight:500; padding:10px 6px;}
  .cms-template-universal-1 .u1-nav__list .cms-submenu .cms-nav__item {border-bottom:1px solid #edf2f8;}
  .cms-template-universal-1 .u1-header .u1-nav__cta {margin:18px 0 0 !important;}
  .cms-template-universal-1 .u1-header .u1-nav__cta .u1-button {display:flex; width:100%;}
  .cms-template-universal-1 .cms-nav-backdrop:not([hidden]) {position:fixed !important; inset:0; z-index:10000 !important; background:rgba(8,24,43,.48);}
}

/* ===== Blog: taka sama paleta / fonty / zaokrąglenia jak strona główna ===== */
.cms-template-universal-1 .cms-blog-main {min-height:45vh; margin:0 auto; padding:0 0 105px;}
.cms-template-universal-1 .cms-blog-header {
  position:relative;
  padding:164px max(24px,calc((100vw - var(--u1-width)) / 2)) 80px;
  margin:0 0 65px;
  background:linear-gradient(130deg,#10243f,#1e4771 66%,#173454);
  color:#fff;
  text-align:center;
}
.cms-template-universal-1 .cms-blog-header h1,
.cms-template-universal-1 .cms-blog-header__title {color:#fff; font-size:clamp(36px,4.8vw,62px); line-height:1.17; letter-spacing:-.045em; margin:0 auto 15px; max-width:960px; text-wrap:balance;}
.cms-template-universal-1 .cms-blog-header :is(p, .cms-blog-header__lead, .cms-blog-header__description) {color:#e6f0fb; max-width:720px; margin-inline:auto; line-height:1.8;}
.cms-template-universal-1 .cms-blog-section {padding:0 0 40px;}
.cms-template-universal-1 .cms-blog-grid {display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; align-items:stretch;}
.cms-template-universal-1 .cms-blog-card {
  display:flex;
  flex-direction:column;
  min-width:0;
  overflow:hidden;
  background:#fff;
  border:1px solid var(--u1-line);
  border-radius:var(--u1-radius);
  box-shadow:0 8px 30px rgba(16,36,63,.055);
  transition:transform .25s ease,box-shadow .25s ease;
}
.cms-template-universal-1 .cms-blog-card:hover {transform:translateY(-5px); box-shadow:0 20px 48px rgba(16,36,63,.12);}
.cms-template-universal-1 .cms-blog-card__image-link {display:block; overflow:hidden; aspect-ratio:16/10; background:#edf4fa;}
.cms-template-universal-1 .cms-blog-card__image {width:100%; height:100%; display:block; object-fit:cover; transition:transform .35s ease;}
.cms-template-universal-1 .cms-blog-card:hover .cms-blog-card__image {transform:scale(1.035);}
.cms-template-universal-1 .cms-blog-card__body {display:flex; flex-direction:column; flex:1; gap:12px; padding:27px 27px 30px;}
.cms-template-universal-1 .cms-blog-card__meta {display:flex; align-items:center; flex-wrap:wrap; gap:10px; font-size:12px; font-weight:650; color:var(--u1-accent);}
.cms-template-universal-1 .cms-blog-card__title {font-size:clamp(20px,2vw,24px); line-height:1.35; font-weight:700; margin:0; color:var(--u1-ink);}
.cms-template-universal-1 .cms-blog-card__title a {color:var(--u1-ink); text-decoration:none;}
.cms-template-universal-1 .cms-blog-card__title a:hover {color:var(--u1-accent);}
.cms-template-universal-1 .cms-blog-card__excerpt {color:var(--u1-muted); font-size:14px; line-height:1.8; margin:0;}
.cms-template-universal-1 .cms-blog-card__more {margin-top:auto; display:inline-flex; align-items:center; gap:8px; font-size:13px; font-weight:700; color:var(--u1-accent); text-decoration:none;}
.cms-template-universal-1 .cms-blog-card__more:hover {color:var(--u1-accent-hover);}
.cms-template-universal-1 :is(.cms-blog-pagination,.cms-blog__pagination) {display:flex; justify-content:center; flex-wrap:wrap; align-items:center; gap:12px; margin:50px auto 0;}
.cms-template-universal-1 :is(.cms-blog-pagination,.cms-blog__pagination) :is(a,span) {display:inline-flex; padding:10px 15px; border:1px solid var(--u1-line); border-radius:9px; color:var(--u1-ink); text-decoration:none;}
.cms-template-universal-1 :is(.cms-blog-pagination,.cms-blog__pagination) a:hover {background:var(--u1-accent); color:#fff;}

/* ===== Artykuł: ten sam nagłówek, typografia i proporcje ===== */
.cms-template-universal-1 .cms-blog-article {background:#fff;}
.cms-template-universal-1 .cms-blog-article__header {
  padding:160px 24px 74px;
  margin:0 auto 55px;
  background:linear-gradient(125deg,#10243f,#1e4771);
  color:#fff;
  text-align:center;
}
.cms-template-universal-1 .cms-blog-article__header :is(h1,h2,.cms-blog-article__title) {color:#fff;}
.cms-template-universal-1 .cms-blog-article__title {max-width:950px; font-size:clamp(34px,5vw,60px); line-height:1.2; margin:10px auto 0; font-weight:700; letter-spacing:-.045em; text-wrap:balance;}
.cms-template-universal-1 .cms-blog-article__meta {display:flex; flex-wrap:wrap; justify-content:center; gap:12px; font-size:13px; color:#e6f0fb;}
.cms-template-universal-1 .cms-blog-article__meta a {color:#e6f0fb;}
.cms-template-universal-1 .cms-blog-article__lead {max-width:800px; margin:21px auto 0; color:#f2f7fc; font-size:clamp(16px,1.8vw,20px); line-height:1.7;}
.cms-template-universal-1 .cms-blog-article__featured {max-width:1050px; margin:0 auto 52px; padding:0 22px;}
.cms-template-universal-1 .cms-blog-article__featured img,
.cms-template-universal-1 .cms-blog-article__featured-image {width:100%; display:block; border-radius:18px; object-fit:cover; height:auto; max-height:580px;}
.cms-template-universal-1 .cms-blog-article__content {max-width:840px; margin:0 auto; padding:0 22px 32px; font-size:16px; line-height:1.95; color:#34445a; overflow-wrap:anywhere;}
.cms-template-universal-1 .cms-blog-article__content h2 {font-size:clamp(26px,3vw,37px); color:var(--u1-ink); margin:48px 0 18px; line-height:1.3;}
.cms-template-universal-1 .cms-blog-article__content h3 {font-size:clamp(21px,2.5vw,28px); color:var(--u1-ink); margin:36px 0 14px; line-height:1.35;}
.cms-template-universal-1 .cms-blog-article__content :is(p,ul,ol,blockquote,figure,table) {margin-bottom:22px;}
.cms-template-universal-1 .cms-blog-article__content :is(ul,ol) {padding-left:26px;}
.cms-template-universal-1 .cms-blog-article__content a {color:var(--u1-accent); text-decoration:underline; text-underline-offset:3px;}
.cms-template-universal-1 .cms-blog-article__content img {max-width:100%; height:auto; border-radius:12px;}
.cms-template-universal-1 .cms-blog-article__content blockquote {margin:32px 0; padding:12px 26px; border-left:4px solid var(--u1-accent); background:var(--u1-surface); border-radius:0 12px 12px 0; color:var(--u1-ink);}
.cms-template-universal-1 .cms-blog-back {display:table; margin:28px auto 85px; color:var(--u1-accent); font-weight:700; text-decoration:none;}
.cms-template-universal-1 .cms-blog-back:hover {color:var(--u1-accent-hover);}

@media(max-width:1100px) {
  .cms-template-universal-1 .cms-blog-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:700px) {
  .cms-template-universal-1 .cms-blog-header {padding:122px 18px 60px; margin-bottom:38px;}
  .cms-template-universal-1 .cms-blog-main {padding-bottom:60px;}
  .cms-template-universal-1 .cms-blog-grid {grid-template-columns:1fr; gap:19px;}
  .cms-template-universal-1 .cms-blog-card__body {padding:22px;}
  .cms-template-universal-1 .cms-blog-article__header {padding:125px 18px 55px; margin-bottom:32px;}
  .cms-template-universal-1 .cms-blog-article__featured {margin-bottom:26px; padding-inline:18px;}
  .cms-template-universal-1 .cms-blog-article__content {font-size:15px; padding:0 18px 30px;}
  .cms-template-universal-1 .cms-blog-back {margin-bottom:55px;}
}

/* ============================================================================
 UNIVERSAL 1 v1.2 — stylowane listy UL / OL
 Dotyczy tylko treści UNIVERSAL 1 (strony, bloki i artykuły).
 Nie dotyczy nawigacji, formularzy, menu rozwijanych ani pozostałych szablonów.
 Znaczniki zachowują natywną semantykę list i respektują <ol start="...">.
 ============================================================================ */

/* Zawęża zakres do rzeczywistych kontenerów tekstowych. */
.cms-template-universal-1 :is(
  .cms-rich-text-section,
  .cms-rich-text,
  .cms-text-image-section,
  .cms-columns-section,
  .cms-blog-article__content,
  .cms-blog-post__content,
  .cms-article__content,
  .cms-prose
) :is(ul, ol):not(.cms-nav__list, .cms-submenu, .cms-footer__menu) {
  margin-block: 1.2em 1.7em;
  margin-inline: 0;
  padding-inline-start: 2.9em;
  list-style-position: outside;
  color: inherit;
}

/* Punktory: dyskretne niebieskie haczyki. */
.cms-template-universal-1 :is(
  .cms-rich-text-section,
  .cms-rich-text,
  .cms-text-image-section,
  .cms-columns-section,
  .cms-blog-article__content,
  .cms-blog-post__content,
  .cms-article__content,
  .cms-prose
) ul:not(.cms-nav__list, .cms-submenu, .cms-footer__menu) {
  list-style-type: "✓  ";
}

/* Numeracja używa licznika przeglądarki: poprawne 01, 02, 03,
   listy zagnieżdżone oraz start=5 bez ręcznego liczenia w CSS. */
.cms-template-universal-1 :is(
  .cms-rich-text-section,
  .cms-rich-text,
  .cms-text-image-section,
  .cms-columns-section,
  .cms-blog-article__content,
  .cms-blog-post__content,
  .cms-article__content,
  .cms-prose
) ol:not(.cms-nav__list, .cms-submenu, .cms-footer__menu) {
  list-style-type: decimal-leading-zero;
}

.cms-template-universal-1 :is(
  .cms-rich-text-section,
  .cms-rich-text,
  .cms-text-image-section,
  .cms-columns-section,
  .cms-blog-article__content,
  .cms-blog-post__content,
  .cms-article__content,
  .cms-prose
) :is(ul,ol):not(.cms-nav__list, .cms-submenu, .cms-footer__menu) > li {
  margin: 0 0 .7em;
  padding-inline-start: .26em;
  line-height: 1.8;
  overflow-wrap: anywhere;
}

.cms-template-universal-1 :is(
  .cms-rich-text-section,
  .cms-rich-text,
  .cms-text-image-section,
  .cms-columns-section,
  .cms-blog-article__content,
  .cms-blog-post__content,
  .cms-article__content,
  .cms-prose
) :is(ul,ol):not(.cms-nav__list, .cms-submenu, .cms-footer__menu) > li::marker {
  color: var(--u1-list-accent, var(--u1-accent, #2464af));
  font-weight: 750;
  font-size: 1.08em;
  font-family: 'Inter', system-ui, sans-serif;
}

.cms-template-universal-1 :is(
  .cms-rich-text-section,
  .cms-rich-text,
  .cms-text-image-section,
  .cms-columns-section,
  .cms-blog-article__content,
  .cms-blog-post__content,
  .cms-article__content,
  .cms-prose
) :is(ul,ol):not(.cms-nav__list, .cms-submenu, .cms-footer__menu) > li > :is(ul,ol) {
  margin-block: .65em .8em;
}

@media (max-width: 640px) {
  .cms-template-universal-1 :is(
    .cms-rich-text-section,
    .cms-rich-text,
    .cms-text-image-section,
    .cms-columns-section,
    .cms-blog-article__content,
    .cms-blog-post__content,
    .cms-article__content,
    .cms-prose
  ) :is(ul,ol):not(.cms-nav__list, .cms-submenu, .cms-footer__menu) {
    padding-inline-start: 2.5em;
    margin-block: 1em 1.45em;
  }
}
/* END U1 list styles v1.2 */

/* ======================================================================
   UNIVERSAL 1 v1.3 — układ sekcji formularza kontaktowego
   Dotyczy wyłącznie strony korzystającej z UNIVERSAL 1.
   formularz / backend / antyspam pozostają oryginalnymi elementami CMS.
   ====================================================================== */

.cms-template-universal-1 .u1-contact-layout {
    min-width: 0;
    scroll-margin-top: 88px;
}

.cms-template-universal-1 .u1-contact-layout .cms-contact-form-section {
    overflow: visible;
}

.cms-template-universal-1 .u1-contact-layout .cms-contact-form-heading .cms-eyebrow {
    color: var(--u1-accent, #2464af);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .17em;
    line-height: 1.5;
    text-transform: uppercase;
}

.cms-template-universal-1 .u1-contact-layout .cms-contact-form-heading h2 {
    color: var(--u1-ink, #132b48);
    font-family: 'Poppins', 'Inter', sans-serif;
    font-size: clamp(30px, 3.6vw, 44px);
    font-weight: 700;
    line-height: 1.22;
    letter-spacing: -.04em;
    margin-block: 12px 20px;
}

.cms-template-universal-1 .u1-contact-layout .cms-contact-form-heading p {
    color: var(--u1-muted, #64748b);
    font-size: 16px;
    line-height: 1.85;
    max-width: 520px;
}

/* Na desktopie tekst i formularz umieszczamy obok siebie wyłącznie
   wtedy, gdy blok zawiera nagłówek/tekst. Bez niego CMS zachowuje
   klasyczny układ formularza. */
@media (min-width: 901px) {
    .cms-template-universal-1 .u1-contact-layout--text-left .cms-contact-form-wrapper:has(> .cms-contact-form-heading),
    .cms-template-universal-1 .u1-contact-layout--text-right .cms-contact-form-wrapper:has(> .cms-contact-form-heading) {
        display: grid !important;
        width: 100%;
        max-width: none !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr);
        align-items: start;
        column-gap: clamp(32px, 5.5vw, 88px);
        row-gap: 18px;
        margin-inline: auto;
    }

    .cms-template-universal-1 .u1-contact-layout--text-left .cms-contact-form-wrapper > .cms-contact-form-heading {
        grid-column: 1;
        grid-row: 1 / span 3;
        align-self: start;
        max-width: 480px;
        margin: 0;
    }

    .cms-template-universal-1 .u1-contact-layout--text-left .cms-contact-form-wrapper > :not(.cms-contact-form-heading) {
        grid-column: 2;
        min-width: 0;
    }

    .cms-template-universal-1 .u1-contact-layout--text-right .cms-contact-form-wrapper > .cms-contact-form-heading {
        grid-column: 2;
        grid-row: 1 / span 3;
        align-self: start;
        max-width: 480px;
        margin: 0;
    }

    .cms-template-universal-1 .u1-contact-layout--text-right .cms-contact-form-wrapper > :not(.cms-contact-form-heading) {
        grid-column: 1;
        min-width: 0;
    }

    .cms-template-universal-1 .u1-contact-layout--text-left .cms-contact-form-wrapper > .cms-contact-form,
    .cms-template-universal-1 .u1-contact-layout--text-right .cms-contact-form-wrapper > .cms-contact-form {
        width: 100%;
        max-width: none !important;
        margin: 0;
    }
}

.cms-template-universal-1 .u1-contact-layout .cms-contact-form-wrapper {
    min-width: 0;
}

.cms-template-universal-1 .u1-contact-layout .cms-contact-form,
.cms-template-universal-1 .u1-contact-layout .cms-form-message {
    min-width: 0;
}

.cms-template-universal-1 .u1-contact-layout .cms-contact-form :is(input, select, textarea) {
    max-width: 100%;
    box-sizing: border-box;
}

@media (max-width: 900px) {
    .cms-template-universal-1 .u1-contact-layout--text-left .cms-contact-form-wrapper,
    .cms-template-universal-1 .u1-contact-layout--text-right .cms-contact-form-wrapper {
        display: flex !important;
        flex-direction: column;
        gap: 26px;
        width: 100%;
    }

    .cms-template-universal-1 .u1-contact-layout .cms-contact-form-heading,
    .cms-template-universal-1 .u1-contact-layout .cms-contact-form,
    .cms-template-universal-1 .u1-contact-layout .cms-form-message {
        width: 100%;
        max-width: 100%;
        margin-inline: 0;
    }

    .cms-template-universal-1 .u1-contact-layout .cms-contact-form-heading h2 {
        font-size: clamp(29px, 5.5vw, 38px);
    }
}

/* END U1 contact layout v1.3 */
