/* ==========================================================================
   A&K WAWRO UBEZPIECZENIA - MAIN CSS (GLOBAL STYLES & HEADER)
   ========================================================================== */

/* (2026-10-01) Usunięto @import Google Fonts: każda podstrona ładuje fonty własnym <link>, a strona główna lokalnie.
   Import był drugim, szeregowym zapytaniem blokującym wyświetlenie na każdej stronie. */

:root {
  --ak-teal-dark: #398898;
  --ak-teal-main: #46999b;
  --ak-teal-light: #52a8aa;
  --ak-teal-accent: #229c9a;
  /* Role turkusu (2026-10-01): jasne odcienie zostają na dekoracje i duże nagłówki,
     tekst i przyciski z białym napisem używają wariantów spełniających WCAG AA. */
  --ak-teal-ink: #2f7482;          /* tekst turkusowy na jasnym tle: 5,3:1 na białym, 4,9:1 na #f1f5f9 */
  --ak-teal-action: #2f7482;       /* tło przycisku z białym tekstem: 5,3:1 */
  --ak-teal-action-hover: #1f5f68; /* 7,3:1 */
  --ak-teal-action-gradient: linear-gradient(135deg, #357f86, #1f5f68); /* biały tekst ≥ 4,6:1 na całej długości */
  --ak-teal-on-dark: #5fb3b5;      /* tekst turkusowy na ciemnej stopce: 6,3:1 na #132733 */
  --ak-navy-dark: #254059;
  --ak-navy-heading: #254059;
  --ak-text-gray: #56585e;
  --ak-text-muted: #71717a;
  --ak-text-dark: #000000;
  --ak-bg-light: #f8fafc;
  --ak-bg-white: #ffffff;
  --ak-border-light: #e2e8f0;
  /* Role uzupełnione przy porządkowaniu kolorów (2026-10-01, /impeccable extract) */
  --ak-text-inverse: #ffffff;      /* tekst i ikony na turkusie, granacie i w stopce */
  --ak-text-field: #334155;        /* tekst wpisany w pola formularza */
  --ak-text-secondary: var(--ak-text-secondary);   /* listy ryzyk w kartach, treść opinii */
  --ak-text-subtle: var(--ak-text-subtle);      /* tekst zgody RODO, placeholder pól (4,6:1 na #f8fafc) */
  --ak-surface-muted: #f1f5f9;     /* tło przełącznika „Dla Ciebie / Dla Firmy”, delikatne wypełnienia */
  --ak-footer-bg: #132733;         /* główne tło stopki */
  --ak-footer-bg-deep: #0b1a23;    /* pasek szybkiego kontaktu i dolny pasek prawny */
  --ak-footer-text: #cbd5e1;       /* tekst w stopce: 10,4:1 */
  --ak-footer-text-muted: #94a3b8; /* tekst drugoplanowy w stopce: 6,0–6,9:1 */
  --ak-error: #b71c1c;             /* błędne pole formularza */
  --ak-shadow-card: 0 10px 30px -5px rgba(0, 0, 0, 0.08), 0 4px 10px -2px rgba(0, 0, 0, 0.04);
}

/* Globalny kolor pogrubień na całej stronie: #254059 */
strong, b {
  color: var(--ak-navy-dark);
  font-weight: 700;
}

/* W nagłówkach H1 pogrubienia dziedziczą kolor bazowy (#000000) */
h1 strong, h1 b, .ak-subpage-h1 strong, .ak-subpage-h1 b {
  color: inherit;
  font-weight: inherit;
}

*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-padding-top: 90px;
  scroll-behavior: smooth;
}

section[id] {
  scroll-margin-top: 90px;
}

body {
  font-family: 'Inter', 'Inter Fallback', sans-serif;
  color: var(--ak-text-gray);
  background-color: var(--ak-bg-white);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}

/* Domyślna typografia (mobile: wyśrodkowanie, 16px) */
h1, h2, h3, h4, h5, h6 {
  text-align: center;
}

p {
  font-family: 'Inter', 'Inter Fallback', sans-serif;
  font-size: 16px;
  line-height: 1.6;
  color: var(--ak-text-gray);
  text-align: center;
}

/* Wersja Desktop (od 769px): wyrównanie, estetyczne łamanie nagłówków i wyjustowanie akapitów */
@media (min-width: 769px) {
  h1, h2, h3, h4, h5, h6 {
    text-align: left;
    text-wrap: normal;
    -webkit-text-wrap: normal;
  }

  p {
    font-size: 18px;
    line-height: 1.65;
    text-align: justify;
    text-justify: inter-word;
    hyphens: auto;
    -webkit-hyphens: auto;
    max-width: 100%;
  }
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  color: inherit;
  text-decoration: none;
}

.ak-container {
  width: 100%;
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 20px;
}

/* ==========================================================================
   HEADER & NAWIGACJA
   ========================================================================== */

.ak-site-header {
  background-color: var(--ak-bg-white);
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  position: sticky;
  top: 0;
  z-index: 1000;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.02);
}

.ak-header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 104px;
  padding: 10px 0;
}

/* Logo */
.ak-logo-link {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

.ak-logo-img {
  height: 84px;
  width: auto;
  object-fit: contain;
  transition: transform 0.2s ease;
}


/* Nawigacja Desktop */
.ak-nav-desktop {
  display: flex;
  align-items: center;
  gap: 28px;
}

.ak-nav-list {
  display: flex;
  align-items: center;
  gap: 24px;
  list-style: none;
}

.ak-nav-item {
  position: relative;
}

.ak-nav-link {
  font-size: 15px;
  font-weight: 500;
  color: var(--ak-navy-dark);
  padding: 8px 0;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  transition: color 0.2s ease;
  position: relative;
}

.ak-nav-link:hover {
  color: var(--ak-teal-ink);
}

/* Aktywny link: Strona główna z podkreśleniem */
.ak-nav-link.is-active {
  color: var(--ak-navy-dark);
  font-weight: 600;
}

.ak-nav-link.is-active::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: var(--ak-navy-dark);
  border-radius: 2px;
}

/* Dropdown Oferta */
.ak-dropdown-toggle svg {
  width: 14px;
  height: 14px;
  fill: currentColor;
  transition: transform 0.2s ease;
}

.ak-dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  background: var(--ak-bg-white);
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
  border: 1px solid var(--ak-border-light);
  min-width: 280px;
  padding: 10px 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: opacity 0.2s ease, visibility 0.2s, transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  z-index: 100;
  list-style: none;
}

.ak-nav-item:hover .ak-dropdown-menu,
.ak-nav-item:focus-within .ak-dropdown-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.ak-nav-item:hover .ak-dropdown-toggle svg {
  transform: rotate(180deg);
}

.ak-dropdown-item a {
  display: block;
  padding: 10px 20px;
  font-size: 14px;
  font-weight: 500;
  color: var(--ak-text-field);
  transition: background-color 0.2s, color 0.2s, padding-left 0.2s;
}

.ak-dropdown-item a:hover {
  background-color: var(--ak-surface-muted);
  color: var(--ak-teal-ink);
  padding-left: 24px;
}

/* Kolumna boczna w menu: Polityka i Blog */
.ak-nav-stacked {
  display: flex;
  flex-direction: column;
  justify-content: center;
  line-height: 1.35;
}

.ak-nav-stacked a {
  font-size: 14px;
  font-weight: 500;
  color: var(--ak-navy-dark);
  transition: color 0.2s;
}

.ak-nav-stacked a:hover {
  color: var(--ak-teal-ink);
}

/* Ikony Social Media */
.ak-social-icons {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-left: 10px;
}

.ak-social-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  color: var(--ak-teal-ink);
  background: transparent;
  transition: color 0.25s ease, background-color 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.ak-social-btn:hover {
  color: #1d3557;
  transform: translateY(-2px);
}

.ak-social-btn svg {
  width: 22px;
  height: 22px;
  fill: currentColor;
}

/* Hamburger na telefony */
.ak-hamburger {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px;
  color: var(--ak-navy-dark);
}

.ak-hamburger svg {
  width: 28px;
  height: 28px;
  fill: currentColor;
}

/* Menu Mobilne Drawer */
.ak-mobile-nav {
  display: none;
  position: fixed;
  top: 90px;
  left: 0;
  width: 100%;
  height: calc(100vh - 90px);
  background: var(--ak-bg-white);
  padding: 24px 20px;
  overflow-y: auto;
  z-index: 999;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.05);
}

.ak-mobile-nav.is-open {
  display: block;
}

.ak-mobile-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.ak-mobile-link {
  font-size: 18px;
  font-weight: 600;
  color: var(--ak-navy-dark);
  padding: 8px 0;
  display: block;
}

.ak-mobile-dropdown-list {
  list-style: none;
  padding-left: 16px;
  margin-top: 8px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.ak-mobile-dropdown-list a {
  font-size: 15px;
  color: var(--ak-text-gray);
}

/* Responsywność Header */
@media (max-width: 1024px) {
  .ak-nav-desktop {
    display: none;
  }
  .ak-hamburger {
    display: block;
  }
  .ak-logo-img {
    height: 56px;
  }
  .ak-header-inner {
    height: 76px;
  }
  .ak-mobile-nav {
    top: 76px;
    height: calc(100vh - 76px);
  }
}


/* Tekst tylko dla czytników ekranu (etykiety formularza) — dodano 2026-09-30 */
.ak-sr-only {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Link „Przejdź do treści” — widoczny dopiero po fokusie z klawiatury (2026-10-01) */
.ak-skip-link {
  position: absolute;
  top: 8px;
  left: 8px;
  z-index: 10000;
  padding: 12px 18px;
  border-radius: 8px;
  background: var(--ak-navy-dark);
  color: var(--ak-text-inverse);
  font-family: 'Inter', 'Inter Fallback', sans-serif;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  transform: translateY(-150%);
}

.ak-skip-link:focus {
  transform: translateY(0);
  outline: 3px solid var(--ak-text-inverse);
  outline-offset: 2px;
}

main:focus {
  outline: none;
}

/* ==========================================================================
   PRZYCISKI-PIGUŁKI — JEDEN WZORZEC NA CAŁEJ WITRYNIE (2026-10-01)
   Wzorzec: pigułki kontaktu przy formularzu na stronie głównej.
   Komputer: 370×70px, ikona 44px, tytuł Inter 17px/700, podpis 13px/500.
   Telefon (≤600px): ok. 60px, ikona 38px, tytuł 15,5px, podpis 12,5px.
   Dotyczy: .ak-btn-pill, .wawro-btn-x9 (podstrony), „Poznaj naszą historię”, „Blog”, „Oceń nas w Google”.
   Selektory z kontenerem/elementem wygrywają z regułami w plikach CSS poszczególnych stron.
   ========================================================================== */
a.ak-btn-pill,
button.ak-btn-pill,
.wawro-wrapper-x9 .wawro-btn-x9,
.ak-about-btn-wrap .ak-btn-about,
.ak-blog-btn-wrap .ak-btn-blog,
.google-review-wrapper .google-review-btn {
  width: 100%;
  max-width: 370px;
  padding: 12px 20px 12px 14px;
  font-family: 'Inter', 'Inter Fallback', sans-serif; /* <button> nie dziedziczy fontu strony */
}

.ak-btn-pill .ak-btn-icon-wrap,
.wawro-wrapper-x9 .wawro-icon-x9,
.ak-about-btn-wrap .ak-btn-icon-about,
.ak-blog-btn-wrap .ak-btn-icon-blog,
.google-review-wrapper .google-icon-bg {
  width: 44px;
  height: 44px;
  margin-right: 16px;
}

.ak-btn-pill .ak-btn-icon-wrap svg,
.wawro-wrapper-x9 .wawro-icon-x9 svg,
.ak-about-btn-wrap .ak-btn-icon-about svg,
.ak-blog-btn-wrap .ak-btn-icon-blog svg,
.google-review-wrapper .google-icon-bg svg {
  width: 20px;
  height: 20px;
}

.ak-btn-pill .ak-btn-title,
.wawro-wrapper-x9 .wawro-title-x9,
.ak-about-btn-wrap .ak-btn-title-about,
.ak-blog-btn-wrap .ak-btn-title-blog,
.google-review-wrapper .google-title {
  font-family: 'Inter', 'Inter Fallback', sans-serif;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0;
  margin-bottom: 2px;
}

.ak-btn-pill .ak-btn-subtitle,
.wawro-wrapper-x9 .wawro-sub-x9,
.ak-about-btn-wrap .ak-btn-subtitle-about,
.ak-blog-btn-wrap .ak-btn-subtitle-blog,
.google-review-wrapper .google-subtitle {
  font-family: 'Inter', 'Inter Fallback', sans-serif;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0;
  margin-bottom: 0;
}

/* „Oceń nas w Google”: gwiazdki w jednym wierszu z tytułem, żeby przycisk miał dwa wiersze jak pozostałe */
.google-review-wrapper .google-text-col {
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  column-gap: 8px;
}
.google-review-wrapper .google-title { order: 1; }
.google-review-wrapper .google-stars { order: 2; margin-bottom: 2px; }
.google-review-wrapper .google-subtitle { order: 3; flex-basis: 100%; }
.google-review-wrapper .google-stars svg { width: 12px; height: 12px; }

@media (max-width: 600px) {
  a.ak-btn-pill,
  button.ak-btn-pill,
  .wawro-wrapper-x9 .wawro-btn-x9,
  .ak-about-btn-wrap .ak-btn-about,
  .ak-blog-btn-wrap .ak-btn-blog,
  .google-review-wrapper .google-review-btn {
    padding: 10px 16px 10px 10px;
  }
  .ak-btn-pill .ak-btn-icon-wrap,
  .wawro-wrapper-x9 .wawro-icon-x9,
  .ak-about-btn-wrap .ak-btn-icon-about,
  .ak-blog-btn-wrap .ak-btn-icon-blog,
  .google-review-wrapper .google-icon-bg {
    width: 38px;
    height: 38px;
    margin-right: 12px;
  }
  .ak-btn-pill .ak-btn-icon-wrap svg,
  .wawro-wrapper-x9 .wawro-icon-x9 svg,
  .ak-about-btn-wrap .ak-btn-icon-about svg,
  .ak-blog-btn-wrap .ak-btn-icon-blog svg,
  .google-review-wrapper .google-icon-bg svg {
    width: 18px;
    height: 18px;
  }
  .ak-btn-pill .ak-btn-title,
  .wawro-wrapper-x9 .wawro-title-x9,
  .ak-about-btn-wrap .ak-btn-title-about,
  .ak-blog-btn-wrap .ak-btn-title-blog,
  .google-review-wrapper .google-title {
    font-size: 15.5px;
  }
  .ak-btn-pill .ak-btn-subtitle,
  .wawro-wrapper-x9 .wawro-sub-x9,
  .ak-about-btn-wrap .ak-btn-subtitle-about,
  .ak-blog-btn-wrap .ak-btn-subtitle-blog,
  .google-review-wrapper .google-subtitle {
    font-size: 12.5px;
  }
  .google-review-wrapper .google-stars svg { width: 11px; height: 11px; }
}

/* Okruszki nawigacji na podstronach (2026-10-01): link odróżnia się od zwykłego tekstu nie tylko kolorem
   (WCAG 1.4.1). Selektor z [href] wygrywa z regułami .ak-breadcrumbs a w plikach podstron. */
.ak-breadcrumbs a[href] {
  color: var(--ak-teal-ink);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.ak-breadcrumbs a[href]:hover {
  color: var(--ak-navy-dark);
}

/* Bieżąca strona w okruszkach: reguły podstron przygaszały wszystkie <span> (opacity 0.6),
   także nazwę strony — kontrast spadał poniżej 4,5:1. Przygaszony zostaje tylko separator „/”. */
.ak-breadcrumbs [aria-current="page"] {
  opacity: 1;
  color: var(--ak-navy-dark);
  font-weight: 600;
}

/* Linki menu głównego i rozwijanego — widoczny fokus z klawiatury */
.ak-nav-link:focus-visible,
.ak-nav-stacked a:focus-visible,
.ak-dropdown-item a:focus-visible,
.ak-social-btn:focus-visible,
.ak-hamburger:focus-visible,
.ak-mobile-nav a:focus-visible,
.ak-logo-link:focus-visible {
  outline: 3px solid var(--ak-navy-dark);
  outline-offset: 2px;
  border-radius: 6px;
}

/* ==========================================================================
   HEADER — TELEFON (W1, dodano 2026-09-30) — mobile-first
   ========================================================================== */
.ak-header-phone {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 44px;
  min-height: 44px;
  margin-left: auto;          /* przy hamburgerze (do 1024 px) */
  margin-right: 4px;
  padding: 0 6px;
  border-radius: 50px;
  color: var(--ak-navy-dark);  /* #254059 — 10,7:1 */
  font-family: 'Outfit', 'Outfit Fallback', sans-serif;
  font-weight: 600;
  font-size: 17px;
  white-space: nowrap;
  transition: color 0.2s ease;
}

.ak-header-phone svg {
  width: 24px;
  height: 24px;
  fill: currentColor;
  flex-shrink: 0;
}

.ak-header-phone:hover {
  color: var(--ak-teal-ink);              /* ciemniejszy teal: 5,3:1 (#398898 ma tylko 4,08:1) */
}

.ak-header-phone:focus-visible {
  outline: 3px solid var(--ak-navy-dark);
  outline-offset: 2px;
}

/* Telefon (< 769 px): sama ikona, numer tylko dla czytników ekranu (jak .ak-sr-only) */
.ak-header-phone-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

@media (min-width: 769px) {
  .ak-header-phone {
    padding: 0 10px;
  }
  .ak-header-phone-text {
    position: static;
    width: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    clip: auto;
  }
}

@media (min-width: 1025px) {
  .ak-nav-desktop {
    margin-left: auto;          /* menu i telefon razem po prawej */
  }
  .ak-header-phone {
    margin-left: 18px;
    margin-right: 0;
  }
}

/* 1025–1150 px: pełne menu + numer nie mieszczą się w jednej linii → sama ikona (numer w title i aria-label) */
@media (min-width: 1025px) and (max-width: 1150px) {
  .ak-header-phone {
    padding: 0;
  }
  .ak-header-phone-text {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
  }
}

/* ==========================================================================
   STAŁY PASEK KONTAKTU NA TELEFONIE (W2, dodano 2026-09-30)
   ========================================================================== */
.ak-sticky-cta {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 998;                /* pod menu mobilnym (999) i banerem cookies (1100) */
  display: flex;
  gap: 8px;
  padding: 8px 10px calc(8px + env(safe-area-inset-bottom));
  background: var(--ak-bg-white);
  border-top: 1px solid var(--ak-border-light);
  box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.08);
}

.ak-sticky-cta-btn {
  flex: 1 1 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  border-radius: 12px;
  color: var(--ak-text-inverse);
  font-family: 'Outfit', 'Outfit Fallback', sans-serif;
  font-weight: 700;
  font-size: 16px;
  text-decoration: none;
}

.ak-sticky-cta-btn svg {
  width: 20px;
  height: 20px;
  fill: currentColor;
  flex-shrink: 0;
}

.ak-sticky-cta-tel {
  background: var(--ak-navy-dark);          /* 10,7:1 z białym */
}

.ak-sticky-cta-wa {
  background: var(--ak-teal-ink);          /* 5,3:1 z białym */
}

.ak-sticky-cta-btn:focus-visible {
  outline: 3px solid #229c9a;
  outline-offset: 2px;
}

/* Miejsce na pasek pod treścią i stopką (brak zasłaniania, brak CLS) */
body {
  padding-bottom: calc(66px + env(safe-area-inset-bottom)); /* = wysokość paska (8 + 48 + 8 + 1 px ramki) + 1 px */
}

@media (min-width: 769px) {
  .ak-sticky-cta {
    display: none;
  }
  body {
    padding-bottom: 0;
  }
}

/* ==========================================================================
   BANER ZGÓD NA COOKIES (W11, dodano 2026-09-30) — HTML tworzy js/consent.js
   Style w main.css (plik ładowany na 21 stronach — bez dodatkowego żądania)
   ========================================================================== */
.ak-consent {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1100;               /* nad paskiem kontaktu, menu i nagłówkiem */
  background: var(--ak-bg-white);
  border-top: 3px solid #398898;
  box-shadow: 0 -8px 30px rgba(0, 0, 0, 0.15);
  padding: 16px 16px calc(16px + env(safe-area-inset-bottom));
}

.ak-consent[hidden] {
  display: none;
}

.ak-consent-inner {
  max-width: 1080px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.ak-consent-title {
  font-family: 'Outfit', 'Outfit Fallback', sans-serif;
  font-size: 18px;
  font-weight: 700;
  color: var(--ak-navy-dark);
  text-align: left;
  margin-bottom: 4px;
}

.ak-consent-desc {
  font-size: 14px;
  line-height: 1.5;
  color: var(--ak-text-field);              /* 10,4:1 */
  text-align: left;
}

.ak-consent-desc a {
  color: var(--ak-teal-ink);
  text-decoration: underline;
  font-weight: 600;
}

.ak-consent-actions {
  display: flex;
  gap: 10px;
}

/* Oba przyciski identyczne (równorzędny wybór) */
.ak-consent-btn {
  flex: 1 1 0;
  min-height: 48px;
  padding: 0 20px;
  border: 2px solid var(--ak-navy-dark);
  border-radius: 50px;
  background: var(--ak-navy-dark);
  color: var(--ak-text-inverse);
  font-family: 'Outfit', 'Outfit Fallback', sans-serif;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
}

.ak-consent-btn:hover {
  background: #1b3045;
}

.ak-consent-btn:focus-visible {
  outline: 3px solid #229c9a;
  outline-offset: 3px;
}

/* Gdy baner jest widoczny: miejsce pod nim do przewinięcia, pasek kontaktu schowany */
body.ak-consent-open {
  padding-bottom: var(--ak-consent-h, 0px);
}

body.ak-consent-open .ak-sticky-cta {
  display: none;
}

@media (min-width: 769px) {
  .ak-consent {
    padding: 18px 24px;
  }
  .ak-consent-inner {
    flex-direction: row;
    align-items: center;
    gap: 28px;
  }
  .ak-consent-desc {
    font-size: 15px;
    text-align: left;
  }
  .ak-consent-actions {
    flex-shrink: 0;
  }
  .ak-consent-btn {
    flex: 0 0 150px;
  }
}

/* Przycisk „Ustawienia cookies” w stopce — wygląda jak link obok „Polityka prywatności” */
.ak-cookie-settings {
  background: none;
  border: 0;
  padding: 0;
  font: inherit;
  color: var(--ak-footer-text-muted);              /* 6,9:1 na tle stopki #0b1a23 */
  cursor: pointer;
  transition: color 0.2s ease;
}

.ak-cookie-settings[hidden] {
  display: none;
}

.ak-cookie-settings:hover {
  color: var(--ak-teal-on-dark);
}

.ak-cookie-settings:focus-visible,
.ak-footer-legal-links a:focus-visible {
  outline: 2px solid var(--ak-footer-text-muted);
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
  .ak-header-phone,
  .ak-cookie-settings {
    transition: none;
  }

  /* Ograniczony ruch (2026-10-01): bez przesunięć, powiększeń i połysku przy najechaniu.
     Zmiany koloru i cienia zostają — to one potwierdzają, że element reaguje. */
  .ak-btn-pill,
  .ak-btn-about,
  .google-review-btn,
  .ak-btn-blog,
  .ak-main-btn,
  .wawro-btn-x9,
  .ak-card-link-btn,
  .ak-front-corner-link,
  .ak-action-btn,
  .ak-quick-pill,
  .ak-footer-social-btn,
  .ak-footer-google-card,
  .ak-footer-links-list a,
  .ak-dropdown-menu {
    transform: none !important;
  }

  .ak-btn-pill::before,
  .ak-btn-about::before,
  .google-review-btn::before,
  .ak-btn-blog::before,
  .ak-main-btn::before,
  .wawro-btn-x9::before {
    display: none;
  }

  /* Panel „Dla Ciebie / Dla Firmy”: samo przenikanie, bez unoszenia */
  .ak-panel.is-entering {
    animation-name: fadePanel;
  }

  .ak-toggle-indicator {
    transition-duration: 0.01s;
  }
}

@keyframes fadePanel {
  from {
    opacity: 0;
  }
}

/* ==========================================================================
   LINKI W TREŚCI (2026-10-01, uwagi Architekta do pakietu FINAL — zamiast części 5.1)
   ========================================================================== */
/* Linki w treści – jak .ak-seo-link w sekcji HERO */
main p a:not([class]), main li a:not([class]),
.faq-answer a:not([class]),
.ak-article-body a:not([class]),
.ak-subpage-intro-p a:not([class]) {
  color: var(--ak-teal-ink);
  text-decoration: underline;
  text-underline-offset: 3px;
  font-weight: 600;
  transition: color 0.2s ease;
}
main p a:not([class]):hover, main li a:not([class]):hover,
.faq-answer a:not([class]):hover,
.ak-article-body a:not([class]):hover,
.ak-subpage-intro-p a:not([class]):hover {
  color: var(--ak-navy-dark);
}
main p a:not([class]):focus-visible, main li a:not([class]):focus-visible,
.faq-answer a:not([class]):focus-visible,
.ak-article-body a:not([class]):focus-visible,
.ak-subpage-intro-p a:not([class]):focus-visible {
  outline: 2px solid var(--ak-teal-ink);
  outline-offset: 2px;
  border-radius: 2px;
}

/* Klikalność linków w treści (2026-10-01): akapity w kartach z efektem 3D mają
   pointer-events: none (np. .ak-firmy-card p w css/firmy.css), przez co linki w nich
   nie reagowały na kliknięcie/dotyk. Przywracamy zdarzenia tylko samym linkom. */
main p a:not([class]), main li a:not([class]) {
  pointer-events: auto;
}
