/* fonts.css */
/* Self-hosted Lato and Cabin (SIL Open Font License). Generated by tools/fetch-fonts.mjs. */
@font-face{font-family:'Cabin';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/cabin-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Cabin';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/cabin-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Cabin';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/cabin-700-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Cabin';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/cabin-700-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Lato';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/lato-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Lato';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/lato-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Lato';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/lato-700-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Lato';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/lato-700-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}

/* variables.css */
/* The current look of agileadept.pl (Gridlove theme), as variables.
   This is the ONLY CSS file with raw colors, font names, sizes and shadows.
   Moving to the Agile Adept stylebook later means rewriting this file. */
:root {
  --aa-bg-page: #f3f3f3;
  --aa-bg-box: #ffffff;
  --aa-text-body: #4c4d52;
  --aa-text-heading: #111111;
  --aa-text-meta: #818181;
  --aa-accent: #009cff;
  --aa-accent-underline: rgba(0, 156, 255, 0.8);
  --aa-header-bg: #ffffff;
  --aa-header-text: #111111;
  --aa-header-hover-bg: rgba(17, 17, 17, 0.05);
  --aa-header-border: rgba(17, 17, 17, 0.1);
  --aa-submenu-border: rgba(17, 17, 17, 0.05);
  --aa-cat-default: #009cff;
  --aa-cat-agile: #61c436;
  --aa-cat-kanban: #ffa100;
  --aa-overlay-dark: rgba(0, 0, 0, 0.5);
  --aa-footer-bg: #111111;
  --aa-footer-text: #ffffff;
  --aa-footer-link: rgba(255, 255, 255, 0.8);
  --aa-footer-separator: rgba(255, 255, 255, 0.2);
  --aa-box-shadow: 0 3px 5px 0 rgba(0, 1, 1, 0.1);
  --aa-dropdown-shadow: 0 3px 5px 0 rgba(0, 0, 0, 0.1);
  --aa-mobile-header-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.15);
  --aa-menu-divider: rgba(76, 77, 82, 0.1);
  --aa-on-color: #ffffff;
  /* Header social icons (Gridlove) and footer social block (WordPress) */
  --aa-social-youtube: #c4302b;
  --aa-social-facebook: #3b5998;
  --aa-social-linkedin: #0e76a8;
  --aa-wp-social-facebook: #0866ff;
  --aa-wp-social-youtube: #ff0000;
  --aa-wp-social-twitter: #1da1f2;
  --aa-radius: 0;
  --aa-container: 1230px;
  --aa-gutter: 30px;

  --aa-font-body: 'Lato', Arial, sans-serif;
  --aa-font-ui: 'Cabin', Arial, sans-serif;
  --aa-fw-regular: 400;
  --aa-fw-bold: 700;
  --aa-fs-body: 17px;
  --aa-fs-post: 16px;
  --aa-fs-widget: 16px;
  --aa-fs-nav: 16px;
  --aa-fs-h1: 42px;
  --aa-fs-h2: 26px;
  --aa-fs-h3: 22px;
  --aa-fs-h4: 20px;
  --aa-fs-h5: 18px;
  --aa-fs-h6: 16px;
  --aa-fs-footer: 12px;
  --aa-fs-footer-links: 11px;
  --aa-fs-social-glyph: 12px;
  --aa-fs-social-name: 14px;
  --aa-fs-footer-social: 24px;
  --aa-fs-mobile-action: 21px;
  --aa-lh-footer-widget: 1.43;

  --aa-header-height: 120px;
  --aa-sticky-height: 70px;
  --aa-mobile-header-height: 70px;
  --aa-offcanvas-width: 320px;
  --aa-cover-height: 500px;
  --aa-container-pad: 30px;
  --aa-col-pad: 30px;
}

/* Gridlove breakpoints: 1024–1040 (desktop header, tablet type), 580–1023 (mobile header, 70 px), below 580 (mobile header, 50 px). */
@media (max-width: 1040px) {
  :root { --aa-fs-body: 16px; --aa-fs-h1: 36px; --aa-container-pad: 24px; --aa-col-pad: 12px; }
}
@media (max-width: 1023px) {
  :root { --aa-container: 830px; }
}
@media (max-width: 579px) {
  :root { --aa-container: 410px; --aa-container-pad: 20px; --aa-col-pad: 10px; --aa-fs-h1: 28px; --aa-mobile-header-height: 50px; --aa-fs-mobile-action: 18px; }
}
@media (max-width: 374px) {
  :root { }
}
@media (max-width: 340px) {
  :root { --aa-container-pad: 10px; }
}

/* Covers, content column, boxes (Gridlove single/page layouts) */
:root {
  --aa-cover-overlay: rgba(0, 0, 0, 0.6);
  --aa-cover-edge: #000000;
  --aa-cover-bg: #000000;
  --aa-on-dark-meta: rgba(255, 255, 255, 0.8);
  --aa-fs-meta-cover: 13px;
  --aa-fs-cat: 10px;
  --aa-lh-heading: 1.2;
  --aa-content-max: 770px;
  --aa-sidebar-width: 330px;
  --aa-box-pad: 40px 60px 50px;
  --aa-block-gap: 30px;
}
@media (max-width: 1023px) { :root { --aa-cover-height: 400px; } }
@media (max-width: 1040px) and (min-width: 580px) { :root { --aa-block-gap: 24px; } }
@media (max-width: 579px) { :root { --aa-cover-height: 320px; --aa-block-gap: 20px; } }
@media (max-width: 340px) { :root { --aa-block-gap: 15px; } }
:root { --aa-fs-meta: 12px; }
@media (min-width: 1023px) and (max-width: 1040px), (min-width: 600px) and (max-width: 700px), (max-width: 320px) { :root { --aa-fs-meta: 11px; } }
:root { --aa-code-text: #bd4147; --aa-code-bg: #f7f7f9; --aa-pre-bg: rgba(105, 105, 105, 0.1); --aa-table-border: rgba(76, 77, 82, 0.1); --aa-font-mono: Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace; --aa-fs-quote: 18px; }
:root { --aa-gutter-half: 15px; --aa-border-soft: rgba(76, 77, 82, 0.1); --aa-fs-pill: 10px; --aa-fs-small: 14px; }
@media (max-width: 1040px) { :root { --aa-gutter-half: 12px; --aa-box-pad: 40px 40px 48px; --aa-sidebar-width: 324px; } }
@media (max-width: 1023px) { :root { --aa-content-max: 712px; } }
@media (max-width: 579px) { :root { --aa-gutter-half: 10px; --aa-box-pad: 20px; --aa-sidebar-width: 330px; } }
:root { --aa-input-border: rgba(76, 77, 82, 0.2); --aa-button-shadow: 0 3px 5px 0 rgba(0, 0, 0, 0.1); --aa-fs-label: 12px; --aa-fs-comment-author: 18px; }
:root { --aa-fs-card: 16px; --aa-lh-card: 22px; --aa-image-overlay-sm: rgba(0, 0, 0, 0.4); --aa-image-overlay-sm-hover: rgba(0, 0, 0, 0.8); }
/* WordPress block presets used in post bodies */
:root { --aa-wp-cyan-bluish-gray: #abb8c3; --aa-wp-white: #ffffff; --aa-wp-black: #000000; --aa-fs-wp-small: 13.6px; --aa-mark-text: #000000; --aa-font-verse: Menlo, Consolas, monaco, monospace; --aa-fs-quote-mark: 72px; }
:root { --aa-badge-bg: #000000; }
/* Heading sizes and line heights per breakpoint (Gridlove typography options) */
:root { --aa-lh-h1: 1.2; --aa-lh-h2: 1.308; --aa-lh-h3: 1.364; --aa-lh-h4: 1.4; --aa-lh-h5: 1.445; }
@media (max-width: 1040px) { :root { --aa-fs-h1: 40px; --aa-lh-h1: 46px; --aa-fs-h2: 26px; --aa-lh-h2: 34px; --aa-fs-h3: 22px; --aa-lh-h3: 30px; --aa-fs-h4: 20px; --aa-lh-h4: 28px; --aa-fs-h5: 18px; --aa-lh-h5: 26px; } }
@media (max-width: 1040px) and (min-width: 580px) { :root { --aa-fs-h1: 36px; --aa-lh-h1: 42px; } }
@media (min-width: 1023px) and (max-width: 1040px), (min-width: 600px) and (max-width: 700px), (max-width: 320px) { :root { --aa-fs-h2: 24px; --aa-lh-h2: 32px; --aa-fs-h3: 20px; --aa-lh-h3: 26px; --aa-fs-h4: 19px; --aa-lh-h4: 27px; --aa-fs-h5: 17px; --aa-lh-h5: 25px; } }
@media (max-width: 579px) { :root { --aa-fs-h1: 28px; --aa-lh-h1: 34px; --aa-fs-h2: 24px; --aa-lh-h2: 32px; } }
:root { --aa-content-gap: 30px; }
@media (max-width: 1040px) and (min-width: 580px) { :root { --aa-content-gap: 24px; } }
/* Title of a full-width layout-b card (related posts): 26 px, except 1023–1040 */
:root { --aa-fs-card-wide: 26px; --aa-lh-card-wide: 1.308; }
@media (max-width: 1040px) { :root { --aa-lh-card-wide: 34px; } }
@media (min-width: 1023px) and (max-width: 1040px) { :root { --aa-fs-card-wide: 22px; --aa-lh-card-wide: 30px; } }
/* Testimonial slider (Testimonial Slider and Showcase plugin look) */
:root { --aa-tss-box: #f8f8f8; --aa-tss-name: #3a3a3a; --aa-tss-star: #dd9933; --aa-tss-quote: #eaeaea; --aa-tss-dot: #2550ea; --aa-fs-tss-name: 24px; --aa-fs-tss-star: 20px; --aa-fs-tss-quote: 30px; }
/* Price tables (Essential Blocks pricing, used on /kurs-agile-scrum/) */
:root { --aa-eb-border: rgba(9, 9, 9, 0.1); --aa-eb-divider: #dbdbdb; --aa-eb-divider-soft: rgba(9, 9, 9, 0.04); --aa-eb-text: #6d6d6d; --aa-eb-period: #999999; --aa-eb-button-muted: #999999; --aa-eb-featured: #00c853; --aa-fs-eb-title: 28px; --aa-fs-eb-ribbon: 13px; }
/* Card grids (Gridlove .row/.col-lg-*): 30 px gutters, 24 px on tablets, 20 px on phones */
:root { --aa-grid-gap: 30px; --aa-card-height: 300px; --aa-card-pad: 30px; }
@media (max-width: 1040px) and (min-width: 580px) { :root { --aa-grid-gap: 24px; --aa-card-pad: 24px; } }
@media (max-width: 579px) { :root { --aa-grid-gap: 20px; } }
@media (max-width: 340px) { :root { --aa-card-pad: 24px; } }
:root { --aa-button-radius: 2px; }
:root { --aa-meta-bottom: 30px; --aa-more-gap: 30px; }
@media (max-width: 1040px) and (min-width: 580px) { :root { --aa-meta-bottom: 20px; --aa-more-gap: 24px; } }
@media (max-width: 340px) { :root { --aa-meta-bottom: 20px; --aa-more-gap: 15px; } }
/* Module actions, slider arrows */
:root { --aa-action-bg: rgba(17, 17, 17, 0.1); --aa-action-bg-hover: rgba(17, 17, 17, 0.3); --aa-arrow-bg: rgba(255, 255, 255, 0.5); --aa-arrow-bg-hover: #ffffff; --aa-arrow-text: #5e5e5e; --aa-image-overlay: rgba(0, 0, 0, 0.4); --aa-image-overlay-hover: rgba(0, 0, 0, 0.6); }
:root { --aa-quote-text: rgba(17, 17, 17, 0.8); --aa-quote-mark: rgba(17, 17, 17, 0.15); }
:root { --aa-pill-hover-bg: #111111; }
:root { --aa-fs-cover-slider-title: 22px; }
:root { --aa-form-error: #dc3232; }
:root { --aa-font-mailchimp: Helvetica, Arial, sans-serif; --aa-fs-mailchimp: 14px; }

/* base.css */
/* base.css: element defaults of the old theme (body, headings, links, images, focus, skip link). */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--aa-bg-page); color: var(--aa-text-body); font-family: var(--aa-font-body); font-weight: var(--aa-fw-regular); font-size: var(--aa-fs-body); line-height: 1.5; }
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { color: var(--aa-text-heading); font-family: var(--aa-font-body); font-weight: var(--aa-fw-bold); line-height: var(--aa-lh-heading); margin: 0 0 24px; }
h1, .h1 { font-size: var(--aa-fs-h1); } h2, .h2 { font-size: var(--aa-fs-h2); } h3, .h3 { font-size: var(--aa-fs-h3); }
h4, .h4 { font-size: var(--aa-fs-h4); } h5, .h5 { font-size: var(--aa-fs-h5); } h6, .h6 { font-size: var(--aa-fs-h6); }
a { color: var(--aa-text-body); text-decoration: none; }
a:hover { color: var(--aa-accent); }
img { max-width: 100%; height: auto; vertical-align: middle; }
iframe { max-width: 100%; }
:where(label) { display: inline-block; margin-bottom: 8px; }
:focus-visible { outline: 3px solid var(--aa-accent); outline-offset: 2px; }
.icon { width: 1em; height: 1em; display: inline-block; vertical-align: -0.125em; fill: currentColor; }
.skip-link { position: absolute; left: -9999px; top: 0; }
.skip-link:focus { left: 8px; top: 8px; z-index: 1000; background: var(--aa-bg-box); padding: 8px 12px; }
.link-button { background: none; border: 0; padding: 0; font: inherit; color: inherit; cursor: pointer; text-decoration: underline; }
[hidden] { display: none !important; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
h1, .h1 { line-height: var(--aa-lh-h1); } h3, .h3 { line-height: var(--aa-lh-h3); } h4, .h4 { line-height: var(--aa-lh-h4); } h5, .h5 { line-height: var(--aa-lh-h5); } h6, .h6 { line-height: 1.5; }
p { margin: 0 0 24px; }
@media (max-width: 579px) { h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6, p { margin: 0 0 16px; } }
/* Native emoji in the box of the old theme's emoji images (1em square, 0.07em side margins); the wider glyph overflows evenly.
   A flex box sits on its text baseline, not its bottom edge, so 0.02em here matches the images' -0.1em. */
.emoji { display: inline-flex; justify-content: center; align-items: center; width: 1em; height: 1em; margin: 0 0.07em; line-height: 1; vertical-align: 0.02em; }

/* layout.css */
/* layout.css: the page container, the content column + sidebar row, and the white box every card, widget and article sits in. */
.container { width: 100%; max-width: var(--aa-container); margin: 0 auto; padding: 0 var(--aa-container-pad); }
.box { background: var(--aa-bg-box); box-shadow: var(--aa-box-shadow); border-radius: var(--aa-radius); }

/* Content column + sidebar, centred like Gridlove's row; the sidebar drops below the content under 1024 px */
.site-content { display: flex; justify-content: center; align-items: flex-start; margin-bottom: var(--aa-content-gap); padding: 0 calc(var(--aa-container-pad) - var(--aa-gutter-half)); }
.site-main { flex: 1; min-width: 0; max-width: var(--aa-content-max); padding: 0 var(--aa-gutter-half); }
.sidebar { position: relative; flex: 0 0 var(--aa-sidebar-width); width: var(--aa-sidebar-width); max-width: var(--aa-sidebar-width); padding: 0 var(--aa-gutter-half); }
.entry { margin-bottom: var(--aa-block-gap); padding: var(--aa-box-pad); }
@media (max-width: 1023px) {
  .site-content { flex-wrap: wrap; }
  .site-main { flex: 0 0 100%; }
}
/* Card grids are flex rows like Gridlove's .row, so the last card's bottom margin stays inside */
.grid { display: flex; flex-wrap: wrap; }
.grid > * { flex: 0 0 100%; min-width: 0; }
.site-main--wide, .is-full-width .site-main { max-width: none; }
.is-full-width .entry { margin-bottom: 0; }
.grid { column-gap: var(--aa-grid-gap); }
.grid-b > * { flex-basis: calc((100% - var(--aa-grid-gap)) / 2); }
.grid-a > * { flex-basis: calc((100% - 2 * var(--aa-grid-gap)) / 3); }
.grid-c > * { flex-basis: calc((100% - 3 * var(--aa-grid-gap)) / 4); }
.grid-related > * { flex-basis: 100%; }
@media (max-width: 1023px) {
  .grid-b > * { flex-basis: 100%; }
  .grid-a > *, .grid-c > * { flex-basis: calc((100% - var(--aa-grid-gap)) / 2); }
}
@media (max-width: 767px) { .grid-a > *, .grid-c > * { flex-basis: 100%; } }
/* Module grids: Gridlove col-lg-12 / 6 / 4 / 3 */
.grid-cols-1 > * { flex-basis: 100%; }
.grid-cols-2 > * { flex-basis: calc((100% - var(--aa-grid-gap)) / 2); }
.grid-cols-3 > * { flex-basis: calc((100% - 2 * var(--aa-grid-gap)) / 3); }
.grid-cols-4 > * { flex-basis: calc((100% - 3 * var(--aa-grid-gap)) / 4); }
@media (max-width: 1023px) {
  .grid-cols-2 > * { flex-basis: 100%; }
  .grid-cols-3 > *, .grid-cols-4 > * { flex-basis: calc((100% - var(--aa-grid-gap)) / 2); }
}
@media (max-width: 767px) { .grid-cols-3 > *, .grid-cols-4 > * { flex-basis: 100%; } }

/* header.css */
/* header.css: desktop header, sticky header, mobile header with the social dropdown, and the off-canvas menu. */

/* Desktop header (1024 px and wider) */
.site-header { position: relative; z-index: 9000; margin-bottom: 30px; background: var(--aa-header-bg); box-shadow: var(--aa-box-shadow); }
.site-header__bar { display: flex; align-items: center; justify-content: space-between; height: var(--aa-header-height); }
.site-logo { display: block; flex: none; }
.site-logo img { display: block; }
.site-header__right { display: flex; align-items: center; }
.main-nav ul { display: flex; margin: 0; padding: 0; list-style: none; }
.main-nav a { display: block; padding: 0 15px; font-family: var(--aa-font-ui); font-weight: var(--aa-fw-bold); font-size: var(--aa-fs-nav); line-height: 40px; text-transform: uppercase; color: var(--aa-header-text); }
.main-nav .is-current > a, .main-nav a:hover { color: var(--aa-accent); }

/* Social icons: coloured circles, as in the Gridlove social menu */
.social-list { display: flex; gap: 4px; margin: 0; padding: 0; list-style: none; }
.social-list__link { display: flex; align-items: center; color: var(--aa-header-text); }
.social-list__link .icon { width: 25px; height: 25px; padding: 6.5px; border-radius: 50%; color: var(--aa-on-color); background: var(--social-color); }
.social-list__link--youtube { --social-color: var(--aa-social-youtube); }
.social-list__link--facebook { --social-color: var(--aa-social-facebook); }
.social-list__link--linkedin { --social-color: var(--aa-social-linkedin); }
.social-list__name { display: none; }

/* Sticky copy, shown by header.js once the header scrolls away */
.site-header-sticky { position: fixed; top: 0; left: 0; right: 0; z-index: 9000; background: var(--aa-header-bg); box-shadow: var(--aa-box-shadow); }
.site-header-sticky .site-header__bar { height: var(--aa-sticky-height); }
.site-header-sticky .site-logo img { width: auto; height: var(--aa-sticky-height); }
.site-header-sticky .main-nav a { line-height: 50px; }

/* Mobile header (below 1024 px): fixed bar with logo, social dropdown and menu button */
.site-header-mobile { display: none; }
@media (max-width: 1023px) {
  .site-header, .site-header-sticky { display: none !important; }
  body { padding-top: calc(var(--aa-mobile-header-height) + 30px); }
  .site-header-mobile { display: block; position: fixed; top: 0; left: 0; right: 0; z-index: 9998; height: var(--aa-mobile-header-height); background: var(--aa-header-bg); box-shadow: var(--aa-mobile-header-shadow); }
  .site-header-mobile__bar { position: relative; display: flex; align-items: center; justify-content: center; height: 100%; }
  .site-header-mobile .site-logo img { width: auto; height: var(--aa-mobile-header-height); }
}
@media (max-width: 579px) {
  body { padding-top: calc(var(--aa-mobile-header-height) + 20px); }
}
@media (max-width: 450px) {
  .site-header-mobile__bar { justify-content: flex-start; }
}
@media (max-width: 340px) {
  .site-header-mobile .site-logo img { height: 44px; }
}
.header-actions { position: absolute; top: 0; right: 10px; display: flex; gap: 7px; height: 100%; margin: 0; padding: 0; list-style: none; }
.header-actions > li { position: relative; }
.header-actions__button { width: 41px; height: 100%; padding: 0; border: 0; background: none; color: var(--aa-header-text); font-size: var(--aa-fs-mobile-action); cursor: pointer; }
@media (max-width: 579px) {
  .header-actions__button { width: 38px; }
}
.header-dropdown { position: absolute; top: 100%; right: 0; z-index: 1000; width: 200px; margin-top: -12px; padding: 20px; text-align: left; background: var(--aa-header-bg); border-top: 1px solid var(--aa-submenu-border); box-shadow: var(--aa-dropdown-shadow); }
.header-dropdown .social-list { flex-direction: column; gap: 5px; }
.header-dropdown .social-list__link { font-size: var(--aa-fs-social-name); line-height: 21px; }
.header-dropdown .social-list__name { display: inline; margin-left: 8px; }

/* Off-canvas menu */
.mobile-menu { position: fixed; top: 0; right: 0; bottom: 0; z-index: 9999; width: var(--aa-offcanvas-width); max-width: 100%; padding: 60px 10px 20px; overflow-y: auto; background: var(--aa-bg-page); }
.mobile-menu__close { position: absolute; top: 10px; right: 10px; width: 40px; height: 40px; padding: 0; border: 0; background: none; color: var(--aa-header-text); font-size: var(--aa-fs-h4); cursor: pointer; }
.mobile-menu .widget { margin: 0 0 20px; padding: 20px 0; }
.mobile-menu ul { margin: 0; padding: 0; list-style: none; }
.mobile-menu li a { display: block; margin: 0 30px; padding: 10px 0; font-weight: var(--aa-fw-bold); line-height: 1.43; color: var(--aa-text-body); border-bottom: 1px solid var(--aa-menu-divider); }
.mobile-menu li a:hover { color: var(--aa-accent); }
.mobile-menu-overlay { position: fixed; inset: 0; z-index: 9998; background: var(--aa-overlay-dark); }

/* cards.css */
/* cards.css: post cards (Gridlove layouts a, b, c, d). */

/* Entry meta (author, date, comments, reading time), as in every Gridlove listing */
.entry-meta .meta-item { display: inline-block; margin-right: 10px; vertical-align: middle; font-size: var(--aa-fs-meta); line-height: 18px; color: var(--aa-text-meta); }
.entry-meta a { color: var(--aa-text-meta); }
.entry-meta a:hover { color: var(--aa-accent); }
.meta-author img { display: inline-block; width: 24px; margin: 0 4px 0 0; border-radius: 50%; vertical-align: -8px; }
/* Font Awesome 4 glyph boxes: 0.857em tall, widths as the old icon font */
.meta-icon { display: inline-block; height: 0.857em; margin-right: 4px; fill: currentColor; vertical-align: -0.07em; }
.meta-icon--calendar { width: 0.929em; }
.meta-icon--comments { width: 1em; }
.meta-icon--clock { width: 0.857em; }
@media (min-width: 1023px) and (max-width: 1040px), (min-width: 600px) and (max-width: 700px), (max-width: 320px) {
  .entry-meta .meta-item { line-height: 16px; }
  .meta-author img { width: 20px; margin-right: 2px; vertical-align: -6px; }
}

/* Card layout b: image on the left, text on the right, meta pinned to the bottom (Gridlove .gridlove-post-b) */
.card { position: relative; margin-bottom: var(--aa-block-gap); font-size: var(--aa-fs-card); line-height: var(--aa-lh-card); }
.card::after { content: ''; display: block; clear: both; }
.card-b .entry-image { position: relative; float: left; width: 50%; }
.card-b .entry-image a { display: block; }
.card-b .entry-image img { display: block; width: 100%; height: 300px; object-fit: cover; }
.card-b .card__body { float: left; max-width: 43%; margin-left: 30px; padding: 30px 20px 30px 0; }
.card__ellipsis { height: 197px; max-height: 197px; overflow: hidden; }
.card-b .entry-category, .card-b .entry-title { margin-bottom: 8px; }
.card .cat { margin-bottom: 2px; }
.card .entry-title a { display: block; color: var(--aa-text-heading); }
.card .entry-title a:hover { color: var(--aa-accent); }
.card .entry-content p { margin: 0; }
.card-b .entry-meta { position: absolute; bottom: var(--aa-meta-bottom); left: calc(50% + 30px); }
.grid-related .card-b .card__body { padding: 30px 0; }
.grid-related .card-b .entry-title { font-size: var(--aa-fs-card-wide); line-height: var(--aa-lh-card-wide); }
@media (max-width: 1040px) and (min-width: 580px) { .card-b .card__body { padding: 24px 20px 24px 0; } }
@media (max-width: 579px) {
  .card-b .entry-image { width: 100%; }
  .card-b .entry-image a::after { content: ''; position: absolute; inset: 0; background: var(--aa-image-overlay-sm); }
  .card-b:hover .entry-image a::after { background: var(--aa-image-overlay-sm-hover); }
  .card-b .card__body, .grid-related .card-b .card__body { position: absolute; top: 0; left: 0; z-index: 3; width: 100%; height: 100%; max-width: 100%; margin: 0; padding: 30px; pointer-events: none; }
  .card-b .card__body .entry-content { display: none; }
  .card-b .entry-title, .card-b .entry-title a { color: var(--aa-on-color); }
  .card-b .entry-meta { left: 30px; }
  .card-b .entry-meta .meta-item, .card-b .entry-meta a { color: var(--aa-on-dark-meta); }
  .card-b a { pointer-events: auto; }
}
@media (max-width: 340px) { .card-b .card__body, .grid-related .card-b .card__body { padding: 24px; } }

/* Common card box (Gridlove .gridlove-post): fixed height, meta pinned to the bottom */
.card-a, .card-b, .card-c { height: var(--aa-card-height); line-height: 1.375; }
.card-a .entry-meta, .card-c .entry-meta { position: absolute; left: var(--aa-card-pad); bottom: var(--aa-meta-bottom); }

/* Layout a: image on top with the category pills on it */
.card-a .entry-image { position: relative; }
.card-a .entry-image img { display: block; width: 100%; height: 150px; object-fit: cover; }
.card-a .entry-category { position: absolute; top: var(--aa-card-pad); left: var(--aa-card-pad); right: 30px; z-index: 2; width: 80%; margin-bottom: 8px; pointer-events: none; }
.card-a .entry-category a { pointer-events: auto; }
.card-a .card__body { padding: 23px 30px 30px; }
.card-a .card__ellipsis { height: 70px; max-height: 70px; }
@media (max-width: 1040px) and (min-width: 580px), (max-width: 340px) {
  .card-a .card__body { padding: 18px 24px 24px; }
  .card-a .card__ellipsis { height: 85px; max-height: 85px; }
}

/* Layout c: text only */
.card-c .card__body { padding: var(--aa-card-pad); }
.card-c .entry-category, .card-c .entry-title { margin-bottom: 8px; }

/* Layout d: text over the darkened image */
.card-d .entry-image a { position: relative; display: block; }
.card-d .entry-image a::after { content: ''; position: absolute; inset: 0; z-index: 2; background: var(--aa-image-overlay); transition: background 0.2s ease-in-out; }
.card-d:hover .entry-image a::after { background: var(--aa-image-overlay-hover); }
.card-d .entry-image img { display: block; width: 100%; height: 300px; object-fit: cover; }
.card__overlay { position: absolute; top: 0; left: 0; z-index: 3; width: 100%; height: 100%; padding: var(--aa-card-pad); pointer-events: none; }
.card__overlay a { pointer-events: auto; }
.card-d .entry-category, .card-d .entry-title { margin-bottom: 8px; }
.card-d .entry-title a, .card-d .entry-title a:hover { color: var(--aa-on-color); }
.card-d .entry-meta { position: absolute; left: var(--aa-card-pad); bottom: var(--aa-meta-bottom); }
.card-d .entry-meta .meta-item, .card-d .entry-meta a { color: var(--aa-on-dark-meta); }
.grid-cols-2 .card-d .card__ellipsis { max-width: 310px; }
.card-d { height: var(--aa-card-height); line-height: 1.375; }

/* modules.css */
/* modules.css: module pages: cover slider, text modules, module titles, pagination. */

/* Cover of a single post or page: full-width image, dark overlay, centred header */
.cover { position: relative; height: var(--aa-cover-height); margin: -30px 0 var(--aa-block-gap); overflow: hidden; text-align: center; background: var(--aa-cover-bg); }
.cover__bg { position: relative; display: inline-block; height: 100%; }
.cover__bg img { display: inline-block; width: 1500px; max-width: 100%; height: 100%; object-fit: cover; }
.cover__bg::before, .cover__bg::after { content: ''; position: absolute; top: 0; z-index: 2; width: 40%; height: 100%; }
.cover__bg::before { left: 0; background: linear-gradient(to right, var(--aa-cover-edge) 0, transparent 100%); }
.cover__bg::after { right: 0; background: linear-gradient(to right, transparent 0, var(--aa-cover-edge) 100%); }
.cover__overlay { position: absolute; inset: 0; z-index: 3; background: var(--aa-cover-overlay); }
.cover__content { position: absolute; top: 50%; left: 50%; z-index: 111; width: 620px; max-width: 620px; transform: translate(-50%, -50%); }
.cover .entry-header { padding-top: 60px; }
.cover .entry-category { margin-bottom: 15px; }
.cover .entry-title { margin-bottom: 20px; color: var(--aa-on-color); }
.cover .entry-meta { color: var(--aa-on-dark-meta); }
.cover .entry-meta a { color: var(--aa-on-dark-meta); }
@media (max-width: 660px) { .cover .entry-meta { max-width: 90%; margin: 0 auto; } }
.cover .meta-item { margin-right: 15px; font-size: var(--aa-fs-meta-cover); color: var(--aa-on-dark-meta); }
.cover .meta-author img { margin-right: 4px; vertical-align: -7px; border-radius: 50%; }
@media (max-width: 1040px) and (min-width: 580px) { .cover .entry-header { padding-top: 0; } .cover .meta-author img { vertical-align: -8px; } }
@media (max-width: 800px) { .cover__content { width: 500px; max-width: 500px; } }
@media (max-width: 660px) { .cover__content { width: 74%; max-width: 74%; } }
@media (max-width: 579px) {
  .cover { margin-top: -20px; }
  .cover__bg::before, .cover__bg::after { display: none; }
  .cover .entry-header { padding-top: 0; }
  .cover .entry-title { margin-bottom: 10px; }
}
@media (max-width: 450px) { .cover .entry-category { margin-bottom: 10px; } }
@media (max-width: 375px) { .cover .entry-title { font-size: 24px; line-height: 30px; } }
@media (min-width: 600px) and (max-width: 700px), (max-width: 320px) { .cover .meta-item { font-size: 11px; line-height: 16px; margin-right: 3px; } .cover .meta-author img { vertical-align: -6px; } }

/* Category pills (Gridlove .gridlove-cat) */
.cat { display: inline-block; margin-right: 5px; padding: 7px 11px 6px; border-radius: 20px; font-size: var(--aa-fs-cat); line-height: 10px; text-transform: uppercase; vertical-align: top; color: var(--aa-on-color); background: var(--aa-cat-default); }
.cat:hover { color: var(--aa-on-color); }
.cat-agile { background: var(--aa-cat-agile); }
.cat-kanban { background: var(--aa-cat-kanban); }
@media (max-width: 1040px) and (min-width: 580px) {
  .cover .meta-item, .cover .entry-meta a { font-size: var(--aa-fs-meta); line-height: 18px; }
  .cover__bg::before, .cover__bg::after { width: 20%; }
}

/* Sliders (slider.js): the track moves by --index slides; --per-view slides are visible */
[data-slider] { --per-view: 1; --index: 0; }
[data-slider].is-ready [data-slider-track] { display: flex; transform: translateX(calc(var(--index) * -100% / var(--per-view))); transition: transform 0.4s ease; }
[data-slider].is-ready [data-slide] { flex: 0 0 calc(100% / var(--per-view)); min-width: 0; }
@media (prefers-reduced-motion: reduce) { [data-slider].is-ready [data-slider-track] { transition: none; } }

/* Testimonial sliders: one opinion at a time once slider.js runs, dots below */
.testimonials { position: relative; }
@media (min-width: 767px) and (max-width: 990px) { .testimonials { --per-view: 2; } }
.testimonials.is-ready { overflow: hidden; }
.testimonials.is-ready .testimonials__track { padding-bottom: 30px; }
.testimonial { padding: 0 15px; }
.testimonial__rating { margin: 17px 0 -10px; text-align: center; }
.testimonial__star { width: var(--aa-fs-tss-star); height: var(--aa-fs-tss-star); padding: 1px; fill: var(--aa-tss-star); vertical-align: top; }
.entry-content .testimonial__name, .testimonial__name { margin: 15px 0 8px; font-size: var(--aa-fs-tss-name); line-height: 30px; text-align: center; color: var(--aa-tss-name); }
.entry-content .testimonial__text, .testimonial__text { position: relative; margin: 0; padding: 20px; font-size: var(--aa-fs-post); font-style: italic; font-weight: var(--aa-fw-regular); line-height: 1.6; color: var(--aa-text-body); background: var(--aa-tss-box); }
.entry-content .testimonial__text::before { content: none; }
.testimonial__quote { position: absolute; top: -12px; left: 0; width: 28px; height: var(--aa-fs-tss-quote); color: var(--aa-tss-quote); fill: currentColor; }
.testimonials__dots { position: absolute; left: 0; right: 0; bottom: -10px; line-height: 25.5px; text-align: center; }
.testimonials__dot { display: inline-block; width: 10px; height: 10px; margin: 0 5px; padding: 0; border: 0; border-radius: 50%; cursor: pointer; background: var(--aa-tss-dot); opacity: 0.2; }
.testimonials__dot[aria-current="true"] { opacity: 1; }
@media (max-width: 579px) { .entry-content .testimonial__text, .testimonial__text { margin-top: 15px; } }

/* Module header with the archive title and description */
.module-title { display: flex; align-items: center; justify-content: space-between; }
.module-title h1, .module-title h2 { margin-bottom: 0; color: var(--aa-text-heading); }
.module-desc { max-width: 60%; margin-top: 10px; }
.archive.category .module-desc p { margin-bottom: 18px; }
@media (max-width: 899px) { .module-desc { max-width: 100%; } }

/* Pagination: "Wczytaj więcej" button; hidden trigger for infinite scroll */
.pagination { position: relative; clear: both; min-height: 43px; padding-top: 4px; text-align: center; }
.pagination--infinite-scroll .pagination__more { opacity: 0; visibility: hidden; }
.module-header::after { content: ''; display: table; clear: both; }
.site-main--wide > .module:first-child { margin-top: -4px; }
.site-main--wide > .module:first-child > .module-header { margin-top: 0; }
.pagination__more { display: inline-block; min-width: 200px; margin-bottom: var(--aa-more-gap); padding: 0 20px; border-radius: var(--aa-button-radius); font-size: var(--aa-fs-small); font-weight: var(--aa-fw-bold); line-height: 50px; text-transform: uppercase; color: var(--aa-on-color); background: var(--aa-accent); box-shadow: var(--aa-button-shadow); }
.pagination__more:hover { color: var(--aa-on-color); }

/* Module header actions: "Wszystkie z kategorii…" pill and slider arrows */
.module-actions { display: flex; align-items: center; }
.action-link { display: inline-block; height: 24px; margin-left: 5px; padding: 0 11px; border-radius: 20px; font-size: var(--aa-fs-pill); line-height: 24px; text-transform: uppercase; color: var(--aa-text-heading); background: var(--aa-action-bg); }
.action-link:hover { color: var(--aa-text-heading); background: var(--aa-action-bg-hover); }
.slider-nav { display: inline-flex; align-items: center; justify-content: center; width: 25px; height: 25px; margin-left: 5px; padding: 0; border: 0; border-radius: 50%; font-size: 9px; color: var(--aa-text-heading); background: var(--aa-action-bg); cursor: pointer; }
.slider-nav:hover { background: var(--aa-action-bg-hover); }
.module-slider { height: calc(var(--aa-card-height) + var(--aa-block-gap)); overflow: hidden; }
.module { margin-bottom: 0; }

/* Text modules (testimonials, certificates) */
.text-module { margin-bottom: var(--aa-block-gap); padding: 30px; }
.text-module p:last-child { margin-bottom: 0; }
.text-center { text-align: center; }

/* Home cover slider (cover layout 2, arrows in the middle) */
.cover-slider .cover__track { height: 100%; }
.cover__item { position: relative; height: 100%; overflow: hidden; }
.cover-slider .cover__bg a { display: block; height: 100%; }
.cover .entry-content { max-width: 620px; margin: 0 auto 0; color: var(--aa-on-color); }
.cover .entry-content p { color: var(--aa-on-color); }
.cover .entry-title a, .cover .entry-title a:hover { color: var(--aa-on-color); }
.slider-arrow { position: absolute; top: 50%; z-index: 200; display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; margin-top: -20px; padding: 0; border: 0; border-radius: 50%; font-size: 13px; color: var(--aa-arrow-text); background: var(--aa-arrow-bg); box-shadow: var(--aa-box-shadow); cursor: pointer; }
.slider-arrow:hover { background: var(--aa-arrow-bg-hover); }
.slider-arrow--prev { left: max(12px, calc(50% - 600px + 12px)); }
.slider-arrow--next { right: max(12px, calc(50% - 600px + 12px)); }
.testimonials--dots-dark .testimonials__dot { background: var(--aa-text-heading); }
.text-module { margin-bottom: 30px; }
/* Home cover slider on small screens (Gridlove cover layout 2) */
@media (max-width: 660px) { .cover-slider .entry-title { font-size: var(--aa-fs-cover-slider-title); line-height: 26px; margin-bottom: 15px; } }
/* Under 630 px the arrows sit half outside the screen, the chevron moved 13 px into view */
@media (max-width: 630px) {
  .slider-arrow { width: 50px; height: 50px; margin-top: -35px; }
  .slider-arrow--prev { left: -25px; } .slider-arrow--prev .icon { margin-left: 13px; }
  .slider-arrow--next { right: -25px; } .slider-arrow--next .icon { margin-left: -13px; }
}
@media (max-width: 579px) {
  .cover .entry-content { font-size: var(--aa-fs-small); line-height: 20px; }
}

/* content.css */
/* content.css: post and page content typography and blocks. */

.entry-content::after { content: ''; display: block; clear: both; }
.entry-content a { color: var(--aa-accent); }
.entry-content p a, .entry-content ul a, .entry-content ol a { border-bottom: 1px solid var(--aa-accent-underline); }
.entry-content p a:hover, .entry-content ul a:hover, .entry-content ol a:hover { border-bottom-color: transparent; }
.entry-content ul, .entry-content ol { margin: 0 0 24px; }
.entry-content li { margin-bottom: 4px; }
.entry-content ul ul, .entry-content ol ol { margin-top: 12px; margin-bottom: 12px; }
.entry-content blockquote { position: relative; margin: 0 0 1rem; padding-left: 50px; font-size: var(--aa-fs-quote); line-height: 26px; font-weight: 600; color: var(--aa-quote-text); }
.entry-content figure { margin: 0 0 1rem; }
.entry-content hr { height: 0; margin: 1rem 0 0; border: 0; border-top: 1px solid var(--aa-table-border); }
.entry-content table { width: 100%; max-width: 100%; margin: 0 auto 24px; border-collapse: collapse; border-spacing: 0; border-left: 1px solid var(--aa-table-border); }
.entry-content td, .entry-content th { padding: 10px 15px; border-top: 1px solid var(--aa-table-border); border-right: 1px solid var(--aa-table-border); border-bottom: 1px solid var(--aa-table-border); }
.entry-content pre { margin: 0 0 24px; padding: 15px 20px; white-space: pre-wrap; font-family: var(--aa-font-mono); font-size: 90%; background: var(--aa-pre-bg); }
.entry-content code { padding: 0.2rem 0.4rem; font-family: var(--aa-font-mono); font-size: 90%; color: var(--aa-code-text); background: var(--aa-code-bg); border-radius: 0.25rem; }
.entry-content pre code { padding: 0; font-size: inherit; color: inherit; background: none; }
.entry-content .aligncenter, .entry-content .alignnone { clear: both; display: block; max-width: 100%; margin: 0 auto 30px; }
.entry-headline p { margin: 0; }
.entry-headline { margin-bottom: 24px; }
@media (max-width: 579px) { .entry-headline { margin-bottom: 16px; } .entry-headline.h5 { font-size: 16px; line-height: 24px; } }
h2, .h2 { line-height: var(--aa-lh-h2); }
.entry-content figure, .entry-content .wp-block-image { position: relative; margin: 0 0 24px; }
.entry-content .wp-block-image img { vertical-align: bottom; }

/* Author box and previous/next links at the bottom of a post */
.author-box, .prev-next { border-top: 1px solid var(--aa-border-soft); padding-top: 35px; }
.author-box { display: flex; margin-bottom: 35px; }
.author-box .avatar { flex: none; border-radius: 50%; }
.author-box h4 { margin-bottom: 12px; }
.author-box__desc { margin-bottom: 24px; }
.author-box__text { display: flow-root; }
.author-box__links { margin-bottom: 2px; }
.pill { display: inline-block; padding: 1px 15px; border-radius: 20px; font-size: var(--aa-fs-pill); line-height: 30px; text-transform: uppercase; color: var(--aa-on-color); background: var(--aa-accent); }
.pill:hover { color: var(--aa-on-color); }
.author-box .pill { margin-bottom: 2px; }
.author-box .social-link { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; margin: 0 3px 2px; vertical-align: middle; border-radius: 50%; font-size: 12px; color: var(--aa-on-color); background: var(--aa-accent); }
.author-box .social-link[aria-label="linkedin"] { background: var(--aa-social-linkedin); }
.author-box .social-link[aria-label="link"] { color: var(--aa-text-body); background: var(--aa-border-soft); }
.author-box__links a:hover { color: var(--aa-on-color); background: var(--aa-pill-hover-bg); }
.prev-next { display: flex; justify-content: space-around; }
.prev-next > div { width: 50%; }
.prev-next a { display: flex; align-items: center; }
.prev-next__next a { flex-direction: row-reverse; }
.prev-next__next:only-child { position: relative; right: -25%; }
.prev-next__icon { flex: none; display: flex; align-items: center; justify-content: center; width: 25px; height: 25px; margin-right: 15px; border-radius: 50%; font-size: 9px; background: var(--aa-border-soft); }
.prev-next__next .prev-next__icon { margin-right: 0; margin-left: 15px; }
.prev-next__title { display: table; max-width: 70%; font-size: var(--aa-fs-small); line-height: 18px; }
@media (max-width: 579px) { .prev-next, .author-box { padding-top: 24px; } .prev-next__prev { margin-bottom: 20px; } .prev-next__title { font-size: var(--aa-fs-label); line-height: 16px; } }
@media (max-width: 450px) { .prev-next { flex-wrap: wrap; } }
@media (max-width: 340px) { .prev-next__prev { margin-bottom: 15px; } }
.author-box { display: grid; grid-template-columns: calc((100% + 30px) / 6 - 30px) 1fr; column-gap: 30px; }
.author-box .avatar { width: 100%; height: auto; }
.pill { height: 30px; margin-right: 5px; }
.prev-next__next .prev-next__title { text-align: right; }

/* WordPress blocks used in post bodies (paragraph, image, quote, columns, code, verse, embed) */
.entry-content p.has-background, .entry-content .wp-block-list.has-background { padding: 1.25em 2.375em; }
.has-text-align-center { text-align: center; }
.has-small-font-size { font-size: var(--aa-fs-wp-small); }
.has-cyan-bluish-gray-background-color { background-color: var(--aa-wp-cyan-bluish-gray); }
.has-white-background-color { background-color: var(--aa-wp-white); }
.has-black-color { color: var(--aa-wp-black); }
.entry-content mark { padding: 0.2em; color: var(--aa-mark-text); }
.wp-block-image img { box-sizing: border-box; max-width: 100%; height: auto; }
.wp-block-image.aligncenter { text-align: center; }
.wp-block-image .aligncenter, .wp-block-image.aligncenter { display: table; margin-left: auto; margin-right: auto; }
.wp-block-image .aligncenter > figcaption, .wp-block-image.aligncenter > figcaption { display: table-caption; caption-side: bottom; }
.wp-block-image figcaption { position: absolute; right: 0; bottom: 1px; z-index: 10; margin: 0; padding: 5px 10px; font-size: var(--aa-fs-label); color: var(--aa-on-dark-meta); background: var(--aa-cover-overlay); }
.wp-block-image figcaption a { color: var(--aa-on-dark-meta); text-decoration: underline; border: 0; }
.entry-content blockquote::before { content: '\201D'; position: absolute; top: -2px; left: 6px; font-size: var(--aa-fs-quote-mark); font-weight: 900; line-height: 72px; color: var(--aa-quote-mark); }
.entry-content blockquote p + cite { display: block; margin-top: -15px; opacity: 0.5; }
.wp-block-quote { overflow-wrap: break-word; }
.entry-content .wp-block-quote { margin-bottom: 24px; }
.wp-block-columns { display: flex; flex-wrap: wrap; align-items: normal; gap: 2em; margin-bottom: 1.75em; }
@media (min-width: 782px) { .wp-block-columns { flex-wrap: nowrap; } }
.wp-block-columns.are-vertically-aligned-center { align-items: center; }
.wp-block-column { flex: 1 1 0; min-width: 0; overflow-wrap: break-word; word-break: break-word; }
.wp-block-column.is-vertically-aligned-center { align-self: center; width: 100%; }
@media (max-width: 781px) { .wp-block-columns > .wp-block-column { flex-basis: 100%; } }
@media (max-width: 660px) { .wp-block-columns .wp-block-column { flex: 0 0 100%; } }
.wp-block-code code { display: block; direction: ltr; text-align: initial; font-family: inherit; overflow-wrap: break-word; white-space: break-spaces; color: inherit; background: none; padding: 0; }
.entry-content pre.wp-block-verse { min-width: 1em; overflow: auto; white-space: pre-wrap; word-break: break-word; font-family: var(--aa-font-verse); }
.wp-block-embed { overflow-wrap: break-word; margin: 0 0 24px; }
.wp-block-embed__wrapper { position: relative; }
.wp-embed-aspect-16-9 .wp-block-embed__wrapper::before { content: ''; display: block; padding-top: 56.25%; }
.wp-has-aspect-ratio iframe { position: absolute; inset: 0; width: 100%; height: 100%; }
.wp-block-embed iframe { max-width: 100%; border: 0; }
/* FitVids wrapper of the old theme (see lib/videos.js) */
.fluid-width-video-wrapper { position: relative; width: 100%; padding: 0; }
.entry-content .fluid-width-video-wrapper { margin-bottom: 24px; }
.fluid-width-video-wrapper iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
@media (max-width: 579px) {
  .author-box { display: block; }
  .author-box .avatar { display: block; width: 100px; margin-left: 5px; }
}
.entry > .entry-header { margin-bottom: 28px; }
.entry > .entry-header .entry-title { margin-bottom: 15px; }
@media (max-width: 579px) { .entry > .entry-header { margin-bottom: 16px; } }
.entry-content { overflow-wrap: break-word; }
/* Tag pills at the end of a post */
.entry-tags { margin-bottom: 55px; }
.entry-tags a { display: inline-block; height: 25px; margin-bottom: 4px; padding: 0 10px; border: 0; border-radius: 20px; font-size: var(--aa-fs-small); line-height: 25px; text-align: center; vertical-align: top; color: var(--aa-text-body); background: var(--aa-border-soft); }
.entry-tags a:hover { color: var(--aa-on-color); background: var(--aa-accent); }
.wp-block-column p:only-of-type { margin-bottom: 0; }
.entry-content .wp-block-image figure { position: static; margin: 0; }
.entry-content .wp-block-image .aligncenter { margin-left: auto; margin-right: auto; }
@media (min-width: 600px) { .wp-block-column:not(:first-child), .wp-block-column:nth-child(even) { margin-left: 12px; } .wp-block-column:not(:last-child), .wp-block-column:nth-child(odd) { margin-right: 12px; } }
@media (max-width: 660px) { .wp-block-columns .wp-block-column { margin-left: 0; margin-right: 0; } }
.entry-content .wp-block-embed, .entry-content .wp-block-embed.aligncenter { margin: 0 0 24px; }
.wp-block-embed figcaption { margin: 0.5em 0 1em; }

/* Price tables */
.eb-pricing { position: relative; display: flex; justify-content: center; align-items: center; overflow: hidden; text-align: center; }
@media (min-width: 768px) and (max-width: 992px), (max-width: 480px) { .eb-pricing { display: block; } .eb-pricing .eb-pricing-item { width: 100%; max-width: 100%; margin: 0 auto 30px; } }
.eb-pricing-item { position: relative; width: 100%; padding: 30px; border: 1px solid var(--aa-eb-border); border-radius: 5px; background: var(--aa-bg-box); }
.eb-pricing-item-overlay { position: absolute; inset: 0; }
.eb-pricing-header, .eb-pricing-tag, .eb-pricing-body, .eb-pricing-footer { position: relative; z-index: 11; }
.eb-pricing-header { margin-bottom: 15px; padding-bottom: 15px; }
.eb-pricing-header::after, .eb-pricing-tag::after { content: ''; position: absolute; right: 0; bottom: 0; width: 140px; height: 1px; background: var(--aa-eb-divider); }
.eb-pricing-tag::after { background: var(--aa-eb-divider-soft); }
.entry-content .eb-pricing-title { margin: 0; font-size: var(--aa-fs-eb-title); line-height: 30px; color: var(--aa-accent); }
.eb-pricing-subtitle { color: var(--aa-eb-text); }
.eb-pricing-tag { margin-bottom: 15px; padding: 15px 0; }
.eb-pricing-tag .price-tag { position: relative; display: inline-block; font-size: var(--aa-fs-eb-title); font-weight: 500; line-height: 0; }
.eb-pricing-tag .price-period { color: var(--aa-eb-period); }
.entry-content .eb-pricebox-features { margin: 0 0 15px; padding: 0; list-style: none; }
.entry-content .eb-pricebox-feature-item { margin: 10px 0 4px; padding: 10px 0; font-size: var(--aa-fs-small); line-height: 21px; color: var(--aa-eb-text); }
.entry-content .eb-pricebox-feature-item { border-bottom: 1px solid var(--aa-eb-divider-soft); }
.entry-content .eb-pricebox-feature-item:last-child { border-bottom: 0; }
.eb-pricebox-icon { display: inline-block; width: 15.5625px; height: 20px; margin: 0 8px -2px 0; fill: currentColor; vertical-align: -1px; }
.eb-pricing-button-wrapper { position: relative; }
.entry-content .eb-pricing-button { display: inline-flex; justify-content: center; align-items: center; padding: 12px 25px; border: 0; border-radius: 4px; font-size: var(--aa-fs-small); font-weight: 600; line-height: 16px; text-transform: uppercase; color: var(--aa-on-color); background: var(--aa-eb-button-muted); }
.eb-pricing-button .eb-button-text { display: block; }
.eb-pricing-dwdyb9y .eb-pricing-button { background: var(--aa-eb-featured); }
.eb-pricing-item.ribbon-4::before { content: 'Best seller'; position: absolute; top: 30px; right: -55px; z-index: 12; width: 200px; padding: 7px 0; font-size: var(--aa-fs-eb-ribbon); font-weight: 600; line-height: 19.5px; text-align: center; text-transform: uppercase; color: var(--aa-on-color); background: var(--aa-eb-featured); transform: rotate(45deg); }
@media (max-width: 579px) { .entry-content pre { clear: both; width: 100%; margin: 0 0 10px; text-align: center; } }

/* sidebar.css */
/* sidebar.css: sidebar widgets (categories, archive). */

/* Sidebar widgets: categories and monthly archive lists (Gridlove widget_categories / widget_archive) */
.sidebar .widget { padding: 25px 30px 30px; font-size: var(--aa-fs-widget); line-height: 1.43; clear: both; }
.sidebar .widget { margin-bottom: var(--aa-block-gap); }
.sidebar .widget:last-child { margin-bottom: 0; }
.sidebar .widget-title { margin-bottom: 20px; font-size: var(--aa-fs-widget); line-height: var(--aa-lh-h4); }
.sidebar .widget ul { margin: 0; padding: 0; list-style: none; }
.sidebar .widget li { display: table; width: 100%; margin: 0; padding: 10px 0; text-align: right; color: var(--aa-text-meta); border-bottom: 1px solid var(--aa-border-soft); }
.sidebar .widget li:last-child { padding-bottom: 0; border-bottom: none; }
.sidebar .widget li a { float: left; font-weight: var(--aa-fw-bold); color: var(--aa-text-body); }
.sidebar .widget li a:hover { color: var(--aa-accent); }
@media (max-width: 1023px) { .sidebar { margin: 0 auto; } }
.sidebar .widget li:first-child { padding-top: 0; }

/* comments.css */
/* comments.css: comment list and comment form. */

/* Comments box: title, form (right-floated reply title), list */
.comments { margin-bottom: var(--aa-block-gap); padding: var(--aa-box-pad); }
.module-header { margin: -4px 0 28px; }
.module-title h4 { margin-bottom: 0; }
.comment-reply-title { float: right; }
.comment-reply-title small { font-size: var(--aa-fs-small); }
#cancel-comment-reply-link { color: var(--aa-accent); }
.comment-list, .comment-list .children { margin: 0; padding: 0; list-style: none; }
.comment-list { margin-top: 48px; }
.comment-body { margin-bottom: 36px; }
.comment-author .avatar { display: block; float: left; margin-right: 15px; border-radius: 50%; }
.comment-author .fn { font-size: var(--aa-fs-comment-author); line-height: 27px; color: var(--aa-text-heading); }
.comment-author .fn a { color: var(--aa-text-heading); }
.comment-author .says { display: none; }
.comment-metadata { margin-bottom: 12px; font-size: var(--aa-fs-meta); line-height: 20px; }
.comment-metadata a { color: var(--aa-text-meta); }
.comment-content { margin-left: 65px; }
.comment-content p { margin-bottom: 14px; }
.comment-body .reply { margin: -3px 0 0 65px; font-size: var(--aa-fs-small); line-height: 20px; }
.comment-reply-link { color: var(--aa-accent); }
.comment-reply-link:hover { color: var(--aa-text-body); }
.comment-list .children { margin-left: 98px; }
@media (max-width: 1040px) and (min-width: 580px) { .comment-body { margin-bottom: 24px; } .module-header { margin-bottom: 24px; } }
@media (max-width: 579px) {
  .comment-body, .module-header { margin-bottom: 20px; }
  .comment-list .children { margin-left: 0; padding: 0; }
  .comment-content, .comment-body .reply { margin-left: 0; margin-right: 0; }
}
@media (max-width: 340px) { .module-header { margin-bottom: 15px; } }
.comment-author { position: relative; }
.comment-author__badge { position: absolute; top: -6px; left: -9px; display: flex; align-items: center; justify-content: center; width: 30px; height: 30px; border: 2px solid var(--aa-on-color); border-radius: 50%; font-size: 12px; color: var(--aa-on-color); background: var(--aa-badge-bg); }
.comment-content { overflow-wrap: break-word; }
.comment-list li:last-child .children li:last-child .comment-body { margin-bottom: 0; }

/* forms.css */
/* forms.css: contact form, Mailchimp forms, inputs and buttons. */

/* Gridlove's global field and submit look (Mailchimp forms in post bodies rely on it); :where() keeps it overridable */
:where(input[type="text"], input[type="email"], input[type="url"], input[type="tel"], input[type="number"], input[type="password"], input[type="date"], select, textarea) {
  width: 100%; height: 40px; margin: 0; padding: 10px; font-size: 100%; line-height: 1; vertical-align: baseline;
  border: 1px solid var(--aa-input-border); border-radius: 2px; outline: 0; -webkit-appearance: none; appearance: none;
}
:where(input[type="submit"]) {
  height: 40px; padding: 14px 20px; border: none; border-radius: 2px; cursor: pointer;
  font-size: var(--aa-fs-label); font-weight: var(--aa-fw-bold); line-height: 1; text-align: center; text-transform: uppercase;
  color: var(--aa-on-color); background-color: var(--aa-accent); box-shadow: var(--aa-button-shadow);
}

/* Inputs and buttons shared by the comment form and the contact form */
.comment-form label, .aa-form label { display: inline-block; margin-bottom: 10px; font-size: var(--aa-fs-label); line-height: 12px; }
.comment-form input[type="text"], .comment-form input[type="email"], .comment-form input[type="url"], .comment-form textarea,
.aa-form input[type="text"], .aa-form input[type="email"], .aa-form textarea {
  width: 100%; padding: 10px; font-family: var(--aa-font-body); font-size: var(--aa-fs-body); line-height: 17px;
  background: var(--aa-bg-box); border: 1px solid var(--aa-input-border); border-radius: 2px;
}
.comment-form input[type="text"], .comment-form input[type="email"], .comment-form input[type="url"], .aa-form input[type="text"], .aa-form input[type="email"] { height: 40px; }
.comment-form textarea, .aa-form textarea { display: inline-block; min-height: 200px; line-height: 22px; resize: vertical; }
.comment-form p { margin-bottom: 5px; }
.comment-form-author, .comment-form-email, .comment-form-url { float: left; width: 33.333%; padding-right: 15px; }
.comment-form-url { padding-right: 0; }
.form-submit { display: inline-block; margin-top: 15px; }
.comment-form input[type="submit"], .aa-form input[type="submit"] {
  display: inline-block; height: 40px; padding: 14px 20px; border: 0; border-radius: 2px; cursor: pointer;
  font-family: var(--aa-font-body); font-weight: var(--aa-fw-bold); font-size: var(--aa-fs-label); line-height: 12px; text-transform: uppercase;
  color: var(--aa-on-color); background: var(--aa-accent); box-shadow: var(--aa-button-shadow);
}
.aa-hp { position: absolute; left: -9999px; }
.aa-form__status:empty { display: none; }
.aa-form__error { display: block; margin-top: 5px; font-size: var(--aa-fs-small); line-height: 1.4; color: var(--aa-form-error); }
@media (max-width: 579px) { .comment-form-author, .comment-form-email, .comment-form-url { width: 100%; padding: 0; } }

/* Contact form in the Contact Form 7 look */
.aa-form p { margin-bottom: 10px; }
.aa-form label { display: inline-block; width: 100%; margin-bottom: 10px; }
.aa-form input[type="text"], .aa-form input[type="email"], .aa-form textarea { display: inline-block; margin-top: 10px; font-size: var(--aa-fs-label); line-height: 12px; }
.aa-form textarea { height: 200px; line-height: 22px; }
.aa-form input[type="submit"] { min-width: 100px; }

/* Mailchimp signup forms in posts: the rules of the embed code's own <style> block, moved here */
#mc_embed_signup { clear: left; max-width: 100%; font: var(--aa-fs-mailchimp) var(--aa-font-mailchimp); background: var(--aa-bg-box); }
#mc_embed_signup.mc-embed-wide { width: 600px; }
#mc-embedded-subscribe-form input[type="checkbox"] { display: inline; width: auto; height: auto; margin-right: 10px; }
#mc-embedded-subscribe-form .mc_fieldset { min-height: 0; padding-bottom: 0; border: none; }
#mergeRow-gdpr { margin-top: 20px; }
#mergeRow-gdpr fieldset label { font-weight: normal; }

/* footer.css */
/* footer.css: site footer widgets, the WordPress social-links block, the separator and the copyright line. */
.site-footer { font-size: var(--aa-fs-footer); line-height: 20px; color: var(--aa-footer-text); background: var(--aa-footer-bg); }
.site-footer__main { position: relative; }
.site-footer__main::after { content: ''; position: absolute; bottom: 0; left: 50%; width: 100px; height: 1px; margin-left: -50px; background: var(--aa-footer-separator); }
.site-footer__widgets { display: flex; flex-wrap: wrap; margin: 0 calc(-1 * var(--aa-col-pad)); }
.site-footer__col { flex: 0 0 33.3333%; max-width: 33.3333%; padding: 0 var(--aa-col-pad); }
.site-footer .widget { margin: 50px 0; font-size: var(--aa-fs-widget); line-height: var(--aa-lh-footer-widget); }
.site-footer .widget p { margin: 0; }
.site-footer .widget-title { margin: 0 0 20px; font-size: var(--aa-fs-widget); line-height: 1.4; color: var(--aa-footer-text); }
.site-footer .textwidget { font-size: var(--aa-fs-footer-links); line-height: var(--aa-lh-footer-widget); }
.site-footer .textwidget a { color: var(--aa-footer-link); border-bottom: 1px solid var(--aa-accent-underline); }
.site-footer .textwidget a:hover { color: var(--aa-footer-text); }
.site-footer__bottom { padding: 35px 0; opacity: 0.8; }
.site-footer__copy { margin: 0; text-align: center; }
.site-footer__copy .link-button { color: inherit; }

/* WordPress social-links block (footer widget 1), as WordPress styles it */
.wp-block-social-links { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 0; padding: 0; list-style: none; font-size: var(--aa-fs-footer-social); line-height: 1.43; }
.wp-social-link { border-radius: 9999px; }
.wp-social-link a { display: flex; align-items: center; padding: 6px; line-height: 0; color: var(--aa-on-color); }
.wp-social-link svg { display: block; width: 1em; height: 1em; fill: currentColor; }
.wp-social-link-facebook { background: var(--aa-wp-social-facebook); }
.wp-social-link-youtube { background: var(--aa-wp-social-youtube); }
.wp-social-link-twitter { background: var(--aa-wp-social-twitter); }

@media (max-width: 1040px) {
  .site-footer .widget { margin: 24px 0 30px; }
  .site-footer .widget-title { line-height: 1.75; }
  .site-footer__bottom { padding: 24px 0; }
}
@media (max-width: 1023px) {
  .site-footer__col { flex-basis: 50%; max-width: 50%; }
}
@media (max-width: 579px) {
  .site-footer__col { flex-basis: 100%; max-width: 100%; }
  .site-footer .widget { margin: 30px 0; }
  .site-footer__bottom { padding: 35px 0; }
}

/* cookie.css */
/* cookie.css: cookie consent banner. */

/* Fixed bottom banner in the site's own look: white box, card shadow, Cabin pill buttons */
.cookie-banner { position: fixed; left: 0; right: 0; bottom: 0; z-index: 10000; background: var(--aa-bg-box); box-shadow: var(--aa-dropdown-shadow); }
.cookie-banner__inner { display: flex; align-items: center; gap: 20px; padding-top: 15px; padding-bottom: 15px; }
.cookie-banner__text { flex: 1; margin: 0; font-size: var(--aa-fs-small); line-height: 1.43; color: var(--aa-text-body); }
.cookie-banner__text a { color: var(--aa-accent); border-bottom: 1px solid var(--aa-accent-underline); }
.cookie-banner__actions { display: flex; flex: none; gap: 10px; }
.button { display: inline-block; height: 40px; padding: 0 20px; border-radius: var(--aa-button-radius); font-family: var(--aa-font-ui); font-weight: var(--aa-fw-bold); font-size: var(--aa-fs-label); line-height: 38px; text-transform: uppercase; cursor: pointer; }
.button-primary { border: 1px solid var(--aa-accent); color: var(--aa-on-color); background: var(--aa-accent); }
.button-secondary { border: 1px solid var(--aa-accent); color: var(--aa-accent); background: var(--aa-bg-box); }
@media (max-width: 599px) {
  .cookie-banner__inner { flex-direction: column; align-items: stretch; gap: 10px; padding-top: 12px; padding-bottom: 12px; }
  .cookie-banner__text { font-size: var(--aa-fs-label); }
  .cookie-banner__actions .button { flex: 1; }
}

/* search.css */
/* search.css: search page (Pagefind). */
