@charset "UTF-8";
/*!
Theme Name: Core Theme VX
Theme URI: http://underscores.me/
Author: BSW
Author URI: http://underscores.me/
Description: Modular Core Theme for PBNs
Version: 1.0.0
Tested up to: 6.4
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: core-vx
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

Core Theme VX is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/
/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Layout Engine & Blocks (@use must come first)
--------------------------------------------------------------*/
/**
 * Design Tokens for Core Theme VX
 */
.site-header, .header-layout {
  background-color: #0f2f5c !important;
}
.site-header .site-title a,
.site-header .site-description,
.site-header .main-navigation ul li a, .header-layout .site-title a,
.header-layout .site-description,
.header-layout .main-navigation ul li a {
  color: #ffffff !important;
}
.site-header .site-title a:hover,
.site-header .site-description:hover,
.site-header .main-navigation ul li a:hover, .header-layout .site-title a:hover,
.header-layout .site-description:hover,
.header-layout .main-navigation ul li a:hover {
  color: #fbbf24 !important;
}
.site-header .menu-toggle, .header-layout .menu-toggle {
  color: #ffffff;
}

.site-footer, .footer-layout, .site-footer-wrapper {
  background-color: #0b2545 !important;
  color: #ffffff !important;
  border-top: none !important;
}
.site-footer h1, .site-footer h2, .site-footer h3, .site-footer h4, .site-footer h5, .site-footer h6, .site-footer .widget-title, .site-footer p, .footer-layout h1, .footer-layout h2, .footer-layout h3, .footer-layout h4, .footer-layout h5, .footer-layout h6, .footer-layout .widget-title, .footer-layout p, .site-footer-wrapper h1, .site-footer-wrapper h2, .site-footer-wrapper h3, .site-footer-wrapper h4, .site-footer-wrapper h5, .site-footer-wrapper h6, .site-footer-wrapper .widget-title, .site-footer-wrapper p {
  color: #ffffff !important;
}
.site-footer a, .footer-layout a, .site-footer-wrapper a {
  color: #fbbf24 !important;
}
.site-footer a:hover, .footer-layout a:hover, .site-footer-wrapper a:hover {
  color: #fce72b !important;
}
.site-footer .site-info, .footer-layout .site-info, .site-footer-wrapper .site-info {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

:root {
  --pbn-active-pack: 14;
}

/**
 * Design Tokens for Core Theme VX
 */
/**
 * Container Layouts for Core Theme VX
 */
.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.boxed-container {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.alignwide {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: 2rem;
  padding-right: 2rem;
}

.layout-narrow .boxed-container,
.layout-narrow .alignwide,
.layout-narrow .alignnone {
  max-width: 1200px;
}

.layout-normal .boxed-container,
.layout-normal .alignwide,
.layout-normal .alignnone {
  max-width: 1400px;
}

.layout-wide .boxed-container,
.layout-wide .alignwide,
.layout-wide .alignnone {
  max-width: 1600px;
}

.alignfull {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  width: 100vw;
  max-width: 100vw;
}

.alignnone {
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
}

.grid-box {
  display: grid;
}
.grid-box.gap-30 {
  gap: 30px;
}
.grid-box.gap-40 {
  gap: 40px;
}
.grid-box.gap-20 {
  gap: 20px;
}
.grid-box.grid-3 {
  grid-template-columns: 1fr;
}
@media (min-width: 768px) {
  .grid-box.grid-3 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1024px) {
  .grid-box.grid-3 {
    grid-template-columns: repeat(3, 1fr);
  }
}
.grid-box.grid-4 {
  grid-template-columns: 1fr;
}
@media (min-width: 576px) {
  .grid-box.grid-4 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 992px) {
  .grid-box.grid-4 {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media (max-width: 768px) {
  .grid-box {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
.grid-box.grid-2 {
  grid-template-columns: 1fr;
}
@media (min-width: 992px) {
  .grid-box.grid-2 {
    grid-template-columns: repeat(2, 1fr);
  }
}

.row {
  display: flex;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px;
}

[class*=col-] {
  position: relative;
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
}

@media (min-width: 992px) {
  .col-lg-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-lg-8 {
    flex: 0 0 66.666667%;
    max-width: 66.666667%;
  }
  .col-lg-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-lg-4 {
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
  }
  .col-lg-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
}
/**
 * Design Tokens for Core Theme VX
 */
.site-header, .header-layout {
  background-color: #0f2f5c !important;
}

.site-header .site-title a,
.site-header .site-description,
.site-header .main-navigation ul li a, .header-layout .site-title a,
.header-layout .site-description,
.header-layout .main-navigation ul li a {
  color: #ffffff !important;
}

.site-header .site-title a:hover,
.site-header .site-description:hover,
.site-header .main-navigation ul li a:hover, .header-layout .site-title a:hover,
.header-layout .site-description:hover,
.header-layout .main-navigation ul li a:hover {
  color: #fbbf24 !important;
}

.site-header .menu-toggle, .header-layout .menu-toggle {
  color: #ffffff;
}

.site-footer, .footer-layout, .site-footer-wrapper {
  background-color: #0b2545 !important;
  color: #ffffff !important;
  border-top: none !important;
}

.site-footer h1, .site-footer h2, .site-footer h3, .site-footer h4, .site-footer h5, .site-footer h6, .site-footer .widget-title, .site-footer p, .footer-layout h1, .footer-layout h2, .footer-layout h3, .footer-layout h4, .footer-layout h5, .footer-layout h6, .footer-layout .widget-title, .footer-layout p, .site-footer-wrapper h1, .site-footer-wrapper h2, .site-footer-wrapper h3, .site-footer-wrapper h4, .site-footer-wrapper h5, .site-footer-wrapper h6, .site-footer-wrapper .widget-title, .site-footer-wrapper p {
  color: #ffffff !important;
}

.site-footer a, .footer-layout a, .site-footer-wrapper a {
  color: #fbbf24 !important;
}

.site-footer a:hover, .footer-layout a:hover, .site-footer-wrapper a:hover {
  color: #fce72b !important;
}

.site-footer .site-info, .footer-layout .site-info, .site-footer-wrapper .site-info {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

:root {
  --pbn-active-pack: 14;
}

/**
 * Design Tokens for Core Theme VX
 */
/**
 * Universal Mobile Menu
 * ─────────────────────────────────────────────
 * RULE 1: Panel visibility = transform only (never display:none on ul)
 * RULE 2: Hamburger is a SIBLING of <nav>, never inside it
 * RULE 3: Overlay is a JS-injected <div#pbn-overlay>, not body::after
 */
body.pbn-menu-open .site-header {
  z-index: 10000 !important;
  position: relative;
}

.pbn-hamburger {
  display: none !important;
}
@media (max-width: 768px) {
  .pbn-hamburger {
    display: flex !important;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    background: none !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 8px;
    margin: 0;
    cursor: pointer;
    color: #0f2f5c;
    transition: color 0.25s ease;
    line-height: 0;
    -webkit-tap-highlight-color: transparent;
  }
  .pbn-hamburger svg {
    width: 28px;
    height: 28px;
    display: block;
    stroke: currentColor;
  }
  .pbn-hamburger svg path {
    stroke-width: 2.2;
  }
  .pbn-hamburger svg circle {
    fill: currentColor;
  }
  .pbn-hamburger:hover, .pbn-hamburger:focus {
    color: #0f2f5c;
    outline: none;
  }
}

#pbn-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
  z-index: 9990;
  cursor: pointer;
  backdrop-filter: blur(2px);
  opacity: 0;
  transition: opacity 0.3s ease;
}
#pbn-overlay.is-visible {
  display: block;
  opacity: 1;
}

@media (max-width: 768px) {
  body.pbn-menu-open {
    overflow: hidden;
  }
  .main-navigation {
    position: fixed !important;
    top: 0;
    right: 0;
    bottom: 0;
    width: 80%;
    max-width: 320px;
    background: #ffffff !important;
    z-index: 9991;
    transform: translateX(110%);
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    overflow-y: auto;
    overflow-x: hidden;
    display: flex !important;
    flex-direction: column;
    box-shadow: -10px 0 35px rgba(0, 0, 0, 0.2);
    border-left: 1px solid rgba(44, 66, 99, 0.05);
  }
  .main-navigation.toggled {
    transform: translateX(0);
  }
  .pbn-menu-close {
    display: flex !important;
    align-items: center;
    justify-content: flex-end;
    flex-shrink: 0;
    width: 100%;
    min-height: 60px;
    padding: 0 16px;
    background: none !important;
    border: none !important;
    border-bottom: 1px solid rgba(44, 66, 99, 0.08) !important;
    position: sticky;
    top: 0;
    z-index: 1;
    cursor: pointer;
    color: #738ba8;
    background-color: #ffffff !important;
    transition: color 0.2s;
    -webkit-tap-highlight-color: transparent;
  }
  .pbn-menu-close svg {
    width: 24px;
    height: 24px;
    display: block;
    stroke: currentColor;
  }
  .pbn-menu-close svg path {
    stroke-width: 2;
  }
  .pbn-menu-close:hover, .pbn-menu-close:focus {
    color: #0f2f5c;
    outline: none;
  }
  .main-navigation > ul.nav-menu,
  .main-navigation > ul {
    display: flex !important;
    flex-direction: column !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    flex: 1;
  }
  .main-navigation .nav-menu > li {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    border-bottom: 1px solid rgba(44, 66, 99, 0.07);
  }
  .main-navigation .nav-menu > li > a {
    flex: 1 1 auto;
    display: block;
    padding: 18px 24px;
    font-size: 1.05rem;
    font-weight: 700;
    color: #0f2f5c !important;
    text-decoration: none;
    transition: color 0.2s;
    line-height: 1.4;
  }
  .main-navigation .nav-menu > li > a:hover, .main-navigation .nav-menu > li > a:focus {
    color: #0f2f5c !important;
  }
  .main-navigation .nav-menu > li > .submenu-toggle {
    flex: 0 0 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: none !important;
    border: none !important;
    border-left: 1px solid rgba(44, 66, 99, 0.07) !important;
    cursor: pointer;
    color: #738ba8;
    padding: 0;
    transition: background-color 0.2s, color 0.2s;
    -webkit-tap-highlight-color: transparent;
  }
  .main-navigation .nav-menu > li > .submenu-toggle svg {
    width: 18px;
    height: 18px;
    display: block;
    stroke: currentColor;
    transition: transform 0.28s ease;
  }
  .main-navigation .nav-menu > li > .submenu-toggle[aria-expanded=true] {
    color: #ffffff;
    background-color: #0f2f5c !important;
    border-left-color: #0f2f5c !important;
  }
  .main-navigation .nav-menu > li > .submenu-toggle[aria-expanded=true] svg {
    transform: rotate(180deg);
  }
  .main-navigation .nav-menu > li > .submenu-toggle:hover {
    color: #0f2f5c;
    outline: none;
  }
  .main-navigation .nav-menu > li > .submenu-toggle:focus {
    outline: none;
  }
  .main-navigation .nav-menu > li.is-open > a {
    color: #0f2f5c !important;
  }
  .main-navigation .nav-menu > li > ul.sub-menu {
    display: none;
    flex-direction: column;
    width: 100%;
    background-color: #0f2f5c;
    padding: 4px 0;
    order: 999;
  }
  .main-navigation .nav-menu > li > ul.sub-menu li {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    border-bottom: 1px solid rgba(255, 255, 255, 0.07);
  }
  .main-navigation .nav-menu > li > ul.sub-menu li:last-child {
    border-bottom: none;
  }
  .main-navigation .nav-menu > li > ul.sub-menu li > a {
    flex: 1;
    display: block;
    padding: 13px 20px 13px 28px;
    font-size: 0.92rem;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.9) !important;
    text-decoration: none;
  }
  .main-navigation .nav-menu > li > ul.sub-menu li > a:hover {
    color: #fff !important;
    background: rgba(255, 255, 255, 0.08);
  }
  .main-navigation .nav-menu > li > ul.sub-menu li > .submenu-toggle {
    flex: 0 0 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: none !important;
    border: none !important;
    border-left: 1px solid rgba(255, 255, 255, 0.12) !important;
    cursor: pointer;
    color: rgba(255, 255, 255, 0.7);
    padding: 0;
  }
  .main-navigation .nav-menu > li > ul.sub-menu li > .submenu-toggle svg {
    width: 16px;
    height: 16px;
    stroke: currentColor;
    transition: transform 0.25s;
  }
  .main-navigation .nav-menu > li > ul.sub-menu li > .submenu-toggle[aria-expanded=true] svg {
    transform: rotate(180deg);
  }
  .main-navigation .nav-menu > li > ul.sub-menu li > .submenu-toggle:hover, .main-navigation .nav-menu > li > ul.sub-menu li > .submenu-toggle:focus {
    color: #fff;
    outline: none;
  }
  .main-navigation .nav-menu > li > ul.sub-menu .sub-menu {
    background: rgba(0, 0, 0, 0.18);
    width: 100%;
  }
  .main-navigation .nav-menu > li > ul.sub-menu .sub-menu li > a {
    padding-left: 40px;
    font-size: 0.87rem;
  }
  .main-navigation li.is-open > ul.sub-menu {
    display: flex !important;
  }
  .header-layout--1 .header-container {
    display: flex !important;
    justify-content: space-between;
    align-items: center;
    padding: 12px 20px !important;
  }
  .header-layout--2 .site-branding-mobile-bar {
    display: flex !important;
    justify-content: space-between;
    align-items: center;
    padding: 12px 20px;
  }
  .header-layout--2 .header-navigation-wrapper {
    display: none !important;
  }
  .header-layout--2 .site-branding {
    margin-bottom: 0 !important;
    text-align: left;
  }
  .header-layout--3 .header-container {
    display: flex !important;
    justify-content: space-between;
    align-items: center;
    padding: 12px 20px !important;
  }
  .header-layout--3 .header-container .header-actions {
    display: flex !important;
    align-items: center;
    gap: 8px;
  }
  .header-layout--3 .header-container .hidden-mobile {
    display: none !important;
  }
  .header-layout--4 .header-container {
    display: flex !important;
    justify-content: space-between;
    align-items: center;
    padding: 12px 20px !important;
  }
  .header-layout--4 .header-container .desktop-only {
    display: none !important;
  }
  .header-layout--5 .header-container {
    display: flex !important;
    justify-content: space-between;
    align-items: center;
    padding: 12px 20px !important;
    flex-direction: row !important;
    height: auto !important;
  }
  .header-layout--5 .header-container .header-actions {
    display: none !important;
  }
  .header-layout--6 .site-branding-mobile-bar {
    display: flex !important;
    justify-content: space-between;
    align-items: center;
    padding: 12px 20px;
  }
  .header-layout--6 .site-branding {
    text-align: left !important;
    margin-bottom: 0 !important;
  }
  .site-branding {
    flex-shrink: 0;
  }
}
@media (min-width: 769px) {
  .pbn-hamburger {
    display: none !important;
  }
  .pbn-menu-close {
    display: none !important;
  }
  .site-branding-mobile-bar {
    display: contents !important;
  }
  #pbn-overlay {
    display: none !important;
  }
}
.header-layout {
  background: #ffffff;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
  position: relative;
  z-index: 100;
}
.header-layout .site-branding h2,
.header-layout .site-branding h3,
.header-layout .site-branding h4,
.header-layout .site-branding h5,
.header-layout .site-branding h6 {
  color: #0f2f5c;
  font-family: var(--font-primary);
  font-weight: 700;
  margin-top: 40px;
  margin-bottom: 20px;
}
@media (max-width: 768px) {
  .header-layout .site-branding {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.header-layout .site-branding .site-title {
  font-size: 1.8rem;
  margin: 0;
  font-family: var(--font-primary);
  font-weight: 800;
}
.header-layout .site-branding .site-title a {
  color: #0f2f5c;
  text-decoration: none;
}
.header-layout .site-branding .site-description {
  font-size: 0.85rem;
  color: rgba(44, 66, 99, 0.6);
  margin: 5px 0 0;
}
.header-layout .site-branding img.custom-logo {
  max-height: 50px;
  width: auto;
}
.header-layout .main-navigation ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 20px;
}
.header-layout .main-navigation ul li a {
  display: block;
  padding: 10px 0;
  color: #0f2f5c;
  font-weight: 600;
  text-decoration: none;
  text-transform: uppercase;
  font-size: 0.9rem;
  transition: color 0.3s ease;
}
.header-layout .main-navigation ul li a:hover {
  color: #0f2f5c;
}
.header-layout .main-navigation .menu-toggle {
  display: none;
}
.header-layout--1 {
  padding: 20px 0;
}
.header-layout--1 .header-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.header-layout--2 {
  padding-top: 30px;
}
.header-layout--2 .site-branding {
  margin-bottom: 20px;
  text-align: center;
}
.header-layout--2 .site-branding img.custom-logo {
  max-height: 80px;
  margin: 0 auto;
}
.header-layout--2 .header-navigation-wrapper {
  border-top: 1px solid rgba(44, 66, 99, 0.1);
  background: rgba(44, 66, 99, 0.02);
}
.header-layout--2 .header-navigation-wrapper .main-navigation ul {
  justify-content: center;
}
.header-layout--2 .header-navigation-wrapper .main-navigation ul li a {
  padding: 15px 10px;
}
.header-layout--3 .header-topbar {
  background: #0f2f5c;
  color: #ffffff;
  padding: 10px 0;
  font-size: 0.85rem;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.header-layout--3 .header-container {
  padding: 20px 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.header-layout--3 .header-actions {
  display: flex;
  align-items: center;
  gap: 30px;
}
.header-layout--4 {
  border-bottom: 1px solid #e2e8f0;
}
@media (min-width: 1024px) {
  .header-layout--4 .header-container {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    padding: 20px 0;
  }
  .header-layout--4 .mobile-only {
    display: none !important;
  }
  .header-layout--4 .desktop-only {
    display: block;
  }
  .header-layout--4 .main-navigation {
    grid-column: 2;
  }
  .header-layout--4 .main-navigation ul {
    display: flex;
    align-items: center;
    gap: 30px;
  }
  .header-layout--4 .header-actions {
    grid-column: 3;
    justify-self: end;
  }
  .header-layout--4 .split-nav-logo {
    margin: 0 40px;
    text-align: center;
  }
  .header-layout--4 .split-nav-logo img.custom-logo {
    max-height: 60px;
    width: auto !important;
  }
}
@media (max-width: 1023px) {
  .header-layout--4 .desktop-only {
    display: none !important;
  }
  .header-layout--4 .header-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 0;
  }
}
.header-layout--5 {
  background: #ffffff;
  border-right: 1px solid #e2e8f0;
}
@media (min-width: 1200px) {
  .header-layout--5 {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    width: 300px;
    height: 100vh;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    z-index: 999;
  }
  .header-layout--5 .header-container {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 40px 30px;
  }
  .header-layout--5 .site-branding {
    margin-bottom: 50px;
    text-align: left;
  }
  .header-layout--5 .main-navigation {
    flex-grow: 1;
  }
  .header-layout--5 .main-navigation ul {
    flex-direction: column;
    gap: 15px;
  }
  .header-layout--5 .main-navigation ul li a {
    padding: 12px 15px;
    border-radius: 8px;
  }
  .header-layout--5 .main-navigation ul li a:hover {
    background: rgba(15, 47, 92, 0.05);
    color: #0f2f5c;
  }
  .header-layout--5 .header-actions {
    margin-top: 50px;
  }
  .header-layout--5 .header-actions .btn {
    width: 100%;
    text-align: center;
  }
}
@media (max-width: 1023px) {
  .header-layout--5 {
    padding: 15px 0;
  }
  .header-layout--5 .header-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .header-layout--5 .header-actions {
    display: none;
  }
}
.header-layout--6 {
  border-bottom: 1px solid #e2e8f0;
  padding-top: 30px;
  transition: box-shadow 0.3s ease;
}
.header-layout--6.is-sticky {
  position: sticky;
  top: 0;
  box-shadow: 0 4px 15px rgba(44, 66, 99, 0.05);
}
.header-layout--6 .site-branding {
  margin-bottom: 25px;
}
.header-layout--6 .site-branding img.custom-logo {
  max-height: 70px;
  margin: 0 auto;
  display: block;
}
.header-layout--6 .main-navigation {
  margin-bottom: 20px;
}
.header-layout--6 .main-navigation ul {
  justify-content: center;
}
.header-layout--6 .main-navigation ul li a {
  padding: 5px 10px;
}
@media (max-width: 1023px) {
  .header-layout--6 {
    padding-top: 15px;
    padding-bottom: 15px;
  }
  .header-layout--6 .header-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .header-layout--6 .site-branding {
    margin-bottom: 0;
    text-align: left;
  }
  .header-layout--6 .site-branding img.custom-logo {
    max-height: 40px;
    margin: 0;
  }
  .header-layout--6 .main-navigation {
    margin-bottom: 0;
  }
}

body.has-sticky-menu #masthead.is-scrolled {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  animation: slideDown 0.3s ease-out forwards;
  box-shadow: 0 4px 15px rgba(44, 66, 99, 0.1);
  z-index: 1000;
}
body.has-sticky-menu #masthead.is-scrolled .header-topbar {
  display: none !important;
}
body.has-sticky-menu #masthead.is-scrolled.header-layout--2 .site-branding, body.has-sticky-menu #masthead.is-scrolled.header-layout--6 .site-branding {
  display: none !important;
}

@keyframes slideDown {
  from {
    transform: translateY(-100%);
  }
  to {
    transform: translateY(0);
  }
}
.reading-progress-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px; /* grubosc paska wg zalecen z zadania */
  background: transparent;
  z-index: 1001; /* Zawsze nad sticky header */
}

body.has-sticky-menu .reading-progress-container {
  /* Jesli klejony header istenieje nadajemy mu rel="absolute" w zaleznosci od jego rozmiaru, JS podpina go pod masthead */
  position: absolute;
  bottom: -4px;
  top: auto;
}

.reading-progress-bar {
  height: 100%;
  width: 0%;
  background-color: #0f2f5c; /* dostosowany do kolorystyki glownej - pakietu */
  transition: width 0.1s ease-out;
}

@media (min-width: 1200px) {
  body.pbn-header-layout-5 #page {
    padding-left: 300px; /* Offset na menu. .boxed-container będzie centrował wewnątrz pozostałego pudełka. */
    box-sizing: border-box;
  }
}

.footer-layout {
  background: var(--color-surface);
  color: var(--color-text);
  position: relative;
  border-top: 5px solid var(--color-primary);
}
.footer-layout a {
  color: var(--color-text);
  text-decoration: none;
  transition: color 0.3s ease;
}
.footer-layout a:hover {
  color: var(--color-primary);
}
.footer-layout .widget-title {
  color: var(--color-heading);
  font-size: 1.3rem;
  margin-top: 0;
  margin-bottom: 25px;
  font-family: var(--font-primary);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.footer-layout .footer-widgets {
  padding: 80px 0 50px;
}
.footer-layout .footer-widgets ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.footer-layout .footer-widgets ul li {
  margin-bottom: 12px;
  border-bottom: 1px solid var(--color-border);
  padding-bottom: 12px;
}
.footer-layout .footer-widgets ul li:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}
.footer-layout .footer-bottom {
  background: rgba(0, 0, 0, 0.2);
  padding: 30px 0;
  font-size: 0.9rem;
}
.footer-layout--1 {
  padding: 50px 0;
}
.footer-layout--1 .footer-logo img.custom-logo {
  margin: 0 auto;
  display: block;
}
.footer-layout--1 .footer-bottom {
  text-align: center;
}
.footer-layout--1 .site-info {
  text-align: center;
  display: block;
}
.footer-layout--1 .footer-simple-nav {
  margin-bottom: 30px;
}
.footer-layout--1 .footer-simple-nav ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  justify-content: center;
  gap: 20px;
}
.footer-layout--1 .footer-simple-nav ul li a {
  font-weight: 600;
  text-transform: uppercase;
  font-size: 0.85rem;
}
.footer-layout--2 .footer-bottom-flex, .footer-layout--3 .footer-bottom-flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media (max-width: 768px) {
  .footer-layout--2 .footer-bottom-flex, .footer-layout--3 .footer-bottom-flex {
    flex-direction: column;
    gap: 15px;
    text-align: center;
  }
}
.footer-layout--2 img.custom-logo, .footer-layout--3 img.custom-logo {
  height: auto;
  width: 100%;
  max-width: 300px;
  margin-bottom: 20px;
}
.footer-layout--3 img.custom-logo {
  filter: none;
}
.footer-layout--3 .footer-menu-links {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.footer-layout--3 .footer-menu-links .footer-menu-item {
  border-bottom: 1px solid var(--color-border);
  padding-bottom: 12px;
}
.footer-layout--3 .footer-menu-links .footer-menu-item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
.footer-layout--3 .widget_categories ul,
.footer-layout--3 .widget_nav_menu ul {
  list-style: none;
  /* Task 5: usuń punktory */
  padding-left: 0;
}
.footer-layout--4 .footer-bottom-flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media (max-width: 768px) {
  .footer-layout--4 .footer-bottom-flex {
    flex-direction: column;
    gap: 15px;
    text-align: center;
  }
}
.footer-layout--4 .footer-layout-4-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;
}
@media (max-width: 900px) {
  .footer-layout--4 .footer-layout-4-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 600px) {
  .footer-layout--4 .footer-layout-4-grid {
    grid-template-columns: 1fr;
  }
}
.footer-layout--4 img.custom-logo {
  filter: none;
  height: auto;
  width: 100%;
  margin-bottom: 20px;
}
.footer-layout--4 .footer-menu-links {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-bottom: 2rem !important;
}
@media (max-width: 768px) {
  .footer-layout .footer-col-2,
  .footer-layout .footer-col-3 {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

.single-layout {
  padding: 60px 1rem;
}
@media (max-width: 768px) {
  .single-layout {
    padding: 30px 1rem;
  }
}
.single-layout .single-header {
  margin-bottom: 40px;
}
.single-layout .single-header .single-title {
  font-size: 2.5rem;
  color: #0f2f5c;
  font-family: var(--font-primary);
  font-weight: 700;
  line-height: 1.3;
  margin: 0;
}
.single-layout .single-header .single-meta {
  font-size: 0.9rem;
  color: #0f2f5c;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 15px;
}
.single-layout .single-featured-image {
  margin-bottom: 50px;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 6px rgba(15, 47, 92, 0.05);
}
.single-layout .single-featured-image img {
  width: 100%;
  height: auto;
  display: block;
}
.single-layout--1 .single-featured-image img {
  aspect-ratio: 2/1;
  object-fit: cover;
}
.single-layout .single-content {
  font-size: 1.1rem;
  line-height: 1.8;
  color: #2c4263;
}
@media (max-width: 768px) {
  .single-layout .single-content {
    font-size: 1rem;
  }
}
.single-layout .single-content h2,
.single-layout .single-content h3,
.single-layout .single-content h4,
.single-layout .single-content h5,
.single-layout .single-content h6 {
  color: #0f2f5c;
  font-family: var(--font-primary);
  font-weight: 700;
  margin-top: 40px;
  margin-bottom: 20px;
}
@media (max-width: 768px) {
  .single-layout .single-content {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.single-layout .single-content p {
  margin-bottom: 25px;
}
.single-layout .single-content ul,
.single-layout .single-content ol {
  margin-bottom: 25px;
  padding-left: 20px;
}
.single-layout .single-content ul li,
.single-layout .single-content ol li {
  margin-bottom: 10px;
}
.single-layout .single-content blockquote {
  background: rgba(15, 47, 92, 0.05);
  border-left: 4px solid #0f2f5c;
  padding: 20px 30px;
  margin: 30px 0;
  font-style: italic;
  border-radius: 0 8px 8px 0;
}
.single-layout .single-footer {
  margin-top: 50px;
  padding-top: 30px;
  border-top: 1px solid rgba(44, 66, 99, 0.1);
}
.single-layout--1 .single-header {
  text-align: center;
}
.single-layout--1 .single-header .pbn-article-meta {
  justify-content: center;
}
.single-layout--1 {
  /* Center breadcrumbs globally inside this layout */
}
.single-layout--1 .pbn-breadcrumbs {
  text-align: center;
}
.single-layout--1 .single-content-wrapper {
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}
.single-layout--2 .single-content-wrapper {
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}
.single-layout--2 .single-hero {
  position: relative;
  background-size: cover;
  background-position: center;
  padding: 120px 0 150px;
  color: #ffffff;
}
.single-layout--2 .single-hero__overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(15, 47, 92, 0.55);
}
.single-layout--2 .single-hero__overlay::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.4);
}
.single-layout--2 .single-hero__content {
  position: relative;
  z-index: 2;
  text-align: center;
}
.single-layout--2 .single-hero__content .single-meta,
.single-layout--2 .single-hero__content .pbn-article-meta {
  color: #ffffff;
  justify-content: center;
}
.single-layout--2 .single-hero__content .single-meta strong,
.single-layout--2 .single-hero__content .single-meta .meta-label,
.single-layout--2 .single-hero__content .pbn-article-meta strong,
.single-layout--2 .single-hero__content .pbn-article-meta .meta-label {
  color: rgba(255, 255, 255, 0.8) !important;
}
.single-layout--2 .single-hero__content .single-meta a,
.single-layout--2 .single-hero__content .pbn-article-meta a {
  color: #ffffff;
}
.single-layout--2 .single-hero__content .single-meta a:hover,
.single-layout--2 .single-hero__content .pbn-article-meta a:hover {
  color: rgba(255, 255, 255, 0.7);
}
.single-layout--2 .single-hero__content .single-title {
  color: #ffffff;
  font-size: 3.5rem;
}
.single-layout--2 .single-hero__content .pbn-breadcrumbs {
  text-align: center;
}
.single-layout--2 .single-content-wrapper {
  background: var(--color-surface);
  position: relative;
  z-index: 5;
  margin-top: -100px;
  padding: 50px;
  border-radius: 8px;
  box-shadow: 0 2px 6px rgba(15, 47, 92, 0.05);
}
@media (max-width: 768px) {
  .single-layout--2 .single-content-wrapper {
    padding: 30px 20px;
    margin-top: -50px;
  }
}
@media (max-width: 991px) {
  .single-layout--3 .single-sidebar, .single-layout--4 .single-sidebar {
    margin-top: 50px;
    order: 3;
  }
}
.single-layout--3 .single-sidebar .widget, .single-layout--4 .single-sidebar .widget {
  background: #ffffff;
  padding: 30px;
  border-radius: 8px;
  box-shadow: 0 2px 6px rgba(15, 47, 92, 0.05);
  margin-bottom: 30px;
}
.single-layout--3 .single-sidebar .widget .widget-title, .single-layout--4 .single-sidebar .widget .widget-title {
  font-size: 1.2rem;
  margin-top: 0;
  margin-bottom: 20px;
  font-family: var(--font-primary);
  font-weight: 700;
  color: #0f2f5c;
}
.single-layout--3 .single-sidebar {
  padding-right: 30px;
}
@media (min-width: 992px) {
  .single-layout--3 .single-sidebar {
    order: 1;
  }
}
@media (max-width: 991px) {
  .single-layout--3 .single-sidebar {
    padding-right: 15px;
  }
}
@media (min-width: 992px) {
  .single-layout--3 .single-main {
    order: 2;
  }
}
.single-layout .single-sidebar {
  padding-left: 30px;
}
@media (max-width: 991px) {
  .single-layout .single-sidebar {
    padding-left: 15px;
  }
}
.single-layout--5 .single-hero-split, .single-layout--6 .single-hero-split {
  margin-bottom: 60px;
  background: rgba(15, 47, 92, 0.03);
  border-radius: 8px;
  overflow: hidden;
}
.single-layout--5 .single-hero-split .row, .single-layout--6 .single-hero-split .row {
  margin: 0;
}
.single-layout--5 .single-hero-split__content, .single-layout--6 .single-hero-split__content {
  padding: 50px;
}
@media (max-width: 991px) {
  .single-layout--5 .single-hero-split__content, .single-layout--6 .single-hero-split__content {
    padding: 30px 20px;
  }
}
.single-layout--5 .single-hero-split__content .single-title, .single-layout--6 .single-hero-split__content .single-title {
  font-size: 2.8rem;
  margin-top: 15px;
}
@media (max-width: 768px) {
  .single-layout--5 .single-hero-split__content .single-title, .single-layout--6 .single-hero-split__content .single-title {
    font-size: 2rem;
  }
}
.single-layout--5 .single-hero-split__image, .single-layout--6 .single-hero-split__image {
  padding: 0;
  display: flex;
  align-items: center;
}
.single-layout--5 .single-hero-split__image img,
.single-layout--5 .single-hero-split__image .image-placeholder, .single-layout--6 .single-hero-split__image img,
.single-layout--6 .single-hero-split__image .image-placeholder {
  width: 100%;
  height: auto;
  aspect-ratio: 4/3;
  object-fit: cover;
}
@media (max-width: 991px) {
  .single-layout--5 .single-body-split .single-sidebar--toc, .single-layout--6 .single-body-split .single-sidebar--toc {
    display: none;
  }
}
@media (min-width: 992px) {
  .single-layout--6 .single-hero-split__content {
    padding-left: 60px;
  }
}

.archive-layout {
  padding: 60px 0;
}
@media (max-width: 768px) {
  .archive-layout {
    padding: 30px 0;
  }
}
.archive-layout .archive-header {
  margin-bottom: 50px;
  padding-bottom: 30px;
  border-bottom: 2px solid rgba(15, 47, 92, 0.1);
}
.archive-layout .archive-header .archive-title {
  font-size: 2.5rem;
  color: #0f2f5c;
  font-family: var(--font-primary);
  font-weight: 700;
  margin-bottom: 15px;
}
.archive-layout .archive-header .archive-description {
  font-size: 1.1rem;
  color: rgba(44, 66, 99, 0.8);
  line-height: 1.6;
  width: 100%;
}
.archive-layout .archive-header .archive-description p {
  margin: 0;
}
.archive-layout .archive-header.text-center .archive-description {
  margin-left: auto;
  margin-right: auto;
}
.archive-layout .archive-pagination {
  margin-top: 50px;
}
.archive-layout--2 .archive-list {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
.archive-layout--2 .archive-list .list-item-full {
  display: flex;
  flex-direction: column;
  background: #ffffff;
  border: 1px solid rgba(44, 66, 99, 0.05);
}
.archive-layout--2 .archive-list .list-item-full__img {
  width: 100%;
  max-height: 400px;
  overflow: hidden;
}
.archive-layout--2 .archive-list .list-item-full__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.archive-layout--2 .archive-list .list-item-full__content {
  padding: 30px;
}
.archive-layout--2 .archive-list .list-item-full__meta {
  font-size: 0.85rem;
  color: #0f2f5c;
  margin-bottom: 15px;
  opacity: 0.8;
}
.archive-layout--2 .archive-list .list-item-full__title {
  font-size: 1.6rem;
  margin: 0 0 15px;
  line-height: 1.3;
}
.archive-layout--2 .archive-list .list-item-full__title a {
  color: #0f2f5c;
  text-decoration: none;
}
.archive-layout--2 .archive-list .list-item-full__title a:hover {
  color: #0f2f5c;
}
.archive-layout--2 .archive-list .list-item-full__excerpt {
  color: rgba(44, 66, 99, 0.8);
  font-size: 1rem;
  line-height: 1.6;
  margin-bottom: 25px;
}
.archive-layout--2 .archive-sidebar {
  padding-left: 30px;
}
@media (max-width: 991px) {
  .archive-layout--2 .archive-sidebar {
    padding-left: 15px;
    margin-top: 50px;
  }
}
.archive-layout--2 .archive-sidebar .widget {
  background: #ffffff;
  padding: 30px;
  border-radius: 8px;
  box-shadow: 0 2px 6px rgba(15, 47, 92, 0.05);
  margin-bottom: 30px;
}
.archive-layout--2 .archive-sidebar .widget .widget-title {
  font-size: 1.2rem;
  margin-top: 0;
  margin-bottom: 20px;
  font-family: var(--font-primary);
  font-weight: 700;
  color: #0f2f5c;
}
.archive-layout--3 .archive-grid {
  display: grid;
  gap: 20px;
}
.archive-layout--3 .card--compact {
  display: flex;
  flex-direction: row;
  align-items: center;
  background: #ffffff;
  border-radius: 8px;
  overflow: hidden;
}
@media (max-width: 768px) {
  .archive-layout--3 .card--compact {
    flex-direction: column;
  }
}
.archive-layout--3 .card--compact .card__image-link {
  flex: 0 0 200px;
  max-width: 200px;
  height: 100%;
  min-height: 150px;
}
@media (max-width: 768px) {
  .archive-layout--3 .card--compact .card__image-link {
    flex: auto;
    max-width: 100%;
    width: 100%;
    height: 200px;
  }
}
.archive-layout--3 .card--compact .card__image-link img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.archive-layout--3 .card--compact .card__content {
  padding: 20px 30px;
  flex: 1;
}
.archive-layout--3 .card--compact .card__title {
  font-size: 1.3rem;
  margin-bottom: 10px;
  line-height: 1.3;
}
.archive-layout--3 .card--compact .card__meta {
  margin-bottom: 15px;
}
.archive-layout--4 .archive-sidebar {
  padding-left: 30px;
}
@media (max-width: 991px) {
  .archive-layout--4 .archive-sidebar {
    padding-left: 15px;
    margin-top: 50px;
  }
}
.archive-layout--4 .archive-sidebar .widget {
  background: #ffffff;
  padding: 30px;
  border-radius: 8px;
  box-shadow: 0 2px 6px rgba(15, 47, 92, 0.05);
  margin-bottom: 30px;
}
.archive-layout--4 .archive-sidebar .widget .widget-title {
  font-size: 1.2rem;
  margin-top: 0;
  margin-bottom: 20px;
  font-family: var(--font-primary);
  font-weight: 700;
  color: #0f2f5c;
}

.home-layout--1 {
  display: flex;
  flex-direction: column;
  gap: 40px;
  padding: 60px 0;
}
@media (max-width: 768px) {
  .home-layout--1 {
    padding: 30px 0;
  }
}
.home-layout--1 .home-featured-posts {
  margin-bottom: 20px;
}
.home-layout--1 .card--featured {
  display: flex;
  flex-direction: column;
  border-radius: 8px;
  overflow: hidden;
  background: #ffffff;
}
.home-layout--1 .card--featured .card__image-link {
  display: block;
  width: 100%;
  height: 250px;
}
.home-layout--1 .card--featured .card__image-link img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}
.home-layout--1 .card--featured .card__image-link:hover img {
  transform: scale(1.05);
}
.home-layout--1 .card--featured .card__content {
  padding: 24px;
}
.home-layout--1 .card--featured .card__meta {
  font-size: 0.85rem;
  color: #0f2f5c;
  margin-bottom: 12px;
  opacity: 0.8;
  font-family: var(--font-primary);
}
.home-layout--1 .card--featured .card__title {
  font-size: 1.5rem;
  margin: 0;
  line-height: 1.3;
}
.home-layout--1 .card--featured .card__title a {
  color: #2c4263;
  text-decoration: none;
  transition: color 0.3s ease;
}
.home-layout--1 .card--featured .card__title a:hover {
  color: #0f2f5c;
}
.home-layout--1 .home-divider {
  border: none;
  border-top: 1px solid rgba(44, 66, 99, 0.1);
  margin: 0;
}
.home-layout--1 .home-posts-grid {
  margin-top: 20px;
}

.home-layout--2 {
  display: flex;
  flex-direction: column;
  padding: 60px 0;
}
@media (max-width: 768px) {
  .home-layout--2 {
    padding: 30px 0;
  }
}
.home-layout--2 .home-main-content .home-posts-list {
  display: flex;
  flex-direction: column;
  gap: 30px;
}
.home-layout--2 .home-main-content .list-item {
  display: flex;
  background: #ffffff;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid rgba(44, 66, 99, 0.05);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.home-layout--2 .home-main-content .list-item:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.1);
}
@media (max-width: 768px) {
  .home-layout--2 .home-main-content .list-item {
    flex-direction: column;
  }
}
.home-layout--2 .home-main-content .list-item .list-item__image {
  flex: 0 0 300px;
  max-width: 300px;
}
@media (max-width: 768px) {
  .home-layout--2 .home-main-content .list-item .list-item__image {
    flex: auto;
    max-width: 100%;
    height: 200px;
  }
}
.home-layout--2 .home-main-content .list-item .list-item__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.home-layout--2 .home-main-content .list-item .list-item__content {
  flex: 1;
  padding: 30px;
  display: flex;
  flex-direction: column;
}
.home-layout--2 .home-main-content .list-item .list-item__content .list-item__meta {
  font-size: 0.85rem;
  color: #0f2f5c;
  margin-bottom: 15px;
  opacity: 0.8;
  display: flex;
  align-items: center;
  gap: 8px;
}
.home-layout--2 .home-main-content .list-item .list-item__content .list-item__meta .avatar {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  object-fit: cover;
}
.home-layout--2 .home-main-content .list-item .list-item__content .list-item__title {
  font-size: 1.4rem;
  line-height: 1.3;
  margin: 0 0 15px 0;
}
.home-layout--2 .home-main-content .list-item .list-item__content .list-item__title a {
  color: #2c4263;
  text-decoration: none;
  transition: color 0.3s ease;
}
.home-layout--2 .home-main-content .list-item .list-item__content .list-item__title a:hover {
  color: #0f2f5c;
}
.home-layout--2 .home-main-content .list-item .list-item__content .list-item__excerpt {
  color: rgba(44, 66, 99, 0.8);
  font-size: 1rem;
  line-height: 1.6;
  margin-bottom: 20px;
  flex-grow: 1;
}
.home-layout--2 .home-main-content .list-item .list-item__content .list-item__footer {
  margin-top: auto;
}
.home-layout--2 .home-sidebar {
  padding-left: 30px;
}
@media (max-width: 991px) {
  .home-layout--2 .home-sidebar {
    padding-left: 15px;
    margin-top: 50px;
  }
}
.home-layout--2 .home-sidebar .widget {
  background: #ffffff;
  padding: 30px;
  border-radius: 8px;
  box-shadow: 0 2px 6px rgba(15, 47, 92, 0.05);
  margin-bottom: 30px;
}
.home-layout--2 .home-sidebar .widget .widget-title {
  font-size: 1.2rem;
  margin-top: 0;
  margin-bottom: 20px;
  font-family: var(--font-primary);
  font-weight: 700;
  color: #0f2f5c;
}

.home-layout--3 {
  display: flex;
  flex-direction: column;
}
.home-layout--3 .home-hero-post {
  position: relative;
  width: 100%;
  min-height: 500px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  margin-bottom: 60px;
  color: #ffffff;
}
.home-layout--3 .home-hero-post .home-hero-post__overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(15, 47, 92, 0.55);
  z-index: 1;
}
.home-layout--3 .home-hero-post .home-hero-post__content {
  position: relative;
  z-index: 2;
  width: 100%;
  text-align: center;
  padding: 40px 20px;
  max-width: 800px;
}
.home-layout--3 .home-hero-post .home-hero-post__content .card__meta {
  color: rgba(255, 255, 255, 0.8);
  font-size: 0.9rem;
  margin-bottom: 15px;
  text-transform: uppercase;
  letter-spacing: 1px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.home-layout--3 .home-hero-post .home-hero-post__content .card__meta .avatar {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  object-fit: cover;
}
.home-layout--3 .home-hero-post .home-hero-post__content .home-hero-post__title {
  font-size: 3rem;
  font-weight: 800;
  line-height: 1.2;
  margin-bottom: 20px;
}
@media (max-width: 768px) {
  .home-layout--3 .home-hero-post .home-hero-post__content .home-hero-post__title {
    font-size: 2rem;
  }
}
.home-layout--3 .home-hero-post .home-hero-post__content .home-hero-post__title a {
  color: #ffffff;
  text-decoration: none;
}
.home-layout--3 .home-hero-post .home-hero-post__content .home-hero-post__title a:hover {
  text-decoration: underline;
}
.home-layout--3 .home-hero-post .home-hero-post__content .home-hero-post__excerpt {
  font-size: 1.2rem;
  color: rgba(255, 255, 255, 0.9);
  margin-bottom: 30px;
  line-height: 1.6;
}
@media (max-width: 768px) {
  .home-layout--3 .home-hero-post .home-hero-post__content .home-hero-post__excerpt {
    font-size: 1rem;
  }
}
.home-layout--3 .home-posts-grid .card {
  border-radius: 8px;
  overflow: hidden;
  background: #ffffff;
  display: flex;
  flex-direction: column;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.home-layout--3 .home-posts-grid .card:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.11);
}
.home-layout--3 .home-posts-grid .card .card__image-link {
  height: 300px;
  width: 100%;
  display: block;
}
.home-layout--3 .home-posts-grid .card .card__image-link img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}
.home-layout--3 .home-posts-grid .card .card__image-link:hover img {
  transform: scale(1.05);
}
.home-layout--3 .home-posts-grid .card .card__content {
  padding: 30px;
  flex: 1;
}
.home-layout--3 .home-posts-grid .card .card__content .card__meta {
  color: #0f2f5c;
  font-size: 0.85rem;
  margin-bottom: 10px;
  opacity: 0.8;
  display: flex;
  align-items: center;
  gap: 8px;
}
.home-layout--3 .home-posts-grid .card .card__content .card__meta .avatar {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  object-fit: cover;
}
.home-layout--3 .home-posts-grid .card .card__content .card__title {
  font-size: 1.6rem;
  margin: 0 0 15px;
  line-height: 1.3;
}
.home-layout--3 .home-posts-grid .card .card__content .card__title a {
  color: #2c4263;
  text-decoration: none;
  transition: color 0.3s ease;
}
.home-layout--3 .home-posts-grid .card .card__content .card__title a:hover {
  color: #0f2f5c;
}
.home-layout--3 .home-posts-grid .card .card__content .card__excerpt {
  color: rgba(44, 66, 99, 0.8);
  font-size: 1rem;
  line-height: 1.6;
}
.home-layout--3 .home-pagination-wrapper {
  margin-top: 50px;
  margin-bottom: 60px;
}

.home-layout--4 {
  padding: 60px 0;
}
@media (max-width: 768px) {
  .home-layout--4 {
    padding: 30px 0;
  }
}
.home-layout--4 {
  display: flex;
  flex-direction: column;
  gap: 60px;
}
.home-layout--4 .home-category-section .home-category-section__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 30px;
  padding-bottom: 15px;
  border-bottom: 2px solid rgba(15, 47, 92, 0.2);
}
@media (max-width: 768px) {
  .home-layout--4 .home-category-section .home-category-section__header {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
@media (max-width: 576px) {
  .home-layout--4 .home-category-section .home-category-section__header {
    flex-direction: column;
    align-items: flex-start;
    gap: 15px;
  }
}
.home-layout--4 .home-category-section .home-category-section__header .home-category-section__title {
  font-size: 2rem;
  margin: 0;
  font-family: var(--font-primary);
  font-weight: 700;
  color: #0f2f5c;
  position: relative;
}
.home-layout--4 .home-category-section .home-category-section__header .home-category-section__title::after {
  content: "";
  position: absolute;
  bottom: -17px;
  left: 0;
  width: 50px;
  height: 2px;
  background: #0f2f5c;
}
.home-layout--4 .home-pagination-wrapper {
  margin-top: 40px;
  text-align: center;
}

.social-icons, .author-layout--3 .author-hero .author-hero__content .author-hero__text .author-hero__social, .author-layout--2 .expert-card .expert-card__social, .author-layout--1 .author-header .author-header__social {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 20px;
}

.social-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(44, 66, 99, 0.08);
  color: #2c4263;
  text-decoration: none;
  transition: background 0.2s ease, transform 0.15s ease;
  flex-shrink: 0;
}
.social-icon svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
  display: block;
}
.social-icon--website:hover {
  background: #555555;
  color: #ffffff;
  transform: translateY(-2px);
}
.social-icon--linkedin:hover {
  background: #0A66C2;
  color: #ffffff;
  transform: translateY(-2px);
}
.social-icon--twitter:hover {
  background: #000000;
  color: #ffffff;
  transform: translateY(-2px);
}
.social-icon--facebook:hover {
  background: #1877F2;
  color: #ffffff;
  transform: translateY(-2px);
}
.social-icon--instagram:hover {
  background: #E1306C;
  color: #ffffff;
  transform: translateY(-2px);
}
.social-icon--youtube:hover {
  background: #FF0000;
  color: #ffffff;
  transform: translateY(-2px);
}
.social-icon--pinterest:hover {
  background: #BD081C;
  color: #ffffff;
  transform: translateY(-2px);
}
.social-icon .screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  clip: rect(0, 0, 0, 0);
  overflow: hidden;
}

.author-header__details,
.author-hero__details,
.expert-card__details {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  margin: 12px 0 16px;
}

.author-detail {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 0.9rem;
  color: rgba(44, 66, 99, 0.75);
}
.author-detail strong {
  color: #0f2f5c;
  font-weight: 700;
}

.author-header__role,
.author-hero__role,
.expert-card__role {
  display: inline-block;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: #0f2f5c;
  font-weight: 700;
  margin-bottom: 10px;
}

.author-layout {
  padding: 60px 0;
}
@media (max-width: 768px) {
  .author-layout {
    padding: 30px 0;
  }
}
.author-layout .author-section-title, .author-layout .author-layout--1 .author-content .author-content__heading, .author-layout--1 .author-content .author-layout .author-content__heading {
  font-size: 1.8rem;
  margin-bottom: 30px;
  color: #0f2f5c;
  font-family: var(--font-primary);
  font-weight: 700;
  border-bottom: 2px solid rgba(15, 47, 92, 0.2);
  padding-bottom: 15px;
  position: relative;
}
@media (max-width: 768px) {
  .author-layout .author-section-title, .author-layout .author-layout--1 .author-content .author-content__heading, .author-layout--1 .author-content .author-layout .author-content__heading {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
.author-layout .author-section-title::after, .author-layout .author-layout--1 .author-content .author-content__heading::after, .author-layout--1 .author-content .author-layout .author-content__heading::after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 50px;
  height: 2px;
  background: #0f2f5c;
}
.author-layout .author-pagination {
  margin-top: 40px;
}
.author-layout--1 {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.author-layout--1 .author-header {
  display: flex;
  align-items: flex-start;
  gap: 40px;
  max-width: 1000px;
  margin-bottom: 60px;
}
@media (max-width: 640px) {
  .author-layout--1 .author-header {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
}
.author-layout--1 .author-header .author-header__avatar {
  flex-shrink: 0;
}
.author-layout--1 .author-header .author-header__avatar img {
  border-radius: 50%;
  border: 4px solid #ffffff;
  box-shadow: 0 2px 6px rgba(15, 47, 92, 0.05);
  width: 250px;
  height: 250px;
  object-fit: cover;
}
.author-layout--1 .author-header .author-header__title {
  font-size: 2rem;
  color: #0f2f5c;
  margin-bottom: 4px;
}
.author-layout--1 .author-header .author-header__bio {
  font-size: 1rem;
  color: rgba(44, 66, 99, 0.8);
  line-height: 1.6;
}
.author-layout--1 .author-content {
  width: 100%;
}
.author-layout--1 .author-content .author-content__heading {
  text-align: center;
}
.author-layout--1 .author-content .author-content__heading::after {
  left: 50%;
  transform: translateX(-50%);
}
.author-layout--2 .expert-card {
  background: #ffffff;
  border-radius: 8px;
  box-shadow: 0 2px 6px rgba(15, 47, 92, 0.05);
  padding: 40px 30px;
  text-align: center;
  position: sticky;
  top: 100px;
  border-top: 5px solid #0f2f5c;
}
.author-layout--2 .expert-card .expert-card__avatar {
  margin-bottom: 20px;
}
.author-layout--2 .expert-card .expert-card__avatar img {
  border-radius: 50%;
  width: 150px;
  height: 150px;
  object-fit: cover;
  border: 3px solid rgba(15, 47, 92, 0.2);
}
.author-layout--2 .expert-card .expert-card__name {
  font-size: 1.6rem;
  color: #0f2f5c;
  margin-bottom: 4px;
}
.author-layout--2 .expert-card .expert-card__bio {
  font-size: 1rem;
  color: rgba(44, 66, 99, 0.8);
  line-height: 1.6;
  margin-bottom: 20px;
}
.author-layout--2 .expert-card .expert-card__details {
  justify-content: center;
  margin: 8px 0 16px;
}
.author-layout--2 .expert-card .expert-card__details .author-detail {
  font-size: 0.85rem;
}
.author-layout--2 .expert-card .expert-card__social {
  justify-content: center;
  margin-top: 15px;
}
.author-layout--3 {
  padding-top: 0;
}
.author-layout--3 .author-hero {
  background: #0f2f5c;
  color: #ffffff;
  padding: 80px 0;
  margin-bottom: 60px;
  position: relative;
}
.author-layout--3 .author-hero .author-hero__content {
  display: flex;
  align-items: center;
  gap: 40px;
}
@media (max-width: 768px) {
  .author-layout--3 .author-hero .author-hero__content {
    flex-direction: column;
    text-align: center;
  }
}
.author-layout--3 .author-hero .author-hero__content .author-hero__avatar {
  flex-shrink: 0;
}
.author-layout--3 .author-hero .author-hero__content .author-hero__avatar img {
  border-radius: 50%;
  border: 5px solid rgba(255, 255, 255, 0.2);
  width: 250px;
  height: 250px;
  object-fit: cover;
}
.author-layout--3 .author-hero .author-hero__content .author-hero__text .author-hero__label {
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: rgba(255, 255, 255, 0.6);
  display: block;
  margin-bottom: 10px;
}
.author-layout--3 .author-hero .author-hero__content .author-hero__text .author-hero__title {
  font-size: 3rem;
  color: #ffffff;
  margin-bottom: 10px;
  line-height: 1.2;
}
.author-layout--3 .author-hero .author-hero__content .author-hero__text .author-hero__role {
  color: rgba(255, 255, 255, 0.85);
  border-color: rgba(255, 255, 255, 0.3);
}
.author-layout--3 .author-hero .author-hero__content .author-hero__text .author-hero__bio {
  font-size: 1.1rem;
  color: rgba(255, 255, 255, 0.8);
  line-height: 1.6;
  max-width: 800px;
  margin-top: 12px;
}
.author-layout--3 .author-hero .author-hero__content .author-hero__text .author-hero__details .author-detail,
.author-layout--3 .author-hero .author-hero__content .author-hero__text .author-hero__details strong {
  color: rgba(255, 255, 255, 0.75);
}
.author-layout--3 .author-hero .author-hero__content .author-hero__text .author-hero__social .social-icon {
  background: rgba(255, 255, 255, 0.15);
  color: #ffffff;
}
.author-layout--3 .author-hero .author-hero__content .author-hero__text .author-hero__social .social-icon:hover {
  background: rgba(255, 255, 255, 0.9);
  color: #2c4263;
}

/* --------------------------------
   PALETA KOLORÓW
----------------------------------- */
/* --------------------------------
   TŁA
----------------------------------- */
/* --------------------------------
   TEKSTY I LINKI
----------------------------------- */
/* --------------------------------
   CTA — BUTTONS
----------------------------------- */
/* --------------------------------
   BORDERY
----------------------------------- */
/* --------------------------------
   CIENIE
----------------------------------- */
/* --------------------------------
   DEKORACJE
----------------------------------- */
/* --------------------------------
   OLD VARIABLES
----------------------------------- */
@font-face {
  font-family: "Montserrat";
  src: url("assets/fonts/Montserrat-VariableFont_wght.ttf") format("truetype");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
.pbn-hero {
  position: relative;
  padding: 80px 0;
  background-color: rgb(22.1495327103, 69.4018691589, 135.8504672897);
  background-size: cover;
  background-position: center;
  color: #fff;
  min-height: 500px;
  display: flex;
  align-items: center;
}
.pbn-hero__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 1;
}
.pbn-hero__container {
  position: relative;
  z-index: 2;
}
.pbn-hero__content {
  max-width: 800px;
}
.pbn-hero__title {
  font-size: 3rem;
  margin-bottom: 20px;
  color: #fff;
}
.pbn-hero__text {
  font-size: 1.125rem;
  margin-bottom: 30px;
  line-height: 1.6;
}

/* SaaS Premium Grid Block */
.pbn-grid {
  display: grid;
  gap: var(--pbn-grid-gap, 32px);
  margin: 48px 0;
  /* Auto-fit columns, ensuring equal row height */
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  align-items: stretch;
  /* Ensure InnerBlocks items stretch fully */
}
.pbn-grid > * {
  display: flex;
  flex-direction: column;
  height: 100%;
  /* Attempt to push footers down inside InnerBlocks if they use containers */
}
.pbn-grid > * > .pbn-card,
.pbn-grid > * > .wp-block-group {
  flex-grow: 1;
}
.pbn-grid {
  /* Override column counts on very wide screens manually if specified */
}
.pbn-grid--cols-1 {
  grid-template-columns: 1fr;
}
.pbn-grid--cols-4 {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.pbn-cta {
  margin: 48px 0;
  padding: 0 16px;
  /* Prevent touching edges on mobile */
  display: flex;
  justify-content: center;
}
.pbn-cta__inner {
  width: 100%;
  max-width: 760px;
  padding: 64px 32px;
  border-radius: 16px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  box-shadow: 0 6px 20px rgba(15, 47, 92, 0.08);
  /* Subtle Background based on Primary applied on Surface */
  background: color-mix(in srgb, var(--color-primary) 5%, var(--color-surface));
  border: 1px solid var(--color-border);
  color: var(--color-text);
}
.pbn-cta__badge {
  display: inline-block;
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 24px;
  background: color-mix(in srgb, var(--color-primary) 15%, var(--color-surface));
  color: var(--color-primary);
  border: 1px solid color-mix(in srgb, var(--color-primary) 25%, var(--color-surface));
}
.pbn-cta__title {
  color: var(--color-heading);
  margin: 0 0 16px;
  font-size: clamp(1.75rem, 5vw, 2.5rem);
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -0.02em;
}
.pbn-cta__desc {
  color: var(--color-text);
  margin: 0 0 32px;
  font-size: 1.125rem;
  line-height: 1.6;
  opacity: 0.9;
  max-width: 600px;
}
.pbn-cta__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 48px;
  padding: 0 32px;
  font-size: 1rem;
  font-weight: 600;
  border-radius: 8px;
  background: var(--color-primary);
  color: #ffffff;
  text-decoration: none;
  transition: all 0.3s ease;
  border: none;
  box-shadow: 0 2px 6px rgba(15, 47, 92, 0.05);
}
.pbn-cta__button:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(15, 47, 92, 0.08);
  background: var(--color-accent);
  color: #ffffff;
}
.pbn-cta {
  /* Additional Subtle Variant if needed */
}
.pbn-cta--secondary .pbn-cta__inner {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  color: var(--color-text);
  box-shadow: none;
}
.pbn-cta--secondary .pbn-cta__title {
  color: var(--color-heading);
}
.pbn-cta--secondary .pbn-cta__desc {
  color: var(--color-muted);
}
.pbn-cta--secondary .pbn-cta__badge {
  background: var(--color-border);
  color: var(--color-text);
  border-color: transparent;
}
.pbn-cta--secondary .pbn-cta__button {
  background: var(--color-primary);
  color: #ffffff;
}
.pbn-cta--secondary .pbn-cta__button:hover {
  background: var(--color-accent);
  color: #ffffff;
}

.pbn-compare {
  margin: 32px 0;
}
.pbn-compare__table-wrapper {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border-radius: 12px;
  box-shadow: 0 2px 6px rgba(15, 47, 92, 0.05);
  border: 1px solid var(--color-border);
  background: var(--color-surface);
}
.pbn-compare__table {
  width: 100%;
  border-collapse: collapse;
  min-width: 600px;
  /* Force scroll on small screens */
}
.pbn-compare__table th,
.pbn-compare__table td {
  padding: 16px;
  text-align: center;
  border-bottom: 1px solid var(--color-border);
  border-right: 1px solid var(--color-border);
}
.pbn-compare__table th:last-child,
.pbn-compare__table td:last-child {
  border-right: none;
}
.pbn-compare__table {
  /* SaaS Primary Header */
}
.pbn-compare__table thead th {
  background-color: var(--color-primary);
  color: #ffffff;
  vertical-align: bottom;
  font-weight: 700;
}
.pbn-compare__table thead th img {
  max-width: 80px;
  height: auto;
  margin-bottom: 16px;
  display: block;
  margin-left: auto;
  margin-right: auto;
  border-radius: 4px;
}
.pbn-compare__table thead th .product-name {
  font-size: 1.1rem;
  letter-spacing: -0.01em;
}
.pbn-compare__table thead th {
  /* Empty top-left cell */
}
.pbn-compare__table thead th:first-child {
  background-color: var(--color-surface);
  border-right: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
}
.pbn-compare__table {
  /* Zebra Rows & Hover */
}
.pbn-compare__table tbody tr {
  transition: background-color 0.2s ease;
}
.pbn-compare__table tbody tr:nth-child(even) {
  background-color: rgba(0, 0, 0, 0.02);
}
.pbn-compare__table tbody tr:hover {
  background-color: var(--color-border);
  /* Subtle hover highlight */
}
.pbn-compare__table {
  /* First Column (Properties) */
}
.pbn-compare__table tbody td:first-child {
  text-align: left;
  font-weight: 600;
  background-color: rgba(0, 0, 0, 0.01);
  color: var(--color-text);
}
.pbn-compare__table {
  /* Footer CTA Row */
}
.pbn-compare__table tfoot td {
  background-color: var(--color-surface);
  padding: 24px 16px;
}
.pbn-compare__table tfoot td:first-child {
  background-color: transparent;
}

.pbn-features {
  display: grid;
  gap: 30px;
  margin: 40px 0;
}
.pbn-features--cols-2 {
  grid-template-columns: repeat(2, 1fr);
}
.pbn-features--cols-3 {
  grid-template-columns: repeat(3, 1fr);
}
.pbn-features--cols-4 {
  grid-template-columns: repeat(4, 1fr);
}
@media (max-width: 991px) {
  .pbn-features {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 575px) {
  .pbn-features {
    grid-template-columns: 1fr;
  }
}
.pbn-features__item {
  display: flex;
  gap: 20px;
  align-items: flex-start;
  padding: 20px;
  background: #ffffff;
  border-radius: 8px;
  transition: transform 0.3s ease;
}
.pbn-features__item:hover {
  transform: translateY(-5px);
}
.pbn-features__icon {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
}
.pbn-features__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.pbn-features__title {
  margin: 0 0 10px;
  font-size: 1.1rem;
  color: #0f2f5c;
}
.pbn-features__text {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.5;
}

.pbn-faq {
  margin: 48px 0;
  max-width: 800px;
  /* Optimal reading width for FAQs */
  margin-left: auto;
  margin-right: auto;
}
.pbn-faq__item {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: 12px;
  margin-bottom: 16px;
  box-shadow: 0 2px 6px rgba(15, 47, 92, 0.05);
  transition: box-shadow 0.3s ease, border-color 0.3s ease;
}
.pbn-faq__item:hover {
  border-color: rgba(0, 0, 0, 0.1);
  /* Slightly darken border on hover */
  box-shadow: 0 6px 20px rgba(15, 47, 92, 0.08);
}
.pbn-faq__item[open] {
  border-color: var(--color-primary);
}
.pbn-faq__item[open] .pbn-faq__question {
  border-bottom: 1px solid var(--color-border);
  color: var(--color-primary);
}
.pbn-faq__item[open] .pbn-faq__question::after {
  transform: translateY(-50%) rotate(-180deg);
}
.pbn-faq__question {
  padding: 24px 64px 24px 24px;
  font-weight: 700;
  font-size: 1.125rem;
  cursor: pointer;
  list-style: none;
  /* Hide native marker */
  position: relative;
  color: var(--color-heading);
  transition: color 0.3s ease;
  /* Hide native marker in WebKit */
}
.pbn-faq__question::-webkit-details-marker {
  display: none;
}
.pbn-faq__question {
  /* Custom Chevron */
}
.pbn-faq__question::after {
  content: "";
  position: absolute;
  right: 24px;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  /* Inline SVG for Chevron Down (Currentcolor simulation via mask or standard #color)
     Using standard gray for ease, but can be overridden. */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  opacity: 0.6;
  transition: transform 0.3s ease, opacity 0.3s ease;
}
.pbn-faq__question:hover::after {
  opacity: 1;
}
.pbn-faq__answer {
  padding: 24px;
  line-height: 1.6;
  color: var(--color-text);
}
.pbn-faq__answer > *:first-child {
  margin-top: 0;
}
.pbn-faq__answer > *:last-child {
  margin-bottom: 0;
}

.pbn-pros-cons {
  margin: 40px 0;
}
.pbn-pros-cons__main-title {
  text-align: center;
  margin-bottom: 30px;
  color: #0f2f5c;
}
.pbn-pros-cons__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
@media (max-width: 767px) {
  .pbn-pros-cons__grid {
    grid-template-columns: 1fr;
  }
}
.pbn-pros-cons__col {
  padding: 32px;
  border-radius: 12px;
  background-color: #ffffff;
  box-shadow: 0 2px 6px rgba(15, 47, 92, 0.05);
}
.pbn-pros-cons__col--pros {
  background-color: #132017;
  background-color: color-mix(in srgb, #38a169 12%, var(--color-surface));
  border: 1px solid rgba(56, 161, 105, 0.2);
  border-top: 4px solid #38a169;
}
.pbn-pros-cons__col--pros h4.pbn-pros-cons__title {
  color: #38a169;
}
.pbn-pros-cons__col--pros .pbn-pros-cons__list li::before {
  content: "✓";
  color: #38a169;
}
.pbn-pros-cons__col--cons {
  background-color: #2b1414;
  background-color: color-mix(in srgb, #e53e3e 12%, var(--color-surface));
  border: 1px solid rgba(229, 62, 62, 0.2);
  border-top: 4px solid #e53e3e;
}
.pbn-pros-cons__col--cons h4.pbn-pros-cons__title {
  color: #e53e3e;
}
.pbn-pros-cons__col--cons .pbn-pros-cons__list li::before {
  content: "✕";
  color: #e53e3e;
}
.pbn-pros-cons__title {
  margin: 0 0 24px;
  font-size: 1.25rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.pbn-pros-cons__list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.pbn-pros-cons__list li {
  position: relative;
  padding-left: 32px;
  margin-bottom: 16px;
  font-size: 1.125rem;
  line-height: 1.5;
  color: #2c4263;
}
.pbn-pros-cons__list li::before {
  position: absolute;
  left: 0;
  top: 2px;
  font-weight: 800;
}

.pbn-takeaways {
  margin: 2rem 0;
  padding: 2rem;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 2px 6px rgba(15, 47, 92, 0.05);
}
.pbn-takeaways--accent-bg {
  background: rgba(251, 191, 36, 0.05);
  border: 1px solid rgba(251, 191, 36, 0.15);
}
.pbn-takeaways--border-left {
  background: transparent;
  border-left: 4px solid #fbbf24;
  box-shadow: none;
  border-radius: 0;
  padding-left: 2rem;
}
.pbn-takeaways__header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 1rem;
}
.pbn-takeaways__icon {
  color: #fbbf24;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pbn-takeaways__icon svg {
  width: 24px;
  height: 24px;
}
.pbn-takeaways__title {
  font-family: var(--pbn-font-primary, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif);
  font-size: 1.5rem;
  font-weight: 700;
  color: #0f2f5c;
}
.pbn-takeaways__list {
  margin: 0;
  padding: 0 0 0 20px;
  list-style: none;
}
.pbn-takeaways__list li {
  position: relative;
  margin-bottom: 10px;
  color: #738ba8;
  line-height: 1.6;
}
.pbn-takeaways__list li:last-child {
  margin-bottom: 0;
}
.pbn-takeaways ul.pbn-takeaways__list li::before {
  content: "";
  position: absolute;
  left: -20px;
  top: 10px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #fbbf24;
}
.pbn-takeaways ol.pbn-takeaways__list {
  counter-reset: takeaways-counter;
  padding-left: 28px;
}
.pbn-takeaways ol.pbn-takeaways__list li {
  counter-increment: takeaways-counter;
}
.pbn-takeaways ol.pbn-takeaways__list li::before {
  content: counter(takeaways-counter) ".";
  position: absolute;
  left: -28px;
  top: 0;
  font-weight: 700;
  color: #fbbf24;
}

.pbn-data-highlight {
  margin: 48px 0;
}
.pbn-data-highlight__inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: 32px;
  align-items: center;
  background: var(--color-surface);
  padding: 48px;
  border-radius: 16px;
  box-shadow: 0 2px 6px rgba(15, 47, 92, 0.05);
  border: 1px solid var(--color-border);
}
.pbn-data-highlight__number {
  font-size: clamp(64px, 10vw, 84px);
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.03em;
  color: var(--color-accent);
  margin-bottom: 16px;
}
.pbn-data-highlight__content .pbn-data-highlight__desc {
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.4;
  color: var(--color-heading);
  margin-bottom: 8px;
}
.pbn-data-highlight__content .pbn-data-highlight__desc p {
  margin: 0;
}
.pbn-data-highlight__content .pbn-data-highlight__sub {
  font-size: 0.9rem;
  color: var(--color-muted);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-weight: 500;
}
.pbn-data-highlight__media img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
  box-shadow: 0 2px 6px rgba(15, 47, 92, 0.05);
}
.pbn-data-highlight {
  /* Has Media Variant - switch to 2 columns on desktop */
}
@media (min-width: 768px) {
  .pbn-data-highlight:has(.pbn-data-highlight__media) .pbn-data-highlight__inner {
    grid-template-columns: 1fr 1fr;
  }
}
.pbn-data-highlight {
  /* Variants */
}
.pbn-data-highlight--centered .pbn-data-highlight__text-wrapper {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.pbn-data-highlight--left .pbn-data-highlight__text-wrapper {
  text-align: left;
}
.pbn-data-highlight--inline .pbn-data-highlight__inner {
  padding: 24px 32px;
  background: transparent;
  box-shadow: none;
  border: none;
  border-radius: 0;
  margin: 24px 0;
  grid-template-columns: 1fr;
}
.pbn-data-highlight--inline .pbn-data-highlight__text-wrapper {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 24px;
  text-align: left;
}
.pbn-data-highlight--inline .pbn-data-highlight__number {
  margin-bottom: 0;
  font-size: clamp(48px, 6vw, 64px);
}
@media (max-width: 576px) {
  .pbn-data-highlight--inline .pbn-data-highlight__text-wrapper {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }
}

.pbn-stats-grid {
  margin: 4rem 0;
}
.pbn-stats-grid__outer {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
@media (min-width: 992px) {
  .pbn-stats-grid__outer {
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  }
}
@media (max-width: 576px) {
  .pbn-stats-grid__outer {
    grid-template-columns: 1fr;
  }
}
.pbn-stats-grid__item {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 30px 20px;
  text-align: center;
  box-shadow: 0 2px 6px rgba(15, 47, 92, 0.05);
  display: flex;
  flex-direction: column;
  justify-content: center;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  position: relative;
  overflow: hidden;
}
.pbn-stats-grid__item::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: #fbbf24;
  opacity: 0.8;
  transform: scaleX(0);
  transition: transform 0.3s ease;
}
.pbn-stats-grid__item:hover {
  box-shadow: 0 6px 20px rgba(15, 47, 92, 0.08);
  transform: translateY(-2px);
}
.pbn-stats-grid__item:hover::after {
  transform: scaleX(1);
}
.pbn-stats-grid__number {
  font-family: var(--pbn-font-primary, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif);
  font-weight: 800;
  font-size: 2.5rem;
  color: #fbbf24;
  margin-bottom: 5px;
  line-height: 1.2;
}
.pbn-stats-grid__label {
  font-size: 1rem;
  color: #0f2f5c;
  font-weight: 600;
  line-height: 1.4;
}
.pbn-stats-grid--compact .pbn-stats-grid__item {
  padding: 20px 15px;
}
.pbn-stats-grid--compact .pbn-stats-grid__number {
  font-size: 2rem;
}
.pbn-stats-grid--large .pbn-stats-grid__item {
  padding: 40px 30px;
}
.pbn-stats-grid--large .pbn-stats-grid__number {
  font-size: 3.5rem;
}
.pbn-stats-grid--large .pbn-stats-grid__label {
  font-size: 1.1rem;
}

.pbn-expert-quote {
  margin: 4rem auto;
  max-width: 70%;
  position: relative;
  padding: 2rem;
}
@media (max-width: 768px) {
  .pbn-expert-quote {
    max-width: 100%;
  }
}
.pbn-expert-quote__text {
  font-size: 1.5rem;
  font-style: italic;
  color: #0f2f5c;
  line-height: 1.5;
  margin-bottom: 25px;
  position: relative;
  z-index: 2;
}
.pbn-expert-quote__text::before {
  content: "“";
  font-size: 5rem;
  color: rgba(251, 191, 36, 0.2);
  position: absolute;
  top: -20px;
  left: -30px;
  z-index: -1;
  font-family: Georgia, serif;
  line-height: 1;
}
.pbn-expert-quote__author {
  display: flex;
  align-items: center;
  gap: 15px;
}
.pbn-expert-quote__avatar {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  overflow: hidden;
}
.pbn-expert-quote__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.pbn-expert-quote__name {
  font-weight: 700;
  color: #0f2f5c;
  font-size: 1rem;
}
.pbn-expert-quote__role {
  font-size: 0.85rem;
  color: #738ba8;
}
.pbn-expert-quote--classic {
  padding-left: 30px;
  border-left: 4px solid #fbbf24;
  background: transparent;
}
.pbn-expert-quote--classic .pbn-expert-quote__text::before {
  left: -10px;
}
.pbn-expert-quote--boxed {
  background: #ffffff;
  border-radius: 8px;
  box-shadow: 0 2px 6px rgba(15, 47, 92, 0.05);
  border: 1px solid #e2e8f0;
  padding: 40px;
}
.pbn-expert-quote--boxed .pbn-expert-quote__text::before {
  top: -10px;
  left: -10px;
}
.pbn-expert-quote--minimal {
  background: transparent;
  padding-left: 0;
  border-top: 2px solid #e2e8f0;
  border-bottom: 2px solid #e2e8f0;
  padding: 30px 0;
  text-align: center;
  max-width: 100%;
}
.pbn-expert-quote--minimal .pbn-expert-quote__text::before {
  display: none;
}
.pbn-expert-quote--minimal .pbn-expert-quote__author {
  justify-content: center;
}

.pbn-callout {
  display: flex;
  gap: 15px;
  margin: 2rem 0;
  padding: 20px;
  border-radius: 8px;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  box-shadow: 0 2px 6px rgba(15, 47, 92, 0.05);
  align-items: flex-start;
}
.pbn-callout__icon {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pbn-callout__icon svg {
  width: 100%;
  height: 100%;
}
.pbn-callout__body {
  flex-grow: 1;
}
.pbn-callout__title {
  font-weight: 700;
  margin-bottom: 5px;
  font-size: 1.1rem;
  color: #0f2f5c;
}
.pbn-callout__text {
  color: #738ba8;
  font-size: 0.95rem;
  line-height: 1.6;
}
.pbn-callout__text p:last-child {
  margin-bottom: 0;
}
.pbn-callout--neutral {
  border-left: 4px solid #738ba8;
}
.pbn-callout--neutral .pbn-callout__icon {
  color: #738ba8;
}
.pbn-callout--success {
  border-left: 4px solid #10b981;
  background: rgba(16, 185, 129, 0.05);
}
.pbn-callout--success .pbn-callout__icon {
  color: #10b981;
}
.pbn-callout--warning {
  border-left: 4px solid #f59e0b;
  background: rgba(245, 158, 11, 0.05);
}
.pbn-callout--warning .pbn-callout__icon {
  color: #f59e0b;
}
.pbn-callout--danger {
  border-left: 4px solid #ef4444;
  background: rgba(239, 68, 68, 0.05);
}
.pbn-callout--danger .pbn-callout__icon {
  color: #ef4444;
}
.pbn-callout--accent {
  border-left: 4px solid #fbbf24;
  background: rgba(251, 191, 36, 0.05);
}
.pbn-callout--accent .pbn-callout__icon {
  color: #fbbf24;
}

.pbn-info-box {
  margin: 48px 0;
  border-radius: 16px;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  box-shadow: 0 2px 6px rgba(15, 47, 92, 0.05);
  text-align: center;
  overflow: hidden;
}
.pbn-info-box__header {
  padding: 32px 32px 0;
  font-weight: 800;
  font-size: 1.5rem;
  color: var(--color-heading);
  letter-spacing: -0.01em;
}
.pbn-info-box__content {
  padding: 32px;
  color: var(--color-text);
  font-size: 1.125rem;
  line-height: 1.6;
}
.pbn-info-box__content > *:first-child {
  margin-top: 0;
}
.pbn-info-box__content > *:last-child {
  margin-bottom: 0;
}
.pbn-info-box__content ul,
.pbn-info-box__content ol {
  text-align: left;
  padding-left: 24px;
  margin: 0 auto 24px;
  max-width: fit-content;
}
.pbn-info-box__content ul li,
.pbn-info-box__content ol li {
  margin-bottom: 12px;
}
.pbn-info-box__footer {
  padding: 0 32px 32px;
  text-align: center;
}
.pbn-info-box__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 48px;
  padding: 0 32px;
  font-size: 1rem;
  font-weight: 600;
  border-radius: 8px;
  background: var(--color-primary);
  color: #ffffff;
  text-decoration: none;
  transition: all 0.2s ease;
}
.pbn-info-box__cta:hover {
  background: var(--color-accent);
  transform: translateY(-2px);
  box-shadow: 0 2px 6px rgba(15, 47, 92, 0.05);
  color: #ffffff;
}
.pbn-info-box {
  /* Variants */
}
.pbn-info-box--filled {
  background: rgba(0, 0, 0, 0.02);
  /* Subtle bg */
  border-color: transparent;
}
.pbn-info-box--minimal {
  background: transparent;
  border: none;
  box-shadow: none;
  border-left: 4px solid var(--color-accent);
  border-radius: 0;
  text-align: left;
  padding: 0;
}
.pbn-info-box--minimal .pbn-info-box__header {
  padding: 16px 32px 0;
}
.pbn-info-box--minimal .pbn-info-box__content {
  padding: 16px 32px;
}
.pbn-info-box--minimal .pbn-info-box__content ul,
.pbn-info-box--minimal .pbn-info-box__content ol {
  margin: 0 0 16px;
}
.pbn-info-box--minimal .pbn-info-box__footer {
  padding: 0 32px 16px;
  text-align: left;
}

.pbn-timeline {
  margin: 4rem 0;
}
.pbn-timeline__list {
  list-style: none;
  padding: 0;
  margin: 0;
  position: relative;
}
.pbn-timeline__list::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 7px;
  width: 3px;
  background: #fbbf24;
  opacity: 0.3;
}
.pbn-timeline__item {
  position: relative;
  padding-left: 40px;
  margin-bottom: 30px;
}
.pbn-timeline__item:last-child {
  margin-bottom: 0;
}
.pbn-timeline__point {
  position: absolute;
  left: 0;
  top: 6px;
  width: 17px;
  height: 17px;
  border-radius: 50%;
  background: #ffffff;
  border: 4px solid #fbbf24;
  z-index: 2;
}
.pbn-timeline__content {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 20px;
  box-shadow: 0 2px 6px rgba(15, 47, 92, 0.05);
}
.pbn-timeline__year {
  font-family: var(--pbn-font-primary, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif);
  font-weight: 800;
  color: #fbbf24;
  margin-bottom: 5px;
  line-height: 1;
}
.pbn-timeline__title {
  font-weight: 700;
  color: #0f2f5c;
  font-size: 1.1rem;
  margin-bottom: 10px;
}
.pbn-timeline__text {
  color: #738ba8;
  font-size: 0.95rem;
  line-height: 1.6;
}
.pbn-timeline__text > *:last-child {
  margin-bottom: 0;
}
.pbn-timeline--compact .pbn-timeline__content {
  padding: 15px;
  border: none;
  background: transparent;
  box-shadow: none;
}
.pbn-timeline--compact .pbn-timeline__year {
  font-size: 1.1rem;
  display: inline-block;
  margin-right: 10px;
}
.pbn-timeline--compact .pbn-timeline__title {
  display: inline-block;
  font-size: 1rem;
  margin-bottom: 5px;
}
.pbn-timeline--detailed .pbn-timeline__year {
  font-size: 1.5rem;
}

.pbn-sources {
  margin: 4rem 0 2rem;
  padding-top: 2rem;
  border-top: 1px solid #e2e8f0;
}
.pbn-sources__header {
  font-family: var(--pbn-font-primary, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif);
  font-size: 0.9rem;
  font-weight: 700;
  text-transform: uppercase;
  color: #0f2f5c;
  margin-bottom: 15px;
  letter-spacing: 0.5px;
}
.pbn-sources__list {
  margin: 0;
  padding: 0 0 0 20px;
  font-size: 0.85rem;
  color: #738ba8;
}
.pbn-sources__list li {
  margin-bottom: 8px;
  line-height: 1.5;
}
.pbn-sources__list li a {
  color: #0f2f5c;
  text-decoration: underline;
}
.pbn-sources__list li a:hover {
  color: #fbbf24;
}
.pbn-sources__date {
  color: #738ba8;
  font-size: 0.8rem;
  margin-left: 5px;
}
.pbn-sources--compact .pbn-sources__list li {
  margin-bottom: 4px;
}
.pbn-sources--detailed .pbn-sources__list li {
  margin-bottom: 12px;
}

.pbn-trust-strip {
  margin: 2rem 0;
  padding: 30px;
  border-radius: 8px;
  box-shadow: 0 2px 6px rgba(15, 47, 92, 0.05);
  background: #ffffff;
  border: 1px solid #e2e8f0;
}
.pbn-trust-strip__inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  align-items: center;
  gap: 30px;
}
.pbn-trust-strip__item {
  max-width: 120px;
  opacity: 0.7;
  filter: grayscale(1);
  transition: opacity 0.3s ease, filter 0.3s ease, transform 0.3s ease;
}
.pbn-trust-strip__item img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 50px;
  object-fit: contain;
}
.pbn-trust-strip__item:hover {
  opacity: 1;
  filter: grayscale(0);
  transform: scale(1.05);
}
.pbn-trust-strip--accent {
  background: rgba(251, 191, 36, 0.05);
  border: 1px solid rgba(251, 191, 36, 0.2);
}
.pbn-trust-strip--accent .pbn-trust-strip__item {
  opacity: 0.9;
  filter: none;
}
.pbn-trust-strip--accent .pbn-trust-strip__item:hover {
  opacity: 1;
}

.pbn-inline-promo {
  margin: 2rem auto;
  max-width: 60%;
}
@media (max-width: 768px) {
  .pbn-inline-promo {
    max-width: 100%;
    margin-left: 0 !important;
    margin-right: 0 !important;
    float: none !important;
  }
}
.pbn-inline-promo__inner {
  background: #ffffff;
  border-radius: 8px;
  padding: 30px;
  text-align: center;
  box-shadow: 0 2px 6px rgba(15, 47, 92, 0.05);
  border: 1px solid #e2e8f0;
  position: relative;
}
.pbn-inline-promo__badge {
  position: absolute;
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
  background: #fbbf24;
  color: #0f2f5c;
  padding: 4px 12px;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  border-radius: 20px;
  letter-spacing: 1px;
  box-shadow: 0 2px 6px rgba(15, 47, 92, 0.05);
}
.pbn-inline-promo__text {
  font-size: 1.1rem;
  color: #0f2f5c;
  font-weight: 600;
  line-height: 1.5;
  margin-bottom: 20px;
}
.pbn-inline-promo__btn {
  display: inline-block;
  font-size: 0.95rem;
  padding: 12px 25px;
}
.pbn-inline-promo--align-center {
  margin-left: auto;
  margin-right: auto;
}
.pbn-inline-promo--align-float-right {
  float: right;
  margin-left: 30px;
  margin-bottom: 20px;
  max-width: 50%;
}
.pbn-inline-promo--align-float-left {
  float: left;
  margin-right: 30px;
  margin-bottom: 20px;
  max-width: 50%;
}
.pbn-inline-promo--strong .pbn-inline-promo__inner {
  background: rgba(251, 191, 36, 0.05);
  border: 2px solid #fbbf24;
  box-shadow: 0 6px 20px rgba(15, 47, 92, 0.08);
}
.pbn-inline-promo--strong .pbn-inline-promo__badge {
  background: #0f2f5c;
  color: #ffffff;
}
.pbn-inline-promo--bordered .pbn-inline-promo__inner {
  background: transparent;
  border: 2px dashed #e2e8f0;
  box-shadow: none;
}

.pbn-definition {
  background: #ffffff;
  border-left: 5px solid #0f2f5c;
  padding: 30px;
  margin: 40px 0;
  border-radius: 0 8px 8px 0;
  position: relative;
}
.pbn-definition__badge {
  display: inline-block;
  background: #0f2f5c;
  color: #ffffff !important;
  font-size: 0.75rem;
  font-weight: 700;
  padding: 4px 12px;
  border-radius: 20px;
  text-transform: uppercase;
  margin-bottom: 15px;
}
.pbn-definition__term {
  margin: 0 0 15px;
  font-size: 1.5rem;
  color: #0f2f5c;
}
.pbn-definition__content {
  font-size: 1.1rem;
  line-height: 1.6;
  font-style: italic;
}

.pbn-authors-list {
  padding: 60px 0;
}
.pbn-authors-list__title {
  text-align: center;
  margin-bottom: 40px;
  font-size: 2.25rem;
  font-weight: 800;
  color: #0f2f5c;
  position: relative;
  padding-bottom: 20px;
}
.pbn-authors-list__title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 80px;
  height: 4px;
  background: #fbbf24;
  border-radius: 2px;
}
.pbn-authors-list__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}
@media (max-width: 991px) {
  .pbn-authors-list__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 600px) {
  .pbn-authors-list__grid {
    grid-template-columns: 1fr;
  }
}
.pbn-authors-list__empty {
  text-align: center;
  color: #738ba8;
  font-style: italic;
}

.pbn-author-card {
  background: #ffffff;
  border-radius: 8px;
  padding: 40px 30px;
  text-align: center;
  box-shadow: 0 2px 6px rgba(15, 47, 92, 0.05);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  border: 1px solid rgba(15, 47, 92, 0.05);
  display: flex;
  flex-direction: column;
  height: 100%;
}
.pbn-author-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 6px 20px rgba(15, 47, 92, 0.08);
}
.pbn-author-card__image {
  margin-bottom: 25px;
}
.pbn-author-card__image img {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  object-fit: cover;
  border: 4px solid rgba(251, 191, 36, 0.1);
  padding: 4px;
}
.pbn-author-card__content {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}
.pbn-author-card__name {
  font-size: 1.4rem;
  font-weight: 700;
  margin-bottom: 8px;
  color: #0f2f5c;
}
.pbn-author-card__role {
  font-size: 0.95rem;
  color: #fbbf24;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 20px;
}
.pbn-author-card__action {
  margin-top: auto;
}

/*--------------------------------------------------------------
# Design System & Tokens
--------------------------------------------------------------*/
.site-header, .header-layout {
  background-color: #0f2f5c !important;
}

.site-header .site-title a,
.site-header .site-description,
.site-header .main-navigation ul li a, .header-layout .site-title a,
.header-layout .site-description,
.header-layout .main-navigation ul li a {
  color: #ffffff !important;
}

.site-header .site-title a:hover,
.site-header .site-description:hover,
.site-header .main-navigation ul li a:hover, .header-layout .site-title a:hover,
.header-layout .site-description:hover,
.header-layout .main-navigation ul li a:hover {
  color: #fbbf24 !important;
}

.site-header .menu-toggle, .header-layout .menu-toggle {
  color: #ffffff;
}

.site-footer, .footer-layout, .site-footer-wrapper {
  background-color: #0b2545 !important;
  color: #ffffff !important;
  border-top: none !important;
}

.site-footer h1, .site-footer h2, .site-footer h3, .site-footer h4, .site-footer h5, .site-footer h6, .site-footer .widget-title, .site-footer p, .footer-layout h1, .footer-layout h2, .footer-layout h3, .footer-layout h4, .footer-layout h5, .footer-layout h6, .footer-layout .widget-title, .footer-layout p, .site-footer-wrapper h1, .site-footer-wrapper h2, .site-footer-wrapper h3, .site-footer-wrapper h4, .site-footer-wrapper h5, .site-footer-wrapper h6, .site-footer-wrapper .widget-title, .site-footer-wrapper p {
  color: #ffffff !important;
}

.site-footer a, .footer-layout a, .site-footer-wrapper a {
  color: #fbbf24 !important;
}

.site-footer a:hover, .footer-layout a:hover, .site-footer-wrapper a:hover {
  color: #fce72b !important;
}

.site-footer .site-info, .footer-layout .site-info, .site-footer-wrapper .site-info {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

:root {
  --pbn-active-pack: 14;
}

/**
 * Design Tokens for Core Theme VX
 */
/* --------------------------------
   PALETA KOLORÓW
----------------------------------- */
/* --------------------------------
   TŁA
----------------------------------- */
/* --------------------------------
   TEKSTY I LINKI
----------------------------------- */
/* --------------------------------
   CTA — BUTTONS
----------------------------------- */
/* --------------------------------
   BORDERY
----------------------------------- */
/* --------------------------------
   CIENIE
----------------------------------- */
/* --------------------------------
   DEKORACJE
----------------------------------- */
/* --------------------------------
   OLD VARIABLES
----------------------------------- */
@font-face {
  font-family: "Montserrat";
  src: url("assets/fonts/Montserrat-VariableFont_wght.ttf") format("truetype");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
	 ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
}

/* Sections
	 ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
/* Grouping content
	 ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  font-size: 1em;
}

/* Text-level semantics
	 ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
	 ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
	 ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type=checkbox],
[type=radio] {
  box-sizing: border-box;
  padding: 0;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

/* Interactive
	 ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
	 ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
  box-sizing: inherit;
}

html {
  box-sizing: border-box;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/
/* Typography
--------------------------------------------- */
:root {
  --color-background-page: #ffffff;
  --color-surface: #ffffff;
  --color-card: #ffffff;
  --color-border: #e2e8f0;
  --color-heading: #0f2f5c;
  --color-text: #2c4263;
  --color-muted: #738ba8;
  --color-primary: #0f2f5c;
  --color-secondary: #0f2f5c;
  --color-accent: #fbbf24;
  --link-color: #0f2f5c;
  --link-hover: #d5a800;
  --hero-overlay: rgba(15, 47, 92, 0.55);
  --hero-text-color: #ffffff;
  --button-bg: #fbbf24;
  --button-text: #0f2f5c;
  --button-hover: #f59e0b;
}

@media (max-width: 1024px) {
  html {
    font-size: 93.75%;
  }
}
@media (max-width: 768px) {
  html {
    font-size: 87.5%;
  }
}

body,
button,
input,
select,
optgroup,
textarea {
  color: #2c4263;
  font-family: var(--pbn-font-primary, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif);
  font-size: 1rem;
  line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  clear: both;
  color: #0f2f5c;
}

h1 {
  font-size: 3rem;
}

h2 {
  font-size: 2.25rem;
}

h3 {
  font-size: 1.75rem;
}

h4 {
  font-size: 1.5rem;
}

h5 {
  font-size: 1.25rem;
}

@media screen and (max-width: 72em) {
  h1 {
    font-size: 2.25rem;
  }
  h2 {
    font-size: 1.75rem;
  }
  h3 {
    font-size: 1.5rem;
  }
  h4 {
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 48em) {
  h1 {
    font-size: 1.75rem;
  }
  h2 {
    font-size: 1.5rem;
  }
  h3 {
    font-size: 1.25rem;
  }
}
p {
  margin-bottom: 1.5em;
  font-size: 1.125rem;
}
@media (max-width: 768px) {
  p {
    font-size: 1rem;
  }
}

dfn,
cite,
em,
i {
  font-style: italic;
}

blockquote {
  margin: 0 1.5em;
}

address {
  margin: 0 0 1.5em;
}

pre {
  background: #eee;
  font-family: inherit;
  line-height: 1.6;
  margin-bottom: 1.6em;
  max-width: 100%;
  overflow: auto;
  padding: 1.6em;
}

code,
kbd,
tt,
var {
  font-family: inherit;
}

abbr,
acronym {
  border-bottom: 1px dotted #666;
  cursor: help;
}

mark,
ins {
  background: #fff9c0;
  text-decoration: none;
}

big {
  font-size: 125%;
}

/* Elements
--------------------------------------------- */
/* Smooth scroll – globalny, z poszanowaniem preferencji a11y */
html {
  scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}
body {
  background: #ffffff;
}
body.menu-open {
  overflow: hidden;
  position: relative;
}
body.menu-open::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  height: 100vh;
  width: 100vw;
  background: rgba(0, 0, 0, 0.35);
  z-index: 999;
}

/* Colors */
.primary {
  color: #2c4263;
}

.secondary {
  color: #738ba8;
}

hr {
  background-color: #e2e8f0;
  border: 0;
  height: 1px;
  margin-bottom: 1.5em;
}

ul,
ol {
  margin: 0 0 1.5em 3em;
}

ul {
  list-style: disc;
}

ol {
  list-style: decimal;
}

li > ul,
li > ol {
  margin-bottom: 0;
  margin-left: 1.5em;
}

dt {
  font-weight: 700;
}

dd {
  margin: 0 1.5em 1.5em;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
  max-width: 100%;
}

img {
  height: auto;
  max-width: 100%;
}

figure {
  margin: 1em 0;
}

/* Global avatar styling - applies across all design packs and layouts */
img.avatar {
  border-radius: 50%;
  object-fit: cover;
  display: inline-block;
  vertical-align: middle;
}

table {
  margin: 0;
  width: 100%;
}

/* Links
--------------------------------------------- */
a {
  text-decoration: none;
  color: #0f2f5c;
}
a:hover, a:focus, a:active {
  color: #d5a800;
}
a:focus {
  outline: thin dotted;
}
a:hover, a:active {
  outline: 0;
}

/* Forms
--------------------------------------------- */
button,
input[type=button],
input[type=reset],
input[type=submit] {
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  line-height: 1;
  padding: 0.6em 1em 0.4em;
  cursor: pointer;
  transition: all 0.2s ease;
}
button:hover,
input[type=button]:hover,
input[type=reset]:hover,
input[type=submit]:hover {
  border-color: rgb(192.3863636364, 205.3409090909, 222.6136363636);
  background-color: #ffffff;
}
button:active, button:focus,
input[type=button]:active,
input[type=button]:focus,
input[type=reset]:active,
input[type=reset]:focus,
input[type=submit]:active,
input[type=submit]:focus {
  border-color: #0f2f5c;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 32px;
  border-radius: 8px;
  font-weight: 600;
  text-decoration: none;
  transition: 0.2s ease;
  font-size: 16px;
  border: none;
  cursor: pointer;
  line-height: 1.4;
  text-align: center;
  min-height: 50px;
  box-sizing: border-box;
}

/* Variants */
.btn-primary {
  background: #fbbf24;
  color: #0f2f5c;
  border: 2px solid transparent;
}
.btn-primary:hover {
  background: #f59e0b;
  color: #0f2f5c;
}

.btn-secondary {
  background: #ffffff;
  color: #2c4263;
  border: 1px solid #e2e8f0;
}
.btn-secondary:hover {
  background: rgb(242.25, 242.25, 242.25);
}

.btn-yellow,
.btn-accent {
  background: #fbbf24;
  color: #0f2f5c;
}
.btn-yellow:hover,
.btn-accent:hover {
  background: rgb(250.5426008969, 183.6816143498, 10.9573991031);
}

.btn-outline {
  background: transparent;
  border: 2px solid #e2e8f0;
  color: #2c4263;
}
.btn-outline:hover {
  background: #ffffff;
  color: #0f2f5c;
}

.send-btn input {
  color: #ffffff;
  background-color: #0f2f5c;
  color: #0f2f5c;
  width: 100%;
  padding-top: 15px;
  padding-bottom: 15px;
  border-radius: 8px;
  font-weight: 700;
  cursor: pointer;
  border: none;
  transition: background 0.2s ease;
}
.send-btn input:hover {
  background-color: rgb(11.4252336449, 35.7990654206, 70.0747663551);
}

input[type=text],
input[type=email],
input[type=url],
input[type=password],
input[type=search],
input[type=number],
input[type=tel],
input[type=range],
input[type=date],
input[type=month],
input[type=week],
input[type=time],
input[type=datetime],
input[type=datetime-local],
input[type=color],
textarea {
  color: #738ba8;
  border: 1px solid #e6e6e6;
  border-radius: 8px;
  padding: 8px 12px;
  line-height: 1.5;
}
input[type=text]:focus,
input[type=email]:focus,
input[type=url]:focus,
input[type=password]:focus,
input[type=search]:focus,
input[type=number]:focus,
input[type=tel]:focus,
input[type=range]:focus,
input[type=date]:focus,
input[type=month]:focus,
input[type=week]:focus,
input[type=time]:focus,
input[type=datetime]:focus,
input[type=datetime-local]:focus,
input[type=color]:focus,
textarea:focus {
  color: #2c4263;
  border-color: #0f2f5c;
  outline: none;
}

select {
  border: 1px solid #e2e8f0;
  border-radius: 8px;
}

textarea {
  width: 100%;
}

/* WordPress Core Elements
--------------------------------------------- */
/*=============================================
=            GLOBAL WP CORE STYLING           =
=============================================*/
/**
 * Modyfikacje natywnych klas WordPress i wtyczek.
 * Gwarantują spójność z globalnym Systemem Design Packs (PBN) 
 * i dbałość o dobre kontrasty (WCAG AA). 
 * Nie używamy tutaj precyzyjnych kolorów na sztywno, 
 * polegamy w 100% na zmiennych ze środowiska tokens.
 */
/* 1. Komentarze (Comments)
--------------------------------------------- */
.comments-area {
  margin-top: 60px;
  padding-top: 40px;
  border-top: 2px solid rgba(15, 47, 92, 0.1);
}

.comment-list {
  list-style: none;
  padding: 0;
  margin: 0 0 40px;
}
.comment-list .comment {
  margin-bottom: 30px;
  padding: 25px;
  background: #ffffff;
  border-radius: 8px;
  box-shadow: 0 2px 6px rgba(15, 47, 92, 0.05);
}
.comment-list .comment .children {
  list-style: none;
  padding-left: 20px;
  margin-top: 20px;
  border-left: 3px solid rgba(15, 47, 92, 0.2);
}
@media (min-width: 768px) {
  .comment-list .comment .children {
    padding-left: 40px;
  }
}
.comment-list .comment .children .comment {
  box-shadow: none;
  border: 1px solid rgba(44, 66, 99, 0.05);
  margin-bottom: 20px;
}
.comment-list .comment-meta {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-bottom: 15px;
  border-bottom: 1px solid rgba(44, 66, 99, 0.05);
  padding-bottom: 15px;
}
.comment-list .comment-meta .comment-author {
  display: flex;
  align-items: center;
  gap: 15px;
  font-weight: 700;
  color: #0f2f5c;
  font-family: var(--font-primary);
}
.comment-list .comment-meta .comment-author .avatar {
  border-radius: 50%;
  width: 45px;
  height: 45px;
}
.comment-list .comment-meta .comment-metadata {
  font-size: 0.85rem;
  color: rgba(44, 66, 99, 0.7);
}
.comment-list .comment-meta .comment-metadata a {
  color: inherit;
  text-decoration: none;
}
.comment-list .comment-meta .comment-metadata a:hover {
  color: #0f2f5c;
}
.comment-list .comment-content {
  line-height: 1.6;
  color: #2c4263;
}
.comment-list .comment-content p {
  margin-bottom: 15px;
}
.comment-list .comment-content p:last-child {
  margin-bottom: 0;
}
.comment-list .reply {
  margin-top: 15px;
  text-align: right;
}
.comment-list .reply a.comment-reply-link {
  display: inline-block;
  font-size: 0.85rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #0f2f5c;
  text-decoration: none;
  padding: 5px 10px;
  border-radius: 8px;
  background: rgba(15, 47, 92, 0.05);
  transition: background 0.2s ease, color 0.2s ease;
}
.comment-list .reply a.comment-reply-link:hover {
  background: #0f2f5c;
  color: #ffffff;
}

/* 2. Paginacja (Pagination)
--------------------------------------------- */
.pagination {
  margin: 40px 0;
  text-align: center;
}
.pagination .nav-links {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: center;
}
.pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 15px;
  border-radius: 8px;
  background: #ffffff;
  color: #2c4263;
  text-decoration: none;
  font-weight: 600;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04);
  transition: all 0.2s ease;
  border: 1px solid transparent;
}
.pagination .page-numbers:not(.current):not(.dots):hover {
  color: #ffffff;
  background: #0f2f5c;
  border-color: #0f2f5c;
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}
.pagination .page-numbers.current {
  background: #0f2f5c;
  color: #ffffff;
  border-color: #0f2f5c;
  pointer-events: none;
}
.pagination .page-numbers.dots {
  background: transparent;
  box-shadow: none;
  color: rgba(44, 66, 99, 0.5);
}
.pagination .page-numbers.prev, .pagination .page-numbers.next {
  font-weight: 700;
  text-transform: uppercase;
  font-size: 0.85rem;
  letter-spacing: 0.5px;
  padding: 0 20px;
  background: #0f2f5c;
  color: #ffffff;
}
.pagination .page-numbers.prev:hover, .pagination .page-numbers.next:hover {
  background: #0f2f5c;
}

/* 3. Breadcrumbs (Yoast SEO)
--------------------------------------------- */
.yoast-breadcrumbs {
  font-size: 0.9rem;
  color: rgba(44, 66, 99, 0.8);
  margin-bottom: 25px;
  padding: 12px 20px;
  background: #ffffff;
  border-radius: 8px;
  box-shadow: 0 2px 6px rgba(15, 47, 92, 0.05);
  display: inline-block;
}
.yoast-breadcrumbs a {
  color: #0f2f5c;
  text-decoration: none;
  font-weight: 500;
  transition: color 0.2s ease;
}
.yoast-breadcrumbs a:hover {
  color: #0f2f5c;
}
.yoast-breadcrumbs .breadcrumb_last {
  color: #2c4263;
  font-weight: 400;
  opacity: 0.8;
}
.yoast-breadcrumbs span[typeof=ListItem]::after {
  color: rgba(44, 66, 99, 0.3);
  margin: 0 8px;
}
.yoast-breadcrumbs span[typeof=ListItem]:last-child::after {
  display: none;
}

/* 4. Widgets
--------------------------------------------- */
.widget {
  background: #ffffff;
  padding: 30px;
  border-radius: 8px;
  box-shadow: 0 2px 6px rgba(15, 47, 92, 0.05);
  margin-bottom: 30px;
}
.widget .widget-title {
  font-size: 1.3rem;
  font-weight: 700;
  font-family: var(--font-primary);
  color: #0f2f5c;
  margin-top: 0;
  margin-bottom: 25px;
  padding-bottom: 12px;
  border-bottom: 2px solid rgba(251, 191, 36, 0.3);
  position: relative;
}
.widget .widget-title::after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 40%;
  height: 2px;
  background: #fbbf24;
}
.widget ul,
.widget ol {
  list-style: none;
  padding: 0;
  margin: 0;
}
.widget ul li,
.widget ol li {
  padding: 10px 0;
  border-bottom: 1px dashed rgba(44, 66, 99, 0.1);
}
.widget ul li:last-child,
.widget ol li:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
.widget ul li a,
.widget ol li a {
  color: #2c4263;
  text-decoration: none;
  transition: color 0.2s ease;
}
.widget ul li a:hover,
.widget ol li a:hover {
  color: #0f2f5c;
}
.widget.widget_recent_entries ul li .post-date {
  display: block;
  font-size: 0.8rem;
  color: rgba(44, 66, 99, 0.6);
  margin-top: 5px;
}
.widget select {
  width: 100%;
  padding: 10px 15px;
  border-radius: 8px;
  border: 1px solid rgba(44, 66, 99, 0.2);
  color: #2c4263;
  outline: none;
  transition: border-color 0.2s;
}
.widget select:focus {
  border-color: #0f2f5c;
}

/* 5. Formularze (Forms) - Defaults & Comment Form
--------------------------------------------- */
input[type=text],
input[type=email],
input[type=url],
input[type=password],
input[type=search],
input[type=number],
input[type=tel],
textarea {
  width: 100%;
  max-width: 100%;
  padding: 12px 18px;
  border: 1px solid rgba(44, 66, 99, 0.2);
  border-radius: 8px;
  background: #ffffff;
  color: #2c4263;
  transition: all 0.3s ease;
  font-size: 1rem;
  font-family: inherit;
}
input[type=text]:focus,
input[type=email]:focus,
input[type=url]:focus,
input[type=password]:focus,
input[type=search]:focus,
input[type=number]:focus,
input[type=tel]:focus,
textarea:focus {
  outline: none;
  border-color: #0f2f5c;
  box-shadow: 0 0 0 3px rgba(15, 47, 92, 0.15);
}
input[type=text]::placeholder,
input[type=email]::placeholder,
input[type=url]::placeholder,
input[type=password]::placeholder,
input[type=search]::placeholder,
input[type=number]::placeholder,
input[type=tel]::placeholder,
textarea::placeholder {
  color: rgba(44, 66, 99, 0.4);
}

textarea {
  min-height: 120px;
  resize: vertical;
}

input[type=submit],
button.submit,
.btn-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 30px;
  font-size: 1rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  background: #0f2f5c;
  color: #ffffff;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: background 0.3s ease, transform 0.2s ease;
}
input[type=submit]:hover, input[type=submit]:focus,
button.submit:hover,
button.submit:focus,
.btn-submit:hover,
.btn-submit:focus {
  background: #0f2f5c;
  color: #ffffff;
  transform: translateY(-2px);
}
input[type=submit]:active,
button.submit:active,
.btn-submit:active {
  transform: translateY(0);
}

.comment-respond {
  margin-top: 40px;
  background: #ffffff;
  padding: 30px;
  border-radius: 8px;
  box-shadow: 0 2px 6px rgba(15, 47, 92, 0.05);
}
.comment-respond .comment-reply-title {
  font-family: var(--font-primary);
  font-weight: 700;
  font-size: 1.5rem;
  margin-bottom: 20px;
  color: #0f2f5c;
}
.comment-respond .comment-reply-title small {
  display: inline-block;
  margin-left: 10px;
  font-size: 1rem;
}
.comment-respond .comment-reply-title small a {
  color: #0f2f5c;
  text-decoration: none;
}
.comment-respond .comment-form {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.comment-respond .comment-form p {
  margin: 0;
  width: 100%;
}
.comment-respond .comment-form .comment-notes {
  font-size: 0.9rem;
  color: rgba(44, 66, 99, 0.6);
}
.comment-respond .comment-form .comment-form-author,
.comment-respond .comment-form .comment-form-email,
.comment-respond .comment-form .comment-form-url {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.comment-respond .comment-form .comment-form-author label,
.comment-respond .comment-form .comment-form-email label,
.comment-respond .comment-form .comment-form-url label {
  font-size: 0.95rem;
  font-weight: 600;
}
.comment-respond .comment-form .comment-form-author .required,
.comment-respond .comment-form .comment-form-email .required,
.comment-respond .comment-form .comment-form-url .required {
  color: #d32f2f;
}
.comment-respond .comment-form .comment-form-cookies-consent {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.9rem;
}
.comment-respond .comment-form .comment-form-cookies-consent input[type=checkbox] {
  width: auto;
  cursor: pointer;
}

/* 6. Gutenberg Pullquotes
--------------------------------------------- */
.wp-block-pullquote {
  padding: 3rem 0;
  border-top: 4px solid #0f2f5c;
  border-bottom: 4px solid #0f2f5c;
  text-align: center;
}
@media (max-width: 768px) {
  .wp-block-pullquote {
    padding: 1.5rem 0;
  }
}
.wp-block-pullquote blockquote p {
  font-size: 1.5rem;
  color: #0f2f5c;
  line-height: 1.3;
}
@media (max-width: 768px) {
  .wp-block-pullquote blockquote p {
    font-size: 1.25rem;
  }
}
.wp-block-pullquote cite {
  display: block;
  margin-top: 15px;
  font-size: 0.9rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #0f2f5c;
  font-weight: 600;
}

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/
/* Navigation
--------------------------------------------- */
.main-navigation {
  display: block;
  width: 100%;
}
.main-navigation ul {
  display: none;
  list-style: none;
  margin: 0;
  padding-left: 0;
}
.main-navigation ul.nav-menu > li.menu-item-has-children:hover {
  background: #ffffff;
  box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
}
.main-navigation ul.nav-menu > li.menu-item-has-children:hover .menu-chevron {
  transform: rotate(180deg);
}
.main-navigation ul.nav-menu > li.menu-item-has-children .menu-item_dropdown {
  display: flex;
  align-items: center;
  height: 100%;
  gap: 5px;
  cursor: pointer;
  padding: 10px 0 10px 10px;
}
@media (max-width: 62em) {
  .main-navigation ul.nav-menu > li.menu-item-has-children .menu-item_dropdown {
    justify-content: space-between;
    gap: 20px;
  }
}
@media (max-width: 62em) {
  .main-navigation ul.nav-menu > li.menu-item-has-children .menu-item_dropdown .submenu-toggle svg {
    width: 24px;
    height: 24px;
    padding-top: 4px;
  }
}
@media (max-width: 62em) {
  .main-navigation ul.nav-menu > li.menu-item-has-children .sub-menu {
    display: none;
  }
}
.main-navigation ul.nav-menu > li.menu-item-has-children.is-open .menu-chevron {
  transform: rotate(180deg);
}
@media (max-width: 62em) {
  .main-navigation ul.nav-menu > li.menu-item-has-children.is-open .sub-menu {
    display: block;
    padding-left: 15px;
    left: 0;
    position: relative;
    box-shadow: none;
  }
}
.main-navigation ul.nav-menu > li.menu-item-has-children .menu-chevron {
  transition: transform 0.2s ease;
}
.main-navigation ul.nav-menu > li > a {
  padding: 10px;
  transition: all 0.15s ease-in !important;
}
.main-navigation ul ul {
  box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
  float: left;
  position: absolute;
  top: 100%;
  left: -999em;
  z-index: 99999;
}
.main-navigation ul ul ul {
  left: -999em;
  top: 0;
}
.main-navigation ul ul li:hover > ul, .main-navigation ul ul li.focus > ul {
  display: block;
  left: auto;
}
.main-navigation ul ul a {
  min-width: 280px;
  color: #111;
  padding: 0.75rem 10px;
}
.main-navigation ul li:hover > ul {
  left: auto;
  top: auto;
  display: flex;
  flex-direction: column;
  background: #ffffff;
  row-gap: 0;
}
.main-navigation ul li:hover > ul li:hover {
  background: #0f2f5c;
}
@media (max-width: 62em) {
  .main-navigation ul li:hover > ul {
    position: relative;
    float: none;
  }
}
.main-navigation ul li.focus > ul {
  left: auto;
}
.main-navigation li {
  position: relative;
}
.main-navigation a {
  display: block;
  text-decoration: none;
  color: #111;
}

/* Small menu. */
.main-navigation.toggled .menu-toggle .opened {
  display: none;
}
.main-navigation.toggled .menu-toggle .closed {
  display: block;
}
@media (max-width: 62em) {
  .main-navigation.toggled ul {
    display: block;
  }
}
@media (max-width: 62em) {
  .main-navigation.toggled > div[class*=menu-main] {
    position: absolute;
    background: #ffffff;
    top: 0;
    right: 0;
    z-index: 9999;
    height: 100vh;
    padding-top: 80px;
    width: 80vw;
  }
}
.main-navigation .menu-toggle {
  display: block;
  background: transparent;
  font-size: 2rem;
  padding: 1rem 2rem;
  margin: 0;
  border: none;
  width: 100%;
  text-align: right;
  z-index: 99999;
  position: relative;
}
.main-navigation .menu-toggle .opened {
  display: block;
}
.main-navigation .menu-toggle .closed {
  display: none;
}

@media screen and (min-width: 62em) {
  .main-navigation .menu-toggle {
    display: none;
  }
  .main-navigation ul {
    display: flex;
    gap: 1rem;
    justify-content: center;
    font-size: 1.125rem;
    font-weight: 500;
  }
}
.site-main .comment-navigation,
.site-main .posts-navigation,
.site-main .post-navigation {
  margin: 0 0 1.5em;
}
.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
  display: flex;
  flex-direction: column;
  gap: 15px;
}
@media (min-width: 62em) {
  .comment-navigation .nav-links,
  .posts-navigation .nav-links,
  .post-navigation .nav-links {
    flex-direction: row;
    gap: 0;
  }
}
@media (min-width: 62em) {
  .comment-navigation .nav-previous,
  .posts-navigation .nav-previous,
  .post-navigation .nav-previous {
    flex: 1 0 50%;
  }
}
.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
  text-align: left;
}
@media (min-width: 62em) {
  .comment-navigation .nav-next,
  .posts-navigation .nav-next,
  .post-navigation .nav-next {
    text-align: end;
    flex: 1 0 50%;
  }
}

.pbn-breadcrumbs {
  font-size: 0.85rem;
  color: #738ba8;
  margin-top: 25px;
  margin-bottom: 25px;
  font-weight: 500;
}
@media (max-width: 768px) {
  .pbn-breadcrumbs {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
.pbn-breadcrumbs a {
  color: #0f2f5c;
  text-decoration: none;
}
.pbn-breadcrumbs a:hover {
  color: #d5a800;
}

/* Decors
--------------------------------------------- */
.underline-left {
  position: relative;
  padding-bottom: 10px;
}
.underline-left::before {
  position: absolute;
  top: 100%;
  left: 0;
  content: "";
  width: 150px;
  height: 2px;
  background-color: #be9b4b;
}

.underline-center {
  position: relative;
  padding-bottom: 10px;
}
.underline-center::before {
  position: absolute;
  top: 100%;
  left: calc(50% - 50px);
  content: "";
  width: 100px;
  height: 4px;
  background-color: #be9b4b;
}

.bg-gradient {
  background-image: linear-gradient(to bottom right, hsla(160, 35%, 92%, 0.45), hsl(0, 0%, 100%));
}

.svg-gradient {
  background-image: url(' data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" fill="none" stroke="%23004225" stroke-opacity="0.03" stroke-width="1"> <path d="M0 32 Q16 24 32 32 T64 32" /> <path d="M0 48 Q16 40 32 48 T64 48" /> </svg>');
  background-size: 64px 72px;
}

.hover-scale {
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 0.3s;
}
.hover-scale:hover {
  transform: matrix(1.05, 0, 0, 1.05, 0, 0);
  box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.1) 0px 20px 25px -5px, rgba(0, 0, 0, 0.1) 0px 8px 10px -6px;
}

.hover-scale-y {
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 0.3s;
}
.hover-scale-y:hover {
  transform: matrix(1, 0, 0, 1, 0, -4);
  box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.1) 0px 20px 25px -5px, rgba(0, 0, 0, 0.1) 0px 8px 10px -6px;
}

/* Posts and pages
--------------------------------------------- */
.sticky {
  display: block;
}

.post,
.page {
  margin: 0;
}

.updated:not(.published) {
  display: none;
}

.page-content,
.entry-content,
.entry-summary {
  margin: 1.5em 0 0;
}

main .entry-content:first-of-type {
  margin: 0;
}

.page-links {
  clear: both;
  margin: 0 0 1.5em;
}

.blog-card {
  display: flex;
  flex-direction: column;
  background: #ffffff;
  border-radius: 8px;
  box-shadow: 0 2px 6px rgba(15, 47, 92, 0.05);
  overflow: hidden;
  height: 100%;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.blog-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}
.blog-card__image {
  position: relative;
  overflow: hidden;
  border-bottom: 2px solid rgba(15, 47, 92, 0.1);
}
.blog-card__image a {
  display: block;
}
.blog-card__image img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  transition: transform 0.5s ease;
  display: block;
}
.blog-card__image:hover img {
  transform: scale(1.05);
}
.blog-card__content {
  padding: 30px;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}
@media (max-width: 768px) {
  .blog-card__content {
    padding-left: 15px;
    padding-right: 15px;
  }
}
.blog-card__category {
  display: inline-block;
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  color: #0f2f5c;
  margin-bottom: 10px;
  letter-spacing: 1px;
}
.blog-card__title {
  font-size: 1.5rem;
  font-family: var(--font-primary);
  font-weight: 700;
  line-height: 1.3;
  margin: 0 0 15px;
}
.blog-card__title a {
  color: #0f2f5c;
  text-decoration: none;
  transition: color 0.2s ease;
}
.blog-card__title a:hover {
  color: #d5a800;
}
.blog-card__excerpt {
  color: #2c4263;
  font-size: 1rem;
  line-height: 1.6;
  margin-bottom: 20px;
  flex-grow: 1;
}
.blog-card__excerpt p {
  margin: 0;
}
.blog-card__readmore {
  display: inline-table;
  margin-top: auto;
  font-weight: 700;
  color: #0f2f5c;
  text-decoration: none;
  font-size: 0.95rem;
}
.blog-card__readmore:hover {
  color: #d5a800;
}

.card {
  background: #ffffff;
  border-radius: 8px;
  overflow: hidden;
}
.card--shadowed {
  box-shadow: 0 2px 6px rgba(15, 47, 92, 0.05);
}
.card--bordered {
  border: 1px solid #e2e8f0;
}
.card--flat {
  background: transparent;
  box-shadow: none;
  border: none;
}

.post-footer-modules {
  margin-top: 60px;
  margin-bottom: 80px;
  padding-top: 40px;
  border-top: 2px solid rgba(15, 47, 92, 0.1);
}

.post-navigation {
  margin: 0 0 60px;
}
.post-navigation .nav-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 30px;
}
.post-navigation .nav-previous,
.post-navigation .nav-next {
  flex: 1 1 45%;
  background: #ffffff;
  border-radius: 8px;
  box-shadow: 0 2px 6px rgba(15, 47, 92, 0.05);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  border: 1px solid rgba(44, 66, 99, 0.05);
}
.post-navigation .nav-previous:hover,
.post-navigation .nav-next:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 20px rgba(15, 47, 92, 0.08);
}
.post-navigation .nav-previous a,
.post-navigation .nav-next a {
  text-decoration: none;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 25px;
}
.post-navigation .nav-previous .nav-subtitle,
.post-navigation .nav-next .nav-subtitle {
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #0f2f5c;
  font-weight: 700;
}
.post-navigation .nav-previous .nav-title,
.post-navigation .nav-next .nav-title {
  color: #0f2f5c;
  font-size: 1.1rem;
  line-height: 1.4;
  transition: color 0.2s ease;
  font-family: var(--font-primary);
}
.post-navigation .nav-previous:hover .nav-title,
.post-navigation .nav-next:hover .nav-title {
  color: #0f2f5c;
}
.post-navigation .nav-next {
  text-align: right;
}

.related-posts {
  margin-bottom: 60px;
}
.related-posts-title {
  font-family: var(--font-primary);
  font-size: 1.3rem;
  font-weight: 700;
  margin-top: 0;
  margin-bottom: 25px;
  padding-bottom: 12px;
  border-bottom: 2px solid rgba(42, 42, 42, 0.2);
  position: relative;
  color: #0f2f5c;
}
.related-posts__grid .card {
  display: flex;
  flex-direction: column;
  height: 100%;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  overflow: hidden;
}
.related-posts__grid .card:hover {
  transform: translateY(-5px);
  box-shadow: 0 6px 20px rgba(15, 47, 92, 0.08);
}
.related-posts__grid .card__image-link {
  display: block;
  overflow: hidden;
}
.related-posts__grid .card__image-link img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}
.related-posts__grid .card:hover .related-posts__grid .card__image-link img {
  transform: scale(1.05);
}
.related-posts__grid .card__content {
  padding: 25px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  background: #ffffff;
}
.related-posts__grid .card__title {
  margin: 0 0 15px;
  font-weight: 700;
  line-height: 1.4;
  font-family: var(--font-primary);
}
.related-posts__grid .card__title a {
  color: #0f2f5c;
  text-decoration: none;
  transition: color 0.2s ease;
}
.related-posts__grid .card__title a:hover {
  color: #d5a800;
}
.related-posts__grid .card__meta {
  margin-top: auto;
  font-size: 0.85rem;
  color: #738ba8;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-weight: 600;
}
.related-posts__grid .card__meta a {
  color: inherit;
  text-decoration: none;
}

/* Comments
--------------------------------------------- */
.comment-content a {
  word-wrap: break-word;
}

.bypostauthor {
  display: block;
}

/* Widgets
--------------------------------------------- */
.widget {
  margin: 0 0 1.5em;
}
.widget select {
  max-width: 100%;
}

.custom-toc__title {
  font-size: 1.25rem;
  font-family: var(--font-primary);
  font-weight: 700;
  color: #0f2f5c;
  margin-bottom: 15px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.custom-toc__title::before {
  content: "";
  display: inline-block;
  width: 15px;
  height: 3px;
  background: #0f2f5c;
  border-radius: 2px;
}
.custom-toc__list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.custom-toc__item {
  line-height: 1.4;
}
.custom-toc__item a {
  color: #2c4263;
  text-decoration: none;
  font-size: 0.95rem;
  transition: color 0.2s ease;
}
.custom-toc__item a:hover {
  color: #0f2f5c;
}
.custom-toc__item.level-3 {
  padding-left: 20px;
  font-size: 0.9rem;
}
.custom-toc__item.level-3 a {
  color: #738ba8;
}

.single-sidebar {
  position: -webkit-sticky !important;
  position: sticky !important;
  top: 120px !important;
  align-self: flex-start !important;
}

.pbn-widget-layout .entry-summary {
  display: none;
}

.before-footer-global-area .alignwide,
.before-footer-home-area .alignwide,
.before-footer-archive-area .alignwide,
.before-footer-single-area .alignwide {
  padding-left: 0;
  padding-right: 0;
}

/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
  border: none;
  margin-bottom: 0;
  margin-top: 0;
  padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
  display: flex;
}

/* Captions
--------------------------------------------- */
.wp-caption {
  margin-bottom: 1.5em;
  max-width: 100%;
}
.wp-caption img[class*=wp-image-] {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.wp-caption .wp-caption-text {
  margin: 0.8075em 0;
}

.wp-caption-text {
  text-align: center;
}

/* Galleries
--------------------------------------------- */
.gallery {
  margin-bottom: 1.5em;
  display: grid;
  grid-gap: 1.5em;
}

.gallery-item {
  display: inline-block;
  text-align: center;
  width: 100%;
}

.gallery-columns-2 {
  grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
  grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
  grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
  grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
  grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
  grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
  grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
  grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
  display: block;
}

/* Partials
--------------------------------------------- */
.pbn-article-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  align-items: center;
  font-size: 0.9rem;
  color: #738ba8;
  margin: 20px 0;
  padding-bottom: 20px;
  border-bottom: 1px solid #e2e8f0;
}
.pbn-article-meta__item strong {
  color: #0f2f5c;
  padding-right: 5px;
}
.pbn-article-meta .avatar {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  object-fit: cover;
  display: inline-block;
  vertical-align: middle;
  margin-right: 5px;
}
.pbn-article-meta__sep {
  color: #e2e8f0;
}
@media (max-width: 575px) {
  .pbn-article-meta__sep {
    display: none;
  }
}
@media (max-width: 575px) {
  .pbn-article-meta {
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
  }
}

.pbn-author-box,
.wp-block-pbn-author-box {
  display: flex;
  gap: 30px;
  padding: 30px;
  background: #ffffff;
  border-radius: 8px;
  margin: 40px 0;
}
@media (max-width: 768px) {
  .pbn-author-box,
  .wp-block-pbn-author-box {
    margin: 20px 1rem;
  }
}
@media (max-width: 767px) {
  .pbn-author-box,
  .wp-block-pbn-author-box {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
}
.pbn-author-box__avatar,
.wp-block-pbn-author-box__avatar {
  flex-shrink: 0;
}
.pbn-author-box__avatar img,
.wp-block-pbn-author-box__avatar img {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  object-fit: cover;
  border: 3px solid #fff;
}
.pbn-author-box__info,
.wp-block-pbn-author-box__info {
  flex-grow: 1;
}
.pbn-author-box__header,
.wp-block-pbn-author-box__header {
  margin-bottom: 10px;
}
.pbn-author-box__name,
.wp-block-pbn-author-box__name {
  margin: 0;
  font-size: 1.5rem;
  color: #0f2f5c;
}
.pbn-author-box__specialization,
.wp-block-pbn-author-box__specialization {
  display: inline-block;
  font-size: 0.875rem;
  color: #0f2f5c;
  text-transform: uppercase;
  font-weight: 700;
  margin-top: 5px;
}
.pbn-author-box__experience,
.wp-block-pbn-author-box__experience {
  margin-bottom: 15px;
  font-size: 0.9rem;
}
.pbn-author-box__bio,
.wp-block-pbn-author-box__bio {
  margin-bottom: 20px;
  line-height: 1.5;
  font-size: 1rem;
}
.pbn-author-box__socials,
.wp-block-pbn-author-box__socials {
  display: flex;
  gap: 15px;
}
@media (max-width: 767px) {
  .pbn-author-box__socials,
  .wp-block-pbn-author-box__socials {
    justify-content: center;
  }
}
.pbn-author-box__social,
.wp-block-pbn-author-box__social {
  font-size: 0.8rem;
  font-weight: 700;
  color: #0f2f5c;
  text-decoration: none;
}
.pbn-author-box__social:hover,
.wp-block-pbn-author-box__social:hover {
  color: #0f2f5c;
}

.pbn-related-posts {
  margin-bottom: 40px;
}
@media (max-width: 768px) {
  .pbn-related-posts {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
.pbn-related-posts .pbn-related-posts__title {
  font-size: 1.8rem;
  margin-bottom: 30px;
  font-family: var(--font-primary);
  font-weight: 700;
  color: #0f2f5c;
}
@media (max-width: 768px) {
  .pbn-related-posts .pbn-related-posts__title {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
.pbn-related-posts a {
  text-decoration: none;
  color: inherit;
  transition: color 0.3s ease;
}
.pbn-related-posts a:hover {
  color: #0f2f5c;
}
.pbn-related-posts .pbn-related-posts__thumbnail {
  display: block;
  overflow: hidden;
}
.pbn-related-posts .pbn-related-posts__thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}
.pbn-related-posts .pbn-related-posts__thumbnail:hover img {
  transform: scale(1.05);
}
.pbn-related-posts--minimal .pbn-related-posts__item {
  background: #ffffff;
  border-radius: 8px;
  overflow: hidden;
  transition: box-shadow 0.3s ease;
}
.pbn-related-posts--minimal .pbn-related-posts__item:hover {
  box-shadow: 0 2px 6px rgba(15, 47, 92, 0.05);
}
.pbn-related-posts--minimal .pbn-related-posts__item .pbn-related-posts__thumbnail {
  height: 200px;
}
.pbn-related-posts--minimal .pbn-related-posts__item .pbn-related-posts__content {
  padding: 20px;
}
.pbn-related-posts--minimal .pbn-related-posts__item .pbn-related-posts__item-title {
  margin: 0;
  font-size: 1.2rem;
  line-height: 1.4;
}
.pbn-related-posts--enhanced .pbn-related-posts__item {
  display: flex;
  flex-direction: column;
  background: #ffffff;
  border-radius: 8px;
  overflow: hidden;
}
.pbn-related-posts--enhanced .pbn-related-posts__item .pbn-related-posts__thumbnail {
  height: 250px;
}
.pbn-related-posts--enhanced .pbn-related-posts__item .pbn-related-posts__content {
  padding: 30px;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}
.pbn-related-posts--enhanced .pbn-related-posts__item .pbn-related-posts__item-title {
  margin: 0 0 15px 0;
  font-size: 1.5rem;
  line-height: 1.3;
}
.pbn-related-posts--enhanced .pbn-related-posts__item .pbn-related-posts__excerpt {
  margin-bottom: 20px;
  color: rgba(44, 66, 99, 0.8);
  font-size: 1rem;
  line-height: 1.6;
  flex-grow: 1;
}
.pbn-related-posts--enhanced .pbn-related-posts__item .pbn-related-posts__footer {
  margin-top: auto;
}
.pbn-related-posts--sidebar .pbn-related-posts__list {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.pbn-related-posts--sidebar .pbn-related-posts__item {
  display: flex;
  align-items: center;
  gap: 15px;
}
.pbn-related-posts--sidebar .pbn-related-posts__item .pbn-related-posts__thumbnail {
  flex: 0 0 80px;
  height: 80px;
  border-radius: 8px;
  overflow: hidden;
}
.pbn-related-posts--sidebar .pbn-related-posts__item .pbn-related-posts__content {
  flex: 1;
}
.pbn-related-posts--sidebar .pbn-related-posts__item .pbn-related-posts__item-title {
  margin: 0;
  font-size: 1.1rem;
  line-height: 1.3;
}

@media (max-width: 768px) {
  .related-posts-title {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

.wp-block-pbn-toc {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 20px;
  margin: 40px 0;
  max-width: 400px;
}
.wp-block-pbn-toc__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 15px;
  cursor: pointer;
}
.wp-block-pbn-toc__title {
  font-weight: 700;
  font-size: 1.1rem;
  color: #0f2f5c;
}
.wp-block-pbn-toc__toggle {
  background: none;
  border: none;
  padding: 5px;
  cursor: pointer;
}
.wp-block-pbn-toc__toggle-icon {
  display: block;
  width: 10px;
  height: 10px;
  border-right: 2px solid #0f2f5c;
  border-bottom: 2px solid #0f2f5c;
  transform: rotate(45deg);
  transition: transform 0.3s ease;
}
.wp-block-pbn-toc__toggle[aria-expanded=false] .pbn-toc__toggle-icon {
  transform: rotate(-135deg);
}
.wp-block-pbn-toc__list ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.wp-block-pbn-toc__list li {
  margin-bottom: 8px;
  font-size: 0.95rem;
}
.wp-block-pbn-toc__list li a {
  color: #2c4263;
  text-decoration: none;
}
.wp-block-pbn-toc__list li a:hover {
  color: #0f2f5c;
  text-decoration: underline;
}
.wp-block-pbn-toc__list .toc-h3 {
  padding-left: 20px;
  font-size: 0.85rem;
}

.pbn-recipe-info-box {
  background-color: #ffffff;
  color: #2c4263;
  padding: 30px;
  margin-bottom: 30px;
  border-radius: 8px;
  box-shadow: 0 2px 6px rgba(15, 47, 92, 0.05);
  border: 1px solid #e2e8f0;
  border-top: 4px solid #fbbf24;
}
.pbn-recipe-info-box .recipe-meta-item {
  display: flex;
  align-items: flex-start;
  margin-bottom: 20px;
}
.pbn-recipe-info-box .recipe-meta-item:last-child {
  margin-bottom: 0;
}
.pbn-recipe-info-box .recipe-meta-item .recipe-icon {
  margin-right: 15px;
  margin-top: 2px;
}
.pbn-recipe-info-box .recipe-meta-item .recipe-icon .dashicons {
  font-size: 24px;
  width: 24px;
  height: 24px;
  color: #fbbf24;
}
.pbn-recipe-info-box .recipe-meta-item .recipe-content {
  display: flex;
  flex-direction: column;
}
.pbn-recipe-info-box .recipe-meta-item .recipe-content .recipe-label {
  font-weight: 700;
  font-size: 1.05rem;
  color: #0f2f5c;
  margin-bottom: 2px;
}
.pbn-recipe-info-box .recipe-meta-item .recipe-content .recipe-value {
  font-size: 0.95rem;
  color: #2c4263;
  font-weight: 400;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/
/* Text meant only for screen readers. */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}
.screen-reader-text:focus {
  background-color: #F5F5F5;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  clip-path: none;
  color: #111;
  display: block;
  font-size: 0.875rem;
  font-weight: 700;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
  outline: 0;
}

.alignleft {
  /*rtl:ignore*/
  float: left;
  /*rtl:ignore*/
  margin-right: 1.5em;
  margin-bottom: 1.5em;
}

.alignright {
  /*rtl:ignore*/
  float: right;
  /*rtl:ignore*/
  margin-left: 1.5em;
  margin-bottom: 1.5em;
}

.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1.5em;
}

.center {
  text-align: center;
}

/*# sourceMappingURL=style-pack-14.css.map */
