/* Wspólny układ podstron 2026 — Optyk Mielczarek */
:root{--brand:#428bca;--brand-dark:#256fae;--brand-deep:#174f7c;--ink:#17384f;--muted:#587083;--soft:#f2f8fd;--line:#d7e8f5;--white:#fff;--radius:16px;--shadow:0 18px 45px rgba(23,56,79,.12)}
html{scroll-behavior:smooth;scroll-padding-top:92px}body.site-2026{margin:0;background:#fff;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-size:17px;line-height:1.72;-webkit-font-smoothing:antialiased;padding-top:0!important}body.site-2026 img{max-width:100%;height:auto}body.site-2026 a{color:var(--brand-dark);text-underline-offset:3px}body.site-2026 .skip-link{position:fixed;left:1rem;top:-6rem;z-index:9999;background:#fff;color:#111;padding:.75rem 1rem;border-radius:9px;box-shadow:var(--shadow)}body.site-2026 .skip-link:focus{top:1rem}
.site-header{position:sticky;top:0;z-index:1050;background:rgba(255,255,255,.97);backdrop-filter:blur(14px);border-bottom:1px solid rgba(66,139,202,.22);box-shadow:0 4px 18px rgba(23,56,79,.04)}.site-header .navbar{min-height:78px;padding:.35rem 0}.site-header .navbar-brand{display:flex;align-items:center;flex:0 0 auto;margin-right:1rem;padding:.1rem 0}.site-header .navbar-brand img{display:block;width:220px;height:55px;object-fit:contain}.site-header .navbar-toggler{border-color:var(--line);padding:.6rem}.site-header .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2823,56,79,.92%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.site-header .nav-link{color:var(--ink)!important;font-weight:680;font-size:.91rem;padding:.62rem .58rem!important;border-radius:8px;white-space:nowrap}.site-header .nav-link:hover,.site-header .nav-link:focus,.site-header .nav-link.active{color:var(--brand-deep)!important;background:var(--soft)}.site-header .language-nav{display:flex;align-items:center;gap:.2rem;margin-left:.65rem;padding-left:.65rem;border-left:1px solid var(--line)}.site-header .language-nav a{display:grid;place-items:center;min-width:32px;height:32px;padding:0 .35rem;border-radius:7px;text-decoration:none;font-size:.76rem;font-weight:850;color:var(--muted)}.site-header .language-nav a:hover,.site-header .language-nav a:focus,.site-header .language-nav a[aria-current="page"]{background:var(--soft);color:var(--brand-deep)}.site-header .btn-book{margin-left:.55rem;min-height:46px;min-width:132px;padding:.55rem 1rem;border-radius:10px;background:var(--brand-dark);border:1px solid var(--brand-dark);color:#fff!important;font-size:1rem;font-weight:750;line-height:1.2;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:.55rem;white-space:nowrap;box-sizing:border-box}.site-header .btn-book:hover,.site-header .btn-book:focus{background:var(--brand-deep);border-color:var(--brand-deep)}
body.site-2026 main.site-main{display:block;min-height:45vh;padding-bottom:clamp(3rem,6vw,5.5rem)}body.site-2026:not(.home-page) main.site-main{background:linear-gradient(180deg,#f7fbff 0,#fff 320px)}body.site-2026 main.site-main>section:first-child,body.site-2026 main.site-main>.container:first-child,body.site-2026 main.site-main>main:first-child,body.site-2026 main.site-main>div:first-child{padding-top:clamp(2.3rem,5vw,4.6rem)}body.site-2026 main.site-main>section{padding-bottom:clamp(2.5rem,5vw,4.5rem)}body.site-2026 main.site-main .container,body.site-2026 main.site-main .container-fluid{--bs-gutter-x:clamp(1.4rem,4vw,2.5rem)}body.site-2026 main h1.page-title,body.site-2026 main.site-main h1:first-of-type{font-size:clamp(2.05rem,4.8vw,3.75rem);line-height:1.08;letter-spacing:-.04em;color:#143750;margin:0 0 1.25rem;max-width:980px}body.site-2026 main h1.page-title:after,body.site-2026 main.site-main h1:first-of-type:after{content:"";display:block;width:78px;height:5px;margin-top:1rem;border-radius:99px;background:var(--brand)}body.site-2026 main h2{color:#173f5b;line-height:1.2;letter-spacing:-.02em;margin-top:2.2rem;margin-bottom:1rem}body.site-2026 main h3{color:#1b4c6c;line-height:1.3;margin-top:1.7rem}body.site-2026 main p,body.site-2026 main li{max-width:82ch}body.site-2026 main p{margin-bottom:1rem}body.site-2026 main img:not(.icon):not([class*="logo"]){border-radius:14px}body.site-2026 main .img-responsive,body.site-2026 main .img-fluid{box-shadow:0 10px 32px rgba(23,56,79,.08)}body.site-2026 main .lead,body.site-2026 main .service-lead,body.site-2026 main .article-lead{font-size:clamp(1.08rem,2vw,1.28rem);line-height:1.65;color:#405e72;max-width:760px}body.site-2026 .breadcrumb{background:transparent;padding:.75rem 0;margin-bottom:1rem;font-size:.9rem}body.site-2026 .breadcrumb a{text-decoration:none}
body.site-2026 main .well,body.site-2026 main .panel,body.site-2026 main .card,body.site-2026 main .quick-facts,body.site-2026 main .content-card,body.site-2026 main .info-box{border:1px solid var(--line)!important;border-radius:var(--radius)!important;background:#fff!important;box-shadow:0 8px 26px rgba(23,56,79,.055)!important;padding:clamp(1.15rem,3vw,1.7rem)}body.site-2026 main blockquote{border-left:5px solid var(--brand);background:var(--soft);padding:1.1rem 1.3rem;border-radius:0 12px 12px 0;color:#34576f}body.site-2026 main table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}body.site-2026 main th{background:var(--soft);color:#173f5b}body.site-2026 main th,body.site-2026 main td{padding:.8rem .9rem;border-bottom:1px solid var(--line)}body.site-2026 main tr:last-child td{border-bottom:0}body.site-2026 main .btn{border-radius:10px;min-height:44px;font-weight:780;display:inline-flex;align-items:center;justify-content:center;gap:.45rem}body.site-2026 main .btn-primary,body.site-2026 main .btn-info,body.site-2026 main .btn-success,body.site-2026 main .btn-danger,body.site-2026 main .btn-brand,body.site-2026 main .cta-button{background:var(--brand-dark)!important;border-color:var(--brand-dark)!important;color:#fff!important}body.site-2026 main .btn-primary:hover,body.site-2026 main .btn-info:hover,body.site-2026 main .btn-success:hover,body.site-2026 main .btn-danger:hover,body.site-2026 main .btn-brand:hover,body.site-2026 main .cta-button:hover{background:var(--brand-deep)!important;border-color:var(--brand-deep)!important}.faq-section details,.faq-list details,body.site-2026 main .accordion-item{border:1px solid var(--line)!important;border-radius:12px!important;background:#fff!important;margin-bottom:.8rem;overflow:hidden}.faq-section summary,.faq-list summary,body.site-2026 main .accordion-button{font-weight:800;color:#173f5b;padding:1rem 1.15rem}.faq-section details p,.faq-list details p{padding:0 1.15rem 1.15rem}.page-meta-footer{max-width:1140px;margin:1.5rem auto 0;padding:1rem 1.25rem;border-top:1px solid var(--line);color:var(--muted);font-size:.9rem}
.site-footer{background:#112f45;color:#dce9f2;padding:4rem 0 1.4rem}.site-footer img{margin-bottom:1rem}.site-footer .footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:2rem}.site-footer h2{font-size:1rem;color:#fff;margin:0 0 .9rem}.site-footer p{color:#c5d9e6}.site-footer a{display:block;color:#dce9f2;text-decoration:none;margin:.45rem 0}.site-footer a:hover,.site-footer a:focus{text-decoration:underline;color:#fff}.site-footer .footer-bottom{border-top:1px solid rgba(255,255,255,.15);margin-top:2.5rem;padding-top:1.2rem;display:flex;justify-content:space-between;gap:1rem;font-size:.86rem}.mobile-cta{display:none}.mobile-cta a{text-decoration:none;font-weight:800;display:flex;align-items:center;justify-content:center;gap:.4rem}.mobile-cta .mobile-call{background:#fff;color:var(--brand-deep)}.mobile-cta .mobile-book{background:var(--brand-dark);color:#fff}
body.site-2026 :focus-visible{outline:3px solid #f0b429!important;outline-offset:3px!important}
@media(max-width:1199.98px){.site-header .navbar-brand img{width:200px;height:50px}.site-header .navbar-collapse{padding:.8rem 0 1rem}.site-header .navbar-nav{align-items:stretch!important}.site-header .language-nav{margin:.6rem 0;border-left:0;padding-left:0}.site-header .btn-book{margin-left:0;margin-top:.35rem;width:100%}}
@media(max-width:767.98px){body.site-2026{font-size:16px;padding-bottom:58px!important}.site-header .navbar{min-height:68px}.site-header .navbar-brand img{width:176px;height:44px}.site-footer .footer-grid{grid-template-columns:1fr 1fr}.site-footer .footer-bottom{flex-direction:column}.mobile-cta{position:fixed;left:0;right:0;bottom:0;z-index:1060;height:58px;display:grid;grid-template-columns:1fr 1fr;box-shadow:0 -6px 20px rgba(23,56,79,.14)}body.site-2026 main.site-main>section:first-child,body.site-2026 main.site-main>.container:first-child,body.site-2026 main.site-main>main:first-child,body.site-2026 main.site-main>div:first-child{padding-top:2.2rem}}
@media(max-width:575.98px){.site-footer .footer-grid{grid-template-columns:1fr}.site-header .navbar-brand img{width:158px;height:40px}body.site-2026 main h1.page-title,body.site-2026 main.site-main h1:first-of-type{font-size:2.05rem}.site-footer{padding-top:3rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Korekta podwójnego paddingu pod nagłówkiem — 2026-07-25 */
body.site-2026 main.site-main{
  padding-top:clamp(1.35rem,2.2vw,2.25rem)!important;
}
body.site-2026 main.site-main>section:first-child,
body.site-2026 main.site-main>.container:first-child,
body.site-2026 main.site-main>main:first-child,
body.site-2026 main.site-main>div:first-child{
  padding-top:0!important;
  margin-top:0!important;
}
@media(max-width:767.98px){
  body.site-2026 main.site-main{padding-top:1rem!important}
}

/* Wersje językowe i linki powiązane — 2026-07-25 */
body.language-service-2026 main.site-main{background:linear-gradient(180deg,#eef7fe 0,#fff 360px)}
body.language-service-2026 .language-service-panel>.container{background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);padding:clamp(1.35rem,4vw,3rem)}
body.language-service-2026 .language-service-panel .text-center{text-align:left!important}
body.language-service-2026 .language-service-panel .col-lg-8{max-width:920px;margin-left:auto;margin-right:auto}
.related-services{margin:2.5rem auto 1rem;padding:1.35rem;border:1px solid var(--line);border-radius:16px;background:var(--soft);max-width:1140px}
.related-services h2{font-size:1.35rem!important;margin:0 0 .85rem!important}.related-services ul{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;list-style:none;padding:0;margin:0}.related-services a{display:block;background:#fff;border:1px solid var(--line);border-radius:10px;padding:.8rem .9rem;font-weight:750;text-decoration:none}
@media(max-width:767.98px){.related-services ul{grid-template-columns:1fr}body.language-service-2026 .language-service-panel>.container{border-radius:14px}}


/* Spójny komponent FAQ zgodny ze stroną główną — 2026-07-25 */
body.site-2026 .faq-section{background:var(--soft)!important;padding:clamp(4.2rem,8vw,7rem) 0!important;margin:clamp(2.5rem,5vw,4.5rem) 0 0!important}
body.site-2026 .faq-section>.container.narrow{max-width:900px;margin-left:auto;margin-right:auto}
body.site-2026 .faq-section .eyebrow{display:inline-block;color:var(--brand-dark);font-size:.79rem;text-transform:uppercase;letter-spacing:.12em;font-weight:850;margin-bottom:.45rem}
body.site-2026 .faq-section h2{font-size:clamp(1.9rem,4vw,3rem)!important;line-height:1.16!important;letter-spacing:-.03em!important;margin:.5rem 0 1.7rem!important;color:#173f5b!important}
body.site-2026 .faq-list{display:grid;gap:.8rem}
body.site-2026 .faq-list details{background:#fff!important;border:1px solid var(--line)!important;border-radius:12px!important;margin:0!important;overflow:hidden;box-shadow:none!important}
body.site-2026 .faq-list summary{cursor:pointer;padding:1rem 1.15rem!important;font-weight:800!important;color:#173f5b!important;line-height:1.4;list-style-position:inside}
body.site-2026 .faq-list details[open] summary{border-bottom:1px solid var(--line);background:#fafdff}
body.site-2026 .faq-list details>p{padding:1rem 1.15rem 1.15rem!important;margin:0!important;color:var(--muted);max-width:none!important}
@media(max-width:767.98px){body.site-2026 .faq-section{padding:3.2rem 0!important}body.site-2026 .faq-section h2{font-size:2rem!important}}

/* Korekta układu artykułu cenowego i pozostałości starych stopek — 2026-07-25 */
body.site-2026 .article-section{
  padding:0 0 clamp(2.5rem,5vw,4.5rem)!important;
  margin:0!important;
  background:transparent;
}
body.site-2026 .article-section>.article-container{
  max-width:1120px;
}
body.site-2026 .blog-article{
  background:#fff;
  border:1px solid var(--line);
  border-radius:22px;
  box-shadow:var(--shadow);
  padding:clamp(1.4rem,4vw,3rem);
  overflow:hidden;
}
body.site-2026 .blog-article>.article-header{
  margin-bottom:clamp(1.5rem,3vw,2.25rem);
}
body.site-2026 .blog-article .lead{
  max-width:82ch;
  color:#405e72;
  font-size:clamp(1.05rem,1.8vw,1.22rem);
  line-height:1.68;
}
body.site-2026 .blog-article>section{
  margin-top:clamp(2rem,4vw,3.25rem);
}
body.site-2026 .blog-article .article-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.7rem;
  max-width:none;
  margin-top:1.35rem;
}
body.site-2026 .blog-article .article-actions .btn{
  margin:0;
}
body.site-2026 .blog-article .table-responsive{
  border:1px solid var(--line);
  border-radius:14px;
  overflow-x:auto;
  margin:1.35rem 0 2rem;
  background:#fff;
}
body.site-2026 .blog-article .table-responsive table{
  min-width:720px;
  margin-bottom:0;
}
body.site-2026 .blog-article .table-responsive thead th{
  background:var(--soft);
  color:#173f5b;
  vertical-align:middle;
}
body.site-2026 .blog-article .row{
  row-gap:1.25rem;
}
body.site-2026 .footer-links{
  display:none!important;
}
@media(max-width:767.98px){
  body.site-2026 .blog-article{
    border-radius:16px;
    padding:1.2rem;
  }
  body.site-2026 .blog-article .article-actions{
    display:grid;
  }
  body.site-2026 .blog-article .article-actions .btn{
    width:100%;
  }
}

/* TYPOGRAPHY-ALIGNMENT-2026-07-25 */
/* Wspólna szerokość, łamanie nagłówków i wyrównanie tekstu artykułów. */
body.article-content-page main.site-main > section:not(.faq-section) > .container,
body.core-service-page main.site-main > section:not(.faq-section) > .container,
body.core-service-page main.site-main > .container {
  width: min(960px, calc(100% - 2rem));
  max-width: 960px !important;
  margin-inline: auto;
  padding-inline: clamp(.15rem, 1vw, .75rem) !important;
}
body.article-content-page main.site-main > section:not(.faq-section) > .container > .row,
body.core-service-page main.site-main > section:not(.faq-section) > .container > .row {
  --bs-gutter-x: 0;
  margin-inline: 0 !important;
}
body.article-content-page main.site-main > section:not(.faq-section) > .container > .row > [class*="col-"],
body.core-service-page main.site-main > section:not(.faq-section) > .container > .row > [class*="col-"] {
  flex: 0 0 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  padding-inline: 0 !important;
}
body.article-content-page main.site-main > section:not(.faq-section) h1,
body.article-content-page main.site-main > section:not(.faq-section) h2,
body.article-content-page main.site-main > section:not(.faq-section) h3,
body.article-content-page main.site-main > section:not(.faq-section) h4,
body.core-service-page main.site-main > section:not(.faq-section) h1,
body.core-service-page main.site-main > section:not(.faq-section) h2,
body.core-service-page main.site-main > section:not(.faq-section) h3,
body.core-service-page main.site-main > section:not(.faq-section) h4 {
  width: 100%;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  text-align: left !important;
  overflow-wrap: anywhere;
  word-break: normal;
  hyphens: auto;
  text-wrap: pretty;
}
body.article-content-page main.site-main > section:not(.faq-section) p,
body.article-content-page main.site-main > section:not(.faq-section) li,
body.article-content-page main.site-main > section:not(.faq-section) blockquote,
body.article-content-page main.site-main > section:not(.faq-section) figcaption,
body.core-service-page main.site-main > section:not(.faq-section) p,
body.core-service-page main.site-main > section:not(.faq-section) li,
body.core-service-page main.site-main > section:not(.faq-section) blockquote,
body.core-service-page main.site-main > section:not(.faq-section) figcaption {
  width: 100%;
  max-width: 100% !important;
  text-align: justify !important;
  text-justify: inter-word;
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: auto;
}
body.article-content-page main.site-main > section:not(.faq-section) a,
body.core-service-page main.site-main > section:not(.faq-section) a {
  overflow-wrap: anywhere;
}
body.article-content-page main.site-main > section:not(.faq-section) img,
body.article-content-page main.site-main > section:not(.faq-section) video,
body.article-content-page main.site-main > section:not(.faq-section) iframe,
body.core-service-page main.site-main > section:not(.faq-section) img,
body.core-service-page main.site-main > section:not(.faq-section) video,
body.core-service-page main.site-main > section:not(.faq-section) iframe {
  max-width: 100% !important;
}
body.article-content-page main.site-main > section:not(.faq-section) .table-responsive,
body.core-service-page main.site-main > section:not(.faq-section) .table-responsive {
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
body.article-content-page .article-copy-2026,
body.core-service-page .service-copy-2026 {
  min-width: 0;
  max-width: 100%;
}
body.article-content-page .related-services {
  width: min(960px, calc(100% - 2rem));
  max-width: 960px;
  margin: 2rem auto 0;
}
body.core-service-page .service-breadcrumb {
  width: 100%;
  max-width: 100%;
  margin: 0 0 1.15rem;
}
body.core-service-page .service-breadcrumb .breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
  align-items: center;
  margin: 0;
  padding: 0;
  background: transparent;
  color: var(--muted);
  font-size: .9rem;
}
body.core-service-page .service-breadcrumb .breadcrumb-item + .breadcrumb-item::before {
  color: #7d93a3;
}
body.core-service-page .service-breadcrumb a {
  color: var(--brand-dark);
  text-decoration: none;
}
body.core-service-page .service-breadcrumb a:hover,
body.core-service-page .service-breadcrumb a:focus {
  text-decoration: underline;
}
body.core-service-page main.site-main .service-intro-lead {
  width: 100%;
  max-width: 82ch !important;
  margin: 0 0 1.5rem;
  color: #405e72;
  font-size: 18px !important;
  line-height: 1.8 !important;
  font-weight: 400;
  text-align: justify !important;
  text-justify: inter-word;
  hyphens: auto;
}
@media (max-width: 575.98px) {
  body.article-content-page main.site-main > section:not(.faq-section) > .container,
  body.core-service-page main.site-main > section:not(.faq-section) > .container,
  body.core-service-page main.site-main > .container,
  body.article-content-page .related-services {
    width: min(100% - 1.15rem, 960px);
    padding-inline: 0 !important;
  }
  body.article-content-page main.site-main > section:not(.faq-section) h1,
  body.core-service-page main.site-main > section:not(.faq-section) h1 {
    font-size: clamp(1.9rem, 9vw, 2.45rem) !important;
    line-height: 1.12 !important;
    letter-spacing: -.025em !important;
  }
  body.article-content-page main.site-main > section:not(.faq-section) h2,
  body.core-service-page main.site-main > section:not(.faq-section) h2 {
    font-size: clamp(1.45rem, 7vw, 1.95rem) !important;
    line-height: 1.2 !important;
  }
  body.core-service-page main.site-main .service-intro-lead {
    font-size: 17px !important;
    line-height: 1.72 !important;
  }
}
/* Nawigacja responsywna i szerokość menu — 2026-07-25 */
@media (max-width:1399.98px){
  .site-header .navbar-collapse{
    width:100%;
    max-height:calc(100vh - 78px);
    overflow-y:auto;
    overflow-x:hidden;
    padding:.9rem 0 1.15rem;
    overscroll-behavior:contain;
  }
  .site-header .navbar-nav{align-items:stretch!important;width:100%;}
  .site-header .nav-link{width:100%;white-space:normal;padding:.72rem .75rem!important;}
  .site-header .language-nav{margin:.65rem 0;border-left:0;padding-left:0;justify-content:flex-start;}
  .site-header .btn-book{width:100%;max-width:none;margin:.35rem 0 0;}
}
@media (min-width:1400px){
  .site-header .navbar-collapse{min-width:0;gap:.45rem;}
  .site-header .navbar-nav{min-width:0;}
  .site-header .nav-link{font-size:.86rem;padding:.58rem .46rem!important;}
  .site-header .language-nav{margin-left:.35rem;padding-left:.45rem;}
  .site-header .btn-book{margin-left:.2rem;min-width:128px;padding-left:.8rem;padding-right:.8rem;}
}
@media (max-width:575.98px){
  .site-header .navbar>.container-fluid{padding-left:.75rem;padding-right:.75rem;}
  .site-header .navbar-toggler{flex:0 0 auto;}
  .site-header .navbar-collapse{max-height:calc(100vh - 68px);}
}

/* Spójny układ strony okularów progresywnych zgodny z doborem okularów */
.progressive-article-page{padding-bottom:50px;}
.progressive-article-page>.progressive-article-intro{padding-top:clamp(2.3rem,5vw,4.6rem)!important;}
.progressive-article-page .service-copy-2026{max-width:960px;margin-left:auto;margin-right:auto;}
.progressive-article-page h1{font-weight:700;line-height:1.25;margin:15px 0 22px;}
.progressive-article-page h2{font-weight:700;line-height:1.35;margin:52px 0 18px;padding-bottom:9px;}
.progressive-article-page h3{font-weight:700;font-size:22px;line-height:1.4;margin:30px 0 12px;}
.progressive-article-page p,.progressive-article-page li{font-size:16px;}
.progressive-article-page .service-intro-lead{font-size:18px!important;line-height:1.8;}
.progressive-article-page .hero-card{border:1px solid #d7e8f5;border-radius:12px;padding:27px;margin-bottom:28px;background:#fff;box-shadow:0 8px 26px rgba(23,56,79,.055);}
.progressive-article-page .hero-card .btn-primary{font-weight:700;padding:12px 18px;text-decoration:none;}
.progressive-article-page .summary-box{border-left:5px solid var(--brand);padding:22px 24px;margin:30px 0;background:var(--soft);border-radius:0 12px 12px 0;}
.progressive-article-page .summary-box h2{margin-top:0;border:0;padding:0;font-size:25px;}
.progressive-article-page .summary-box ul{margin-bottom:0;padding-left:20px;}
.progressive-article-page img{max-width:100%;height:auto;}
.progressive-article-page .table-responsive{border:1px solid var(--line);border-radius:8px;margin:22px 0;}
@media (max-width:767.98px){
  .progressive-article-page>.progressive-article-intro{padding-top:2.2rem!important;}
  .progressive-article-page h1{font-size:30px;}
  .progressive-article-page .service-intro-lead{font-size:17px!important;}
  .progressive-article-page .hero-card{padding:20px;}
}

/* Ta sama szerokość kolumny co na stronie dobor-okularow.html */
@media (min-width:992px){
  body.core-service-page main.progressive-article-page>section:not(.faq-section)>.container{
    width:min(984px,calc(100% - 2rem))!important;
    max-width:984px!important;
  }
  body.core-service-page main.progressive-article-page>section:not(.faq-section)>.container>.row>.service-copy-2026{
    flex:0 0 83.333333%!important;
    width:83.333333%!important;
    max-width:83.333333%!important;
    margin-left:8.333333%!important;
  }
}

/* Powiązane artykuły nie mogą poszerzać strony */
body.article-content-page .related-articles{
  width:min(960px,calc(100% - 2rem));
  max-width:960px;
  margin:2rem auto 0;
}
body.article-content-page .related-articles>.row{
  --bs-gutter-x:1.5rem;
  margin-left:calc(-.5 * var(--bs-gutter-x));
  margin-right:calc(-.5 * var(--bs-gutter-x));
}


/* Ostateczna korekta: stały nagłówek i bezkolizyjna nawigacja — 2026-07-25 */
:root{--site-header-height:82px;}
html{scroll-padding-top:calc(var(--site-header-height) + 16px);}
body,body.site-2026{padding-top:var(--site-header-height)!important;}
.site-header{
  position:fixed!important;
  top:0!important;
  left:0;
  right:0;
  width:100%;
  z-index:1085!important;
}
.site-header .navbar{min-height:var(--site-header-height);}
.site-header .navbar>.container-fluid{
  width:100%;
  max-width:none!important;
  padding-left:clamp(.75rem,1.6vw,1.75rem);
  padding-right:clamp(.75rem,1.6vw,1.75rem);
}
.site-header .navbar-collapse,.site-header .navbar-nav{min-width:0;}
.site-header .language-nav,.site-header .btn-book{flex:0 0 auto;}

/* Do 1499 px menu jest zwijane. Zapobiega to nachodzeniu Kontaktu,
   wersji językowych i przycisku rezerwacji na laptopach. */
@media (max-width:1499.98px){
  .site-header .navbar-expand-xxl{flex-wrap:wrap;}
  .site-header .navbar-expand-xxl .navbar-toggler{display:block;}
  .site-header .navbar-expand-xxl .navbar-collapse{
    display:none!important;
    flex-basis:100%;
    width:100%;
    align-items:stretch;
    max-height:calc(100vh - var(--site-header-height));
    overflow-y:auto;
    overflow-x:hidden;
    padding:.8rem 0 1rem;
    background:#fff;
    overscroll-behavior:contain;
  }
  .site-header .navbar-expand-xxl .navbar-collapse.show,
  .site-header .navbar-expand-xxl .navbar-collapse.collapsing{display:block!important;}
  .site-header .navbar-expand-xxl .navbar-nav{
    flex-direction:column;
    width:100%;
    align-items:stretch!important;
  }
  .site-header .nav-link{
    display:block;
    width:100%;
    white-space:normal!important;
    padding:.72rem .75rem!important;
  }
  .site-header .language-nav{
    width:100%;
    margin:.65rem 0 0;
    padding:.65rem 0 0;
    border-left:0;
    border-top:1px solid var(--line);
    justify-content:flex-start;
  }
  .site-header .btn-book{
    width:100%;
    max-width:none;
    margin:.55rem 0 0;
  }
}

/* Pełne menu poziome tylko wtedy, gdy rzeczywiście mieści się w nagłówku. */
@media (min-width:1500px){
  .site-header .navbar-expand-xxl{flex-wrap:nowrap;}
  .site-header .navbar-expand-xxl .navbar-toggler{display:none;}
  .site-header .navbar-expand-xxl .navbar-collapse{
    display:flex!important;
    flex-basis:auto;
    align-items:center;
    flex-wrap:nowrap;
    gap:.3rem;
    overflow:visible;
    padding:0;
  }
  .site-header .navbar-expand-xxl .navbar-nav{
    flex-direction:row;
    flex:1 1 auto;
    justify-content:flex-end;
    align-items:center!important;
    flex-wrap:nowrap;
    gap:0;
  }
  .site-header .navbar-brand{margin-right:.65rem;}
  .site-header .navbar-brand img{width:200px;height:50px;}
  .site-header .nav-link{
    font-size:.80rem;
    padding:.55rem .31rem!important;
    white-space:nowrap!important;
  }
  .site-header .language-nav{margin-left:.2rem;padding-left:.35rem;}
  .site-header .language-nav a{min-width:29px;padding:0 .25rem;}
  .site-header .btn-book{
    min-width:118px;
    margin-left:.15rem;
    padding-left:.65rem;
    padding-right:.65rem;
    font-size:.92rem;
  }
}
@media (min-width:1750px){
  .site-header .navbar-brand img{width:220px;height:55px;}
  .site-header .nav-link{font-size:.88rem;padding:.58rem .48rem!important;}
  .site-header .language-nav{margin-left:.35rem;padding-left:.55rem;}
  .site-header .btn-book{min-width:132px;padding-left:1rem;padding-right:1rem;font-size:1rem;}
}
@media (max-width:575.98px){
  :root{--site-header-height:69px;}
  .site-header .navbar-collapse{max-height:calc(100vh - var(--site-header-height));}
}
