/*
 * Linguaforum shared components — lf-components.css
 * Built locally. Do not edit by hand; regenerate with build_lf_components.py.
 * All selectors are namespaced under .lf-* / #kraj-wydania / #wyszukiwarka / #zakres.
 * Preview-only html/body/img and .lf-preview-* rules are not included.
 */

/* Scoped substitutes for the preview-only html/body/img rules that must not
   ship site-wide. Flag size rules later in this file override the img default. */
html:has(.lf-city-page),
html:has(.lf-product-template) { scroll-behavior: smooth; }
.lf-city-page,
.lf-product-template {
  font-family: Poppins, Arial, Helvetica, sans-serif;
  color: #273143;
}
.lf-city-page img,
.lf-product-template img { max-width: 100%; height: auto; }

/* === krosno: City / Krosno pattern: hero, sections, FAQ, UK-docs layout (shared by birth landing, city pages, language pilots). === */
.lf-city-page {
  --lf-ink:#20382f;
  --lf-green:#3e7556;
  --lf-red:#bd5149;
  --lf-soft:#f4f6f2;
  font-family:Arial,sans-serif;
  color:var(--lf-ink);
  font-size:16px;
  line-height:1.7;
  max-width:1240px;
  margin:0 auto;
}

.lf-city-page *,
.lf-city-page *::before,
.lf-city-page *::after {
  box-sizing:border-box;
}

.lf-city-page h1,
.lf-city-page h2,
.lf-city-page h3 {
  color:var(--lf-ink);
  line-height:1.18;
  font-family:inherit;
  letter-spacing:-.035em;
  margin:0 0 18px;
  font-weight:700;
}

.lf-city-page h1 {
  font-size:clamp(36px,4.3vw,60px);
}

.lf-city-page h2 {
  font-size:clamp(27px,3vw,38px);
}

.lf-city-page h3 {
  font-size:22px;
  letter-spacing:-.02em;
}

.lf-city-page p {
  margin:0 0 18px;
}

.lf-city-page a {
  color:var(--lf-green);
  text-decoration:underline;
  text-underline-offset:4px;
}

.lf-city-page a:hover {
  color:#244e38;
}

.lf-city-page a:focus-visible,
.lf-city-page summary:focus-visible {
  outline:3px solid #ba4b41;
  outline-offset:5px;
}

.lf-city-page section[id] {
  scroll-margin-top:100px;
}

.lf-city-breadcrumb {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  font-size:13px;
  padding:20px 28px;
  color:#59685e;
}

.lf-city-page .lf-uk-docs-hero-wrap {
  padding:42px;
  background:#eef4ee;
  border-radius:26px;
}

.lf-city-page .lf-uk-docs-hero {
  display:grid;
  grid-template-columns:1.35fr 1fr;
  gap:40px;
  align-items:center;
}

.lf-city-page .lf-uk-docs-eyebrow,
.lf-city-page .lf-uk-docs-label {
  display:block;
  color:var(--lf-green);
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.13em;
  font-weight:700;
  margin-bottom:18px;
}

.lf-city-page .lf-city-lead {
  font-size:22px;
  line-height:1.45;
  font-weight:600;
}

.lf-city-page .lf-uk-docs-hero__actions {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin:25px 0 18px;
}

.lf-city-page a.lf-uk-docs-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--lf-green);
  color:white;
  font-size:14px;
  font-weight:700;
  line-height:1.4;
  text-decoration:none;
  border:1px solid var(--lf-green);
  border-radius:10px;
  padding:15px 20px;
  transition:background .15s;
}

.lf-city-page a.lf-uk-docs-button:hover {
  background:#28503b;
}

.lf-city-page a.lf-uk-docs-button--light,
.lf-city-page a.lf-uk-docs-button--outline {
  background:white;
  color:var(--lf-green);
}

.lf-city-page a.lf-uk-docs-button--light:hover,
.lf-city-page a.lf-uk-docs-button--outline:hover {
  background:#e5eee5;
}

.lf-city-page .lf-uk-docs-hero__card {
  background:white;
  border:1px solid #dce6dc;
  padding:26px;
  border-radius:20px;
  box-shadow:0 12px 40px #2446320b;
}

.lf-city-page .lf-uk-docs-hero__card-badge {
  display:inline-block;
  background:#e8f2e8;
  color:var(--lf-green);
  padding:5px 11px;
  border-radius:20px;
  font-size:12px;
  font-weight:700;
  margin-bottom:13px;
}

.lf-city-page .lf-uk-docs-hero__card-title {
  font-size:25px;
  font-weight:700;
  letter-spacing:-.025em;
  margin-bottom:10px;
}

.lf-city-page .lf-uk-docs-hero__card-top p {
  font-size:14px;
}

.lf-city-page .lf-uk-docs-hero__mini-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

.lf-city-page .lf-uk-docs-hero__mini {
  padding:15px;
  background:var(--lf-soft);
  border-radius:12px;
}

.lf-city-page .lf-uk-docs-hero__mini span {
  display:block;
  font-size:22px;
  margin-bottom:4px;
}

.lf-city-page .lf-uk-docs-hero__mini strong {
  display:block;
  font-size:15px;
}

.lf-city-page .lf-uk-docs-hero__mini small {
  display:block;
  font-size:12px;
  line-height:1.5;
  color:#57675b;
}

.lf-city-page a.lf-uk-docs-hero__note {
  display:block;
  background:#faf0ed;
  border-left:3px solid var(--lf-red);
  border-radius:8px;
  padding:15px;
  margin-top:18px;
  color:var(--lf-ink);
  text-decoration:none;
  font-size:13px;
}

.lf-city-page .lf-uk-docs-hero__note strong,
.lf-city-page .lf-uk-docs-hero__note span {
  display:block;
}

.lf-city-page .lf-city-small {
  font-size:13px;
  color:#536559;
  margin:14px 0 0;
}

.lf-city-shortcuts {
  display:flex;
  flex-wrap:wrap;
  gap:10px 24px;
  padding:25px 5px;
  border-bottom:1px solid #dfe6df;
  margin-bottom:10px;
  font-size:13px;
  font-weight:700;
}

.lf-city-page .lf-uk-docs-section {
  padding:46px 30px;
}

.lf-city-page .lf-uk-docs-section--soft {
  background:var(--lf-soft);
  border-radius:22px;
  margin:10px 0;
}

.lf-city-page .lf-uk-docs-section__head {
  width:100%;
  max-width:none;
  margin-bottom:28px;
}

.lf-city-page .lf-uk-docs-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}

.lf-city-page .lf-uk-docs-card {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  border:1px solid #dce4dc;
  border-radius:16px;
  padding:26px;
  background:white;
}

.lf-city-page .lf-uk-docs-card--green {
  background:#eef5ee;
  border-color:#d7e8d9;
}

.lf-city-page .lf-uk-docs-card--red {
  background:#fcf0ec;
  border-color:#f1ded7;
}

.lf-city-page .lf-uk-docs-card p {
  font-size:14px;
}

.lf-city-page .lf-city-card-icon {
  font-size:13px;
  font-weight:700;
  border:1px solid currentColor;
  border-radius:50%;
  width:35px;
  height:35px;
  display:grid;
  place-items:center;
  margin-bottom:20px;
  color:var(--lf-green);
}

.lf-city-page .lf-uk-docs-card--red .lf-city-card-icon {
  color:var(--lf-red);
}

.lf-city-page .lf-city-text-link {
  font-size:13px;
  font-weight:700;
  margin-top:auto;
}

.lf-city-page .lf-uk-docs-split {
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:40px;
  align-items:start;
}

.lf-city-page .lf-uk-docs-panel {
  background:white;
  border:1px solid #dfe7dd;
  border-radius:16px;
  padding:28px;
}

.lf-city-checklist {
  list-style:none;
  padding:0;
  margin:0;
}

.lf-city-checklist li {
  position:relative;
  padding-left:24px;
  font-size:14px;
  margin-bottom:14px;
}

.lf-city-checklist li::before {
  content:'✓';
  position:absolute;
  left:0;
  font-weight:bold;
  color:var(--lf-green);
}

.lf-city-steps {
  list-style:none;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
  padding:0;
  margin:0;
}

.lf-city-steps li {
  border-top:1px solid #d7e4d9;
  padding:22px 5px 0;
}

.lf-city-steps li > span {
  display:grid;
  place-items:center;
  border-radius:50%;
  width:38px;
  height:38px;
  background:#e8f1e8;
  color:var(--lf-green);
  font-weight:700;
  margin-bottom:20px;
}

.lf-city-steps h3 {
  font-size:19px;
}

.lf-city-steps p {
  font-size:14px;
}

.lf-city-faq details {
  border:1px solid #dce5db;
  border-radius:12px;
  margin:12px 0;
  background:white;
}

.lf-city-faq summary {
  cursor:pointer;
  font-size:16px;
  font-weight:700;
  padding:19px 24px;
}

.lf-city-faq details p {
  padding:0 24px 20px;
  font-size:14px;
  margin:0;
}

.lf-city-region-links {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

.lf-city-region-links a {
  font-size:14px;
  background:white;
  border:1px solid #d8e4d9;
  border-radius:10px;
  padding:12px 18px;
  text-decoration:none;
  font-weight:700;
}

.lf-city-final {
  margin:28px 0 40px;
  background:#edf4ec;
  border:1px solid #d5e3d3;
  border-radius:24px;
  padding:44px;
}

.lf-city-final > p {
  max-width:760px;
  margin-left:auto;
  margin-right:auto;
}

.lf-city-final h2 {
  font-size:clamp(30px,3.6vw,44px);
}

.lf-city-page {
  --lf-ink:#08143f;
  --lf-green:#8bc43f;
  --lf-red:#ff4a3d;
  --lf-soft:#f7f9fc;
  color:#273143;
  font-family:inherit;
}

.lf-city-page a {
  color:#c71d4b;
}

.lf-city-page a:hover {
  color:#981238;
}

.lf-city-page .lf-uk-docs-hero-wrap {
  background:radial-gradient(circle at 8% 15%,rgba(255,255,255,.2),transparent 30%),linear-gradient(120deg,#ff4a3d 0%,#ef285d 58%,#d81758 100%);
  box-shadow:0 18px 40px #08143f18;
}

.lf-city-page .lf-uk-docs-hero h1,
.lf-city-page .lf-uk-docs-hero__content p,
.lf-city-page .lf-uk-docs-hero__card-title {
  color:white;
}

.lf-city-page .lf-uk-docs-eyebrow {
  display:inline-flex;
  background:#ffffff25;
  color:white;
  padding:8px 12px;
  border-radius:30px;
}

.lf-city-page .lf-uk-docs-label {
  color:#c71d4b;
}

.lf-city-page .lf-uk-docs-hero__card {
  background:#ffffff24;
  border-color:#ffffff40;
  box-shadow:none;
}

.lf-city-page .lf-uk-docs-hero__card-top p {
  color:white;
}

.lf-city-page .lf-uk-docs-hero__card-badge {
  background:white;
  color:#c71d4b;
}

.lf-city-page .lf-uk-docs-hero__mini {
  background:#ffffffed;
}

.lf-city-page .lf-uk-docs-hero__mini small {
  color:#596174;
}

.lf-city-page a.lf-uk-docs-button {
  color:#101828;
  border-color:transparent;
  font-weight:800;
  background:#8bc43f;
}

.lf-city-page a.lf-uk-docs-button:hover {
  background:#6da929;
  color:#101828;
}

.lf-city-page a.lf-uk-docs-button--light,
.lf-city-page a.lf-uk-docs-button--outline {
  background:white;
  color:#08143f;
  border-color:#dfe5ef;
}

.lf-city-page .lf-uk-docs-card--green {
  background:#f3fae9;
  border-color:#dceac7;
}

.lf-city-page .lf-uk-docs-card--red {
  background:#fff0f3;
  border-color:#f4d6df;
}

.lf-city-page .lf-city-card-icon,
.lf-city-checklist li::before {
  color:#406d1d;
}

.lf-city-steps li > span {
  background:#eaf3ff;
  color:#114d86;
}

.lf-city-page .lf-city-small {
  color:#667085;
}

.lf-city-page .lf-uk-docs-hero__content .lf-city-small {
  color:white;
}

.lf-city-final {
  background:linear-gradient(120deg,#ff4a3d,#ef285d 58%,#d81758);
  border:0;
  text-align:center;
}

.lf-city-page .lf-city-final .lf-uk-docs-hero__actions {
  justify-content:center;
}

.lf-city-page .lf-city-final h2,
.lf-city-page .lf-city-final p,
.lf-city-page .lf-city-final p a {
  color:white;
}

.lf-city-page .lf-uk-docs-hero-wrap {
  width:var(--lf-city-vw,100vw);
  max-width:none;
  margin-left:calc(50% - var(--lf-city-vw,100vw)/2);
  margin-right:calc(50% - var(--lf-city-vw,100vw)/2);
  padding:48px 24px;
  border-radius:0;
}

.lf-city-page .lf-uk-docs-hero {
  max-width:1180px;
  margin:0 auto;
  grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);
  gap:40px;
}

.lf-city-page .lf-uk-docs-hero__content,
.lf-city-page .lf-uk-docs-hero__card {
  min-width:0;
}

.lf-city-page .lf-city-shortcuts {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  padding:28px 20px;
  border:0;
  margin:0;
}

.lf-city-page .lf-city-shortcuts a {
  display:flex;
  gap:12px;
  align-items:center;
  color:#08143f;
  background:#fff;
  border:1px solid #dfe5ef;
  border-radius:14px;
  padding:17px 16px;
  text-decoration:none;
  box-shadow:0 6px 18px #08143f05;
}

.lf-city-page .lf-city-shortcuts a:hover {
  border-color:#ef285d;
  background:#fff7f9;
}

.lf-city-shortcut-number {
  display:grid;
  place-items:center;
  border-radius:10px;
  background:#fff0f4;
  color:#bd2048;
  width:34px;
  height:34px;
  flex-shrink:0;
  font-size:12px;
}

.lf-city-shortcuts strong,
.lf-city-shortcuts small {
  display:block;
}

.lf-city-shortcuts strong {
  font-size:14px;
  line-height:1.4;
}

.lf-city-shortcuts small {
  font-size:11px;
  line-height:1.45;
  color:#667085;
  font-weight:400;
  margin-top:3px;
}

.lf-city-shortcut-arrow {
  margin-left:auto;
  color:#c71d4b;
}

.lf-city-services {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}

.lf-city-page a.lf-city-service {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  color:#273143;
  background:#fff;
  border:1px solid #dfe5ef;
  border-radius:18px;
  padding:26px;
  text-decoration:none;
  font-weight:400;
  transition:transform .15s,box-shadow .15s;
}

.lf-city-page a.lf-city-service:hover {
  transform:translateY(-3px);
  box-shadow:0 12px 26px #08143f0b;
  border-color:#ef285d;
}

.lf-city-service:nth-child(3n + 1) {
  background:#f8fbea!important;
}

.lf-city-service:nth-child(3n + 2) {
  background:#f3f7ff!important;
}

.lf-city-service:nth-child(3n) {
  background:#fff4f6!important;
}

.lf-city-service-icon {
  display:grid;
  place-items:center;
  font-size:28px;
  background:white;
  border-radius:14px;
  width:54px;
  height:54px;
  margin-bottom:20px;
}

.lf-city-page .lf-city-service h3 {
  font-size:22px;
  line-height:1.25;
}

.lf-city-page .lf-city-service p {
  font-size:14px;
  color:#465062;
}

.lf-city-service-link {
  margin-top:auto;
  font-size:13px;
  font-weight:700;
  color:#bb204a;
}

.lf-city-documents {
  margin-top:25px;
  padding:26px;
  border-radius:18px;
  background:#f7f9fc;
  border:1px solid #e4e9f1;
}

.lf-city-documents p {
  font-size:14px;
}

.lf-city-doc-links {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}

.lf-city-page .lf-city-doc-links a {
  display:flex;
  align-items:center;
  justify-content:space-between;
  background:white;
  padding:12px 15px;
  border:1px solid #dfe5ef;
  border-radius:9px;
  font-size:13px;
  font-weight:700;
  text-decoration:none;
}

.lf-city-languages {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}

.lf-city-language {
  position:relative;
  display:flex;
  flex-direction:column;
  background:#fff;
  border:1px solid #dfe5ef;
  border-radius:18px;
  padding:25px;
}

.lf-city-language-code {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:38px;
  margin-bottom:18px;
  border-radius:10px;
  color:#114d86;
  background:#eaf3ff;
  font-size:14px;
  font-weight:800;
}

.lf-city-page .lf-city-language h3 {
  font-size:20px;
  line-height:1.3;
}

.lf-city-language p {
  font-size:14px;
}

.lf-city-language a {
  margin-top:auto;
  font-size:13px;
  font-weight:700;
}

.lf-city-language-note {
  font-size:14px;
  margin-top:22px!important;
}

.lf-city-page .lf-city-region-links {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}

.lf-city-page .lf-city-region-links a {
  display:grid;
  grid-template-columns:1fr auto;
  padding:18px;
  color:#08143f;
}

.lf-city-region-links a > span:first-child {
  grid-column:1;
  font-weight:400;
  color:#667085;
  font-size:12px;
}

.lf-city-region-links a > strong {
  grid-column:1;
  line-height:1.4;
  font-size:16px;
}

.lf-city-region-links a > span:last-child {
  grid-column:2;
  grid-row:1 / 3;
  align-self:center;
  color:#c71d4b;
}

.lf-city-region-more {
  display:flex;
  flex-wrap:wrap;
  gap:12px 24px;
  margin-top:20px;
  font-size:13px;
}

.lf-city-page .lf-city-phone-row {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin-top:20px;
}

.lf-city-page .lf-city-phone-prompt {
  font-size:14px;
  color:#fff;
  line-height:1.4;
}

.lf-city-page a.lf-city-phone-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  background:#08143f;
  color:#fff!important;
  text-decoration:none;
  padding:11px 16px;
  margin:0;
  border-radius:10px;
  font-size:13px;
  font-weight:700;
  line-height:1.4;
  min-height:42px;
}

.lf-city-page .lf-city-phone-button svg {
  flex-shrink:0;
}

.lf-city-page a.lf-city-phone-button:hover {
  background:#114d86;
}

.lf-city-page a.lf-city-whatsapp-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:42px;
  padding:11px 16px;
  border:1px solid transparent;
  border-radius:10px;
  background:#25d366;
  color:#082b18!important;
  font-size:13px;
  font-weight:700;
  line-height:1.4;
  text-decoration:none;
  white-space:nowrap;
}

.lf-city-page a.lf-city-whatsapp-button:hover {
  background:#1fc35d;
  color:#082b18!important;
}

.lf-city-page .lf-city-whatsapp-button svg {
  flex-shrink:0;
}

.lf-city-page .lf-uk-docs-hero__actions .lf-city-whatsapp-button {
  min-height:46px;
  padding:15px 20px;
  font-size:14px;
}

.lf-city-page .lf-uk-docs-section .lf-uk-docs-section__head,
.lf-city-page .lf-uk-docs-section .lf-uk-docs-section__head h2,
.lf-city-page .lf-uk-docs-section .lf-uk-docs-section__head p {
  width:100%!important;
  max-width:none!important;
}

.lf-preview-meta {
  background: #101828;
  padding: 12px 14px;
  border-radius: 10px;
  margin-top: 10px;
}

.lf-preview-meta span {
  display: block;
  color: #98a2b3;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .08em;
  margin-bottom: 4px;
}

.lf-preview-meta em {
  font-style: normal;
  color: #fff;
  font-weight: 600;
}

.lf-preview-header,
.lf-preview-footer {
  max-width: 1180px;
  margin: 0 auto;
  padding: 16px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.lf-preview-header {
  border-bottom: 1px solid #e4e9f1;
}

.lf-preview-header img {
  height: 42px;
  width: auto;
}

.lf-preview-header a {
  color: #08143f;
  text-decoration: none;
  font-weight: 700;
  font-size: 14px;
}

.lf-preview-footer {
  border-top: 1px solid #e4e9f1;
  color: #667085;
  font-size: 13px;
  flex-wrap: wrap;
}

.lf-city-page .lf-uk-docs-main {
  max-width: 1180px;
  margin: 0 auto;
}

.lf-city-page .lf-uk-docs-section--white {
  background: #fff;
}

.lf-brief-table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  border: 1px solid #dfe5ef;
  border-radius: 12px;
  overflow: hidden;
  font-size: 14px;
  margin: 8px 0 22px;
}

.lf-brief-table th,
.lf-brief-table td {
  text-align: left;
  padding: 12px 14px;
  border-bottom: 1px solid #e4e9f1;
  vertical-align: top;
}

.lf-brief-table th {
  background: #f7f9fc;
  color: #08143f;
  font-size: 12px;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.lf-brief-table tr:last-child td {
  border-bottom: 0;
}

.lf-brief-table code {
  font-family: inherit;
  font-weight: 700;
  color: #08143f;
}

.lf-doc-figures {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin: 10px 0 8px;
}

.lf-doc-figures figure {
  margin: 0;
  background: #fff;
  border: 1px solid #dfe5ef;
  border-radius: 16px;
  padding: 14px;
}

.lf-doc-figures img {
  width: 100%;
  border-radius: 10px;
  background: #f7f9fc;
  object-fit: contain;
  max-height: 420px;
}

.lf-doc-figures figcaption {
  font-size: 13px;
  color: #667085;
  margin-top: 10px;
  line-height: 1.5;
}

.lf-product-cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}

.lf-city-page a.lf-product-card {
  display: flex;
  gap: 16px;
  align-items: center;
  text-decoration: none;
  color: #273143;
  background: #fff;
  border: 1px solid #dfe5ef;
  border-radius: 16px;
  padding: 16px;
  font-weight: 400;
}

.lf-city-page a.lf-product-card:hover {
  border-color: #ef285d;
  box-shadow: 0 12px 26px #08143f0b;
}

.lf-product-card img {
  width: 88px;
  height: 88px;
  object-fit: contain;
  background: #f7f9fc;
  border-radius: 12px;
  flex-shrink: 0;
}

.lf-product-card strong {
  display: block;
  font-size: 16px;
  color: #08143f;
  margin-bottom: 4px;
}

.lf-product-card small {
  display: block;
  font-size: 13px;
  color: #667085;
  line-height: 1.5;
}

.lf-form-placeholder {
  max-width: 1180px;
  margin: 0 auto 40px;
  padding: 28px 24px;
  background: #f7f9fc;
  border: 1px dashed #d0d5dd;
  border-radius: 18px;
}

.lf-form-placeholder h2 {
  margin: 0 0 10px;
  font-size: 22px;
  color: #08143f;
}

.lf-form-placeholder p {
  margin: 0 0 8px;
  font-size: 14px;
  color: #465062;
}

.lf-product-card__icon {
  display: grid;
  place-items: center;
  width: 88px;
  height: 88px;
  flex-shrink: 0;
  border-radius: 12px;
  background: #f7f9fc;
  font-size: 32px;
}

.lf-city-page .lf-uk-docs-hero-wrap > .lf-city-breadcrumb {
  max-width:1180px;
  margin:0 auto 22px;
  padding:0;
  color:#fff;
  font-size:13px;
  font-weight:600;
  gap:8px 10px;
  align-items:center;
}

.lf-city-page .lf-uk-docs-hero-wrap > .lf-city-breadcrumb a {
  color:#fff;
  text-decoration:none;
  text-underline-offset:3px;
}

.lf-city-page .lf-uk-docs-hero-wrap > .lf-city-breadcrumb a.lf-crumb-home {
  text-decoration:underline;
}

.lf-city-page .lf-uk-docs-hero-wrap > .lf-city-breadcrumb a:hover,
.lf-city-page .lf-uk-docs-hero-wrap > .lf-city-breadcrumb a:focus-visible {
  color:#fff;
  text-decoration:underline;
}

.lf-city-page .lf-uk-docs-hero-wrap > .lf-city-breadcrumb [aria-current="page"] {
  color:rgba(255,255,255,.92);
  font-weight:600;
}

.lf-city-page .lf-uk-docs-hero-wrap > .lf-city-breadcrumb span[aria-hidden="true"] {
  color:rgba(255,255,255,.7);
}

.lf-city-page .lf-uk-docs-hero {
  align-items:start;
}

.lf-hero-featured {
  margin:-26px -26px 16px;
  border-radius:20px 20px 0 0;
  overflow:hidden;
  background:#fff;
}

.lf-hero-featured img {
  display:block;
  width:100%;
  height:auto;
  object-fit:cover;
  object-position:top center;
}

.lf-qbox {
  margin:18px auto;
  background:#fff;
  border:1px solid #dce6dc;
  border-radius:16px;
  padding:18px 20px;
}

.lf-qbox table th,
.lf-qbox table td {
  border-bottom:1px solid #e6eee6;
  padding:7px 8px;
  text-align:left;
}

@media(max-width:850px) {
  .lf-city-page .lf-uk-docs-hero {
    grid-template-columns:1fr;
    gap:28px;
  }

  .lf-city-page .lf-uk-docs-split {
    grid-template-columns:1fr;
    gap:24px;
  }

  .lf-city-page .lf-uk-docs-grid {
    grid-template-columns:1fr;
  }

  .lf-city-steps {
    grid-template-columns:1fr 1fr;
  }

  .lf-city-page .lf-uk-docs-hero-wrap {
    padding:28px;
  }

  .lf-city-services,
  .lf-city-languages {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .lf-city-page .lf-city-shortcuts {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .lf-city-doc-links {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .lf-city-page .lf-city-region-links {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:480px) {
  .lf-city-page .lf-uk-docs-hero-wrap {
    padding:24px 18px;
    border-radius:16px;
  }

  .lf-city-page .lf-uk-docs-section {
    padding:32px 18px;
  }

  .lf-city-page .lf-uk-docs-hero__card {
    padding:20px 16px;
  }

  .lf-city-page .lf-uk-docs-hero__actions {
    flex-direction:column;
  }

  .lf-city-page a.lf-uk-docs-button {
    width:100%;
  }

  .lf-city-page .lf-city-lead {
    font-size:19px;
  }

  .lf-city-steps {
    grid-template-columns:1fr;
  }

  .lf-city-final {
    padding:30px 20px;
  }

  .lf-city-breadcrumb {
    padding:16px;
    font-size:12px;
  }

  .lf-city-shortcuts {
    padding:20px 16px;
  }

  .lf-city-page .lf-uk-docs-panel {
    padding:22px;
  }

  .lf-city-page .lf-uk-docs-hero__actions .lf-city-whatsapp-button {
    width:100%;
  }

  .lf-city-page .lf-city-phone-row {
    gap:10px;
  }

  .lf-city-page .lf-city-phone-row .lf-city-phone-prompt {
    flex-basis:100%;
  }

  .lf-city-page .lf-city-phone-row .lf-city-whatsapp-button,
  .lf-city-page .lf-city-phone-row .lf-city-phone-button {
    width:auto;
  }

  .lf-city-page .lf-uk-docs-hero-wrap > .lf-city-breadcrumb {
    padding:0;
    font-size:12px;
    margin-bottom:16px;
  }

  .lf-hero-featured {
    margin:-20px -16px 14px;
    border-radius:20px 20px 0 0;
  }
}

@media(prefers-reduced-motion:reduce) {
  .lf-city-page * {
    transition:none!important;
    scroll-behavior:auto!important;
  }
}

@media(max-width:520px) {
  .lf-city-page .lf-uk-docs-hero-wrap {
    padding:30px 18px;
  }

  .lf-city-services,
  .lf-city-languages,
  .lf-city-doc-links {
    grid-template-columns:1fr;
  }

  .lf-city-page .lf-city-shortcuts {
    padding:20px 8px;
    gap:8px;
  }

  .lf-city-page .lf-city-shortcuts a {
    padding:12px;
    gap:8px;
  }

  .lf-city-shortcut-number {
    width:27px;
    height:27px;
    font-size:10px;
  }

  .lf-city-shortcuts strong {
    font-size:12px;
  }

  .lf-city-shortcuts small {
    font-size:10px;
  }

  .lf-city-shortcut-arrow {
    display:none;
  }

  .lf-city-page .lf-city-region-links {
    grid-template-columns:1fr 1fr;
  }

  .lf-city-page .lf-city-region-links a {
    padding:14px;
  }

  .lf-city-region-links a > strong {
    font-size:14px;
  }

  .lf-city-page a.lf-city-phone-button {
    width:auto;
    justify-content:center;
  }
}

@media (max-width: 850px) {
  .lf-doc-figures,
  .lf-product-cards {
    grid-template-columns: 1fr;
  }

  .lf-preview-header,
  .lf-preview-footer {
    padding: 14px 16px;
  }
}

@media (max-width: 640px) {
  .lf-brief-table {
    display: block;
    overflow: visible;
    border: 0;
    background: transparent;
  }

  .lf-brief-table thead {
    display: none;
  }

  .lf-brief-table tbody,
  .lf-brief-table tr,
  .lf-brief-table td {
    display: block;
  }

  .lf-brief-table tr {
    background: #fff;
    border: 1px solid #dfe5ef;
    border-radius: 12px;
    margin: 0 0 12px;
    padding: 14px;
  }

  .lf-brief-table td {
    border: 0;
    padding: 6px 0;
  }

  .lf-brief-table td + td {
    border-top: 1px solid #f0f2f6;
    margin-top: 8px;
    padding-top: 10px;
  }

  .lf-brief-table td::before {
    content: attr(data-label);
    display: block;
    font-size: 11px;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: #667085;
    font-weight: 700;
    margin-bottom: 4px;
  }
}

/* === jezyki-pilot: Language-pilot + birth extras: shop/guide tiles, hero benefits, 3-per-row guides (longer than the jezyki-pilot/assets copy). === */
.lf-hero-featured img {
  aspect-ratio:16/9;
  object-fit:cover;
  object-position:center 25%;
  width:100%;
  height:auto;
  display:block;
  border-radius:inherit;
}

.lf-shop-cats {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:6px 0 20px;
}

.lf-city-page .lf-shop-cats a {
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:#fff;
  border:1px solid #dfe5ef;
  border-radius:999px;
  padding:10px 16px;
  font-size:13px;
  font-weight:700;
  text-decoration:none;
  color:#08143f;
}

.lf-city-page .lf-shop-cats a:hover {
  border-color:#c71d4b;
  color:#c71d4b;
}

.lf-city-page .lf-shop-cats a small {
  font-weight:600;
  color:#667085;
  font-size:11px;
}

.lf-shop-dir {
  font-size:12px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#c71d4b;
  margin:26px 0 10px;
}

.lf-city-page .lf-city-doc-links a span {
  font-weight:600;
  color:#667085;
  font-size:11px;
  margin-left:8px;
  white-space:nowrap;
}

.lf-guide-list {
  display:grid;
  gap:12px;
}

.lf-guide-item {
  background:#fff;
  border:1px solid #dfe5ef;
  border-radius:14px;
  padding:16px 18px;
}

.lf-city-page .lf-guide-item h3 {
  font-size:18px;
  margin:0 0 6px;
  line-height:1.3;
}

.lf-city-page .lf-guide-item p {
  margin:0 0 8px;
  font-size:14px;
}

.lf-city-page .lf-guide-item a {
  font-weight:700;
  font-size:13px;
}

.lf-note {
  font-size:14px;
  background:#fff;
  border-left:3px solid #8bc43f;
  padding:10px 14px;
  margin:14px 0 0;
}

.lf-hero-benefits {
  list-style:none;
  margin:16px 0 0;
  padding:0;
  display:grid;
  gap:7px;
  max-width:36rem;
}

.lf-hero-benefits li {
  display:flex;
  align-items:flex-start;
  gap:10px;
  font-size:13px;
  line-height:1.35;
  color:#fff;
  font-weight:500;
}

.lf-hero-benefits__icon {
  flex:0 0 26px;
  width:26px;
  height:26px;
  margin-top:1px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:8px;
  background:#ffffff28;
  font-size:13px;
  line-height:1;
}

.lf-city-page .lf-uk-docs-hero__content p a {
  color:#fff;
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:3px;
}

.lf-city-page .lf-uk-docs-hero__content p a:hover,
.lf-city-page .lf-uk-docs-hero__content p a:focus-visible {
  color:#fff;
  text-decoration-thickness:2px;
}

.lf-doc-group[id] {
  scroll-margin-top:28px;
}

.lf-doc-groups {
  display:grid;
  gap:28px;
  margin:4px 0 8px;
}

.lf-doc-group h3 {
  font-size:18px;
  margin:0 0 12px;
  color:#08143f;
  font-weight:800;
}

.lf-doc-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
  gap:14px;
}

.lf-doc-tile {
  background:#fff;
  border:1px solid #dfe5ef;
  border-radius:20px;
  padding:20px;
  display:flex;
  flex-direction:column;
  gap:8px;
}

.lf-document-icon {
  width:64px;
  height:64px;
  object-fit:contain;
  display:block;
}

.lf-doc-tile__ph {
  width:64px;
  height:64px;
  border-radius:14px;
  background:#f4f6fb;
  color:#08143f;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:28px;
  line-height:1;
}

.lf-doc-tile h4 {
  margin:0;
  font-size:16px;
  line-height:1.3;
  color:#08143f;
  font-weight:700;
}

.lf-doc-tile__links {
  display:flex;
  flex-direction:column;
  gap:4px;
  margin-top:2px;
}

.lf-doc-tile__links a {
  font-size:12.5px;
  font-weight:700;
  color:#c71d4b;
  text-decoration:none;
  line-height:1.35;
}

.lf-doc-tile__links a:hover {
  text-decoration:underline;
}

.lf-doc-cats {
  font-size:14px;
  margin:22px 0 0;
  line-height:1.55;
  color:#3a4468;
}

.lf-city-page .lf-doc-cats a {
  font-weight:700;
  color:#c71d4b;
}

.lf-guide-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}

.lf-guide-tile {
  background:#fff;
  border:1px solid #dfe5ef;
  border-radius:20px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
}

.lf-guide-tile__img {
  aspect-ratio:16/9;
  background:#eef1f6;
  overflow:hidden;
}

.lf-guide-tile__img img {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.lf-guide-tile__ph {
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#667085;
  font-size:13px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.lf-guide-tile__body {
  padding:16px 18px 18px;
  display:flex;
  flex-direction:column;
  gap:8px;
  flex:1;
}

.lf-guide-tile h3 {
  font-size:17px;
  margin:0;
  line-height:1.3;
}

.lf-guide-tile h3 a {
  color:#08143f;
  text-decoration:none;
}

.lf-guide-tile h3 a:hover {
  color:#c71d4b;
}

.lf-guide-tile p {
  margin:0;
  font-size:14px;
  color:#3a4468;
  line-height:1.45;
  flex:1;
}

.lf-guide-tile__cta {
  font-weight:700;
  font-size:13px;
  color:#c71d4b;
  text-decoration:none;
}

.lf-guide-tile__cta:hover {
  text-decoration:underline;
}

.lf-guide-tiles {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  align-items:stretch;
}

.lf-guide-tile {
  display:flex;
  flex-direction:column;
  height:100%;
}

#zakres .lf-shop-dir {
  margin-top:20px;
}

#zakres .lf-uk-docs-section__head + .lf-shop-dir {
  margin-top:8px;
}

@media (min-width:851px) {
  .lf-city-page .lf-uk-docs-hero {
    align-items:stretch;
  }

  .lf-city-page .lf-uk-docs-hero__card {
    height:100%;
    display:flex;
    flex-direction:column;
  }
}

@media (max-width:850px) {
  .lf-hero-benefits {
    margin-top:14px;
    gap:7px;
  }

  .lf-hero-benefits li:nth-child(n + 5) {
    display:none;
  }
}

@media (max-width:900px) {
  .lf-guide-grid {
    grid-template-columns:repeat(2,1fr);
  }

  .lf-guide-tiles {
    grid-template-columns:1fr;
  }
}

@media (max-width:600px) {
  .lf-guide-grid {
    grid-template-columns:1fr;
  }

  .lf-doc-grid {
    grid-template-columns:1fr 1fr;
  }
}

@media (max-width:420px) {
  .lf-doc-grid {
    grid-template-columns:1fr;
  }
}

/* === sklep-preview: Shop document tiles (4-col), country-tile labels, CTA row. === */
.lf-doc-tile__lead {
  margin:6px 0 0;
  font-size:13px;
  line-height:1.45;
  color:#334155;
}

.lf-doc-grid--shop {
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}

.lf-doc-grid--shop .lf-doc-tile {
  min-height:100%;
}

.lf-country-grid {
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:12px;
}

.lf-country-tile {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  padding:14px 8px;
  border-radius:16px;
  background:rgba(255,255,255,.72);
  box-shadow:0 8px 24px rgba(8,20,63,.08);
  text-decoration:none;
  color:#08143f;
  font-weight:700;
  font-size:13px;
  line-height:1.3;
  text-align:center;
}

.lf-country-tile img {
  width:56px;
  height:56px;
  object-fit:contain;
}

.lf-country-tile:hover {
  text-decoration:none;
  transform:translateY(-1px);
}

.lf-shop-cta-row {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
  margin:0;
}

@media (max-width:1100px) {
  .lf-doc-grid--shop {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .lf-country-grid {
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}

@media (max-width:720px) {
  .lf-doc-grid--shop {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .lf-country-grid {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media (max-width:420px) {
  .lf-doc-grid--shop {
    grid-template-columns:1fr;
  }

  .lf-country-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

/* === sklep-search: Shop hero search card, type chips, popular countries, A–Z country filter, Safari/Rocket hardening. === */
.lf-shop-hero-search {
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  background:rgba(255,255,255,.2);
  border:1px solid rgba(255,255,255,.45);
  box-shadow:0 12px 40px rgba(8,20,63,.12);
}

.lf-shop-hero-search .lf-uk-docs-hero__card-title {
  font-size:22px;
  margin-bottom:6px;
}

.lf-shop-hero-search .lf-uk-docs-hero__card-top p {
  margin:0 0 12px;
  font-size:13px;
  line-height:1.45;
  color:#fff;
  font-weight:500;
}

.lf-shop-search-field {
  position:relative;
}

.lf-shop-hero-search .lf-shop-search-field input[type="search"] {
  width:100%;
  box-sizing:border-box;
  border:1.5px solid rgba(255,255,255,.7);
  border-radius:12px;
  padding:13px 42px 13px 14px;
  font:inherit;
  font-size:15px;
  color:#08143f;
  background:#fff;
}

.lf-shop-hero-search .lf-shop-search-field input[type="search"]:focus {
  outline:2px solid #fff;
  outline-offset:1px;
  border-color:#fff;
}

.lf-shop-search-icon {
  position:absolute;
  right:14px;
  top:50%;
  transform:translateY(-50%);
  color:#64748b;
  pointer-events:none;
}

.lf-shop-chips {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
  margin:12px 0 0;
}

.lf-shop-chip {
  display:flex;
  align-items:center;
  gap:8px;
  margin:0;
  padding:7px 8px;
  border:1px solid rgba(255,255,255,.45);
  border-radius:12px;
  background:rgba(255,255,255,.88);
  color:#08143f;
  font:inherit;
  font-size:12px;
  font-weight:700;
  line-height:1.2;
  text-align:left;
  cursor:pointer;
}

.lf-shop-chip img {
  width:22px;
  height:22px;
  object-fit:contain;
  flex:0 0 22px;
}

.lf-shop-chip:hover,
.lf-shop-chip:focus-visible {
  background:#fff;
  outline:2px solid #fff;
  outline-offset:1px;
}

.lf-shop-chip.is-active {
  background:#fff;
  border-color:#8bc43f;
  box-shadow:0 0 0 2px #8bc43f;
}

.lf-shop-search-status {
  margin:8px 0 0;
  font-size:.8rem;
  color:#fff;
  opacity:.9;
}

.lf-shop-search-results {
  list-style:none;
  margin:8px 0 0;
  padding:0;
  overflow:auto;
  max-height:220px;
  border-radius:12px;
  background:rgba(255,255,255,.95);
}

.lf-shop-search-results:empty {
  display:none;
}

.lf-shop-search-results li {
  border-bottom:1px solid #eef2f7;
}

.lf-shop-search-results a {
  display:flex;
  flex-direction:column;
  gap:2px;
  padding:9px 10px;
  text-decoration:none;
  color:#08143f;
}

.lf-shop-search-results a:hover,
.lf-shop-search-results a:focus {
  background:#f1f5ff;
}

.lf-shop-search-results .t {
  font-weight:700;
  line-height:1.3;
  font-size:13px;
  display:flex;
  align-items:flex-start;
  gap:8px;
}
.lf-shop-result-flags {
  display:inline-flex;
  align-items:center;
  gap:2px;
  flex:0 0 auto;
  margin-top:3px;
}
.lf-shop-flag {
  width:22px;
  height:16px;
  object-fit:cover;
  border-radius:2px;
  flex:0 0 22px;
  box-shadow:0 0 0 1px rgba(8,20,63,.12);
  background:#e2e8f0;
}
.lf-shop-result-title {
  flex:1 1 auto;
  min-width:0;
}

.lf-shop-search-results .m {
  font-size:.78rem;
  color:#475569;
}

.lf-shop-search-results .price {
  font-weight:700;
  color:#0f3d8c;
  font-size:13px;
}

.lf-shop-search-results .wycena {
  font-weight:650;
  color:#0f766e;
  font-size:13px;
}

.lf-shop-search-empty {
  margin:10px 0 0;
  padding:10px 12px;
  background:rgba(255,255,255,.92);
  border-radius:12px;
  color:#334155;
  font-size:13px;
}

.lf-shop-search-empty a {
  color:#0f3d8c;
  font-weight:700;
}

.lf-shop-hero-links {
  display:flex;
  flex-wrap:wrap;
  gap:8px 10px;
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid rgba(255,255,255,.28);
}

.lf-shop-hero-links a {
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:#fff!important;
  font-size:13px;
  font-weight:700;
  text-decoration:none;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.35);
}

.lf-shop-hero-links a:hover,
.lf-shop-hero-links a:focus-visible {
  background:rgba(255,255,255,.3);
  color:#fff!important;
}

.lf-shop-hero-links svg {
  flex:0 0 auto;
}

.lf-shop-country {
  margin:12px 0 0;
  z-index:2;
}

.lf-shop-country-wrap {
  position:relative;
}

.lf-shop-country-label {
  display:block;
  margin:0 0 6px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#fff;
}

.lf-shop-country-btn {
  display:flex;
  align-items:center;
  gap:8px;
  width:100%;
  box-sizing:border-box;
  margin:0;
  padding:10px 36px 10px 12px;
  border-radius:12px;
  border:1.5px solid rgba(255,255,255,.7);
  background:#fff;
  color:#08143f;
  font:inherit;
  font-size:14px;
  font-weight:700;
  line-height:1.3;
  text-align:left;
  cursor:pointer;
  position:relative;
}

.lf-shop-country-btn:hover {
  background:#fff;
}

.lf-shop-country-btn:focus-visible {
  outline:2px solid #fff;
  outline-offset:1px;
}

.lf-shop-country-btn::after {
  content:"";
  position:absolute;
  right:14px;
  top:50%;
  width:8px;
  height:8px;
  border-right:2px solid #334155;
  border-bottom:2px solid #334155;
  transform:translateY(-70%) rotate(45deg);
}

.lf-shop-hero-search.is-country-open .lf-shop-country-btn::after {
  transform:translateY(-20%) rotate(225deg);
}

.lf-shop-country-btn-flag {
  width:22px;
  height:16px;
  object-fit:cover;
  border-radius:2px;
  flex:0 0 22px;
}

.lf-shop-country-btn-text {
  flex:1 1 auto;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.lf-shop-country-list {
  list-style:none;
  margin:6px 0 0;
  padding:6px 0;
  position:absolute;
  left:0;
  right:0;
  top:100%;
  z-index:8;
  max-height:min(320px,50vh);
  overflow:auto;
  border-radius:12px;
  background:#fff;
  box-shadow:0 16px 40px rgba(8,20,63,.18);
  border:1px solid #e2e8f0;
  color:#08143f;
}

.lf-shop-country-list[hidden] {
  display:none!important;
}

.lf-shop-country-option {
  display:flex;
  align-items:center;
  gap:8px;
  margin:0;
  padding:8px 12px;
  font-size:13px;
  font-weight:650;
  line-height:1.3;
  cursor:pointer;
}

.lf-shop-country-option img {
  width:22px;
  height:16px;
  object-fit:cover;
  border-radius:2px;
  flex:0 0 22px;
}

.lf-shop-country-option:hover,
.lf-shop-country-option.is-focused {
  background:#f1f5ff;
}

.lf-shop-country-option.is-selected {
  background:#e8f6d8;
  font-weight:800;
}

.lf-shop-country-sep {
  height:1px;
  margin:6px 10px;
  padding:0;
  background:#e2e8f0;
  list-style:none;
}

.lf-shop-hero-all-countries {
  display:inline-flex;
  margin-top:8px;
  color:#fff!important;
  font-size:13px;
  font-weight:800;
  text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,.55);
}

.lf-shop-hero-all-countries:hover,
.lf-shop-hero-all-countries:focus-visible {
  border-bottom-color:#fff;
}

#kraj-wydania {
  scroll-margin-top:24px;
}

.lf-shop-hero-search.is-country-open,
.lf-shop-hero-search-slot:has(.is-country-open),
.lf-shop-hero-search-slot .lf-shop-hero-search.is-country-open {
  overflow:visible !important;
  z-index:8;
}

.lf-country-toolbar {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px;
  margin:0 0 16px;
}

.lf-country-filter {
  flex:1 1 240px;
  max-width:360px;
  position:relative;
}

.lf-country-filter label {
  position:absolute;
  left:-9999px;
}

.lf-country-filter input {
  width:100%;
  box-sizing:border-box;
  border:1.5px solid #d7deea;
  border-radius:12px;
  padding:11px 14px;
  font:inherit;
  font-size:15px;
  color:#08143f;
  background:#fff;
}

.lf-country-filter input:focus {
  outline:2px solid #1d4ed8;
  outline-offset:1px;
  border-color:#1d4ed8;
}

.lf-country-count {
  font-size:13px;
  color:#475569;
  margin:0;
}

.lf-country-subhead {
  font-size:15px;
  font-weight:800;
  color:#08143f;
  margin:18px 0 10px;
}

.lf-country-tile img,
.lf-country-tile .lf-flag {
  width:56px;
  height:42px;
  object-fit:cover;
  border-radius:4px;
  box-shadow:0 1px 4px rgba(8,20,63,.12);
}

.lf-country-chips {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.lf-country-chip {
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 12px 7px 8px;
  border-radius:999px;
  background:#fff;
  border:1px solid #dfe5ef;
  text-decoration:none;
  color:#08143f;
  font-weight:700;
  font-size:13px;
  line-height:1.2;
}

.lf-country-chip img,
.lf-country-chip .lf-flag {
  width:22px;
  height:16px;
  object-fit:cover;
  border-radius:2px;
  flex:0 0 auto;
}

.lf-country-chip:hover {
  border-color:#c71d4b;
  color:#c71d4b;
}

.lf-country-empty {
  display:none;
  margin:8px 0 0;
  color:#475569;
  font-size:14px;
}

.lf-country-empty.is-visible {
  display:block;
}

.is-country-hidden {
  display:none!important;
}

.lf-city-page .lf-shop-hero-search {
  background:rgba(255,255,255,.2)!important;
  -webkit-backdrop-filter:blur(16px);
  backdrop-filter:blur(16px);
  border:1px solid rgba(255,255,255,.45)!important;
  box-shadow:0 12px 40px rgba(8,20,63,.12)!important;
}

.lf-city-page .lf-shop-chips {
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:7px!important;
  margin:12px 0 0!important;
}

.lf-city-page .lf-shop-chip {
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  margin:0!important;
  padding:7px 8px!important;
  width:auto!important;
  box-sizing:border-box!important;
  border:1px solid rgba(255,255,255,.45)!important;
  border-radius:12px!important;
  background:rgba(255,255,255,.88)!important;
  color:#08143f!important;
  font:inherit!important;
  font-size:12px!important;
  font-weight:700!important;
  line-height:1.2!important;
  text-align:left!important;
  text-decoration:none!important;
  -webkit-appearance:none!important;
  appearance:none!important;
}

.lf-city-page .lf-shop-chip img {
  width:22px!important;
  height:22px!important;
  object-fit:contain!important;
  flex:0 0 22px!important;
}

.lf-city-page .lf-shop-chip-label {
  color:#08143f!important;
}

.lf-city-page .lf-shop-search-status,
.lf-city-page .lf-shop-country-label,
.lf-city-page .lf-shop-hero-all-countries {
  color:#fff!important;
  opacity:1!important;
}

.lf-city-page .lf-shop-country-label {
  color:#fff!important;
  font-size:12px!important;
  font-weight:800!important;
}

.lf-city-page .lf-shop-country-btn {
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  width:100%!important;
  box-sizing:border-box!important;
  padding:10px 36px 10px 12px!important;
  border-radius:12px!important;
  border:1.5px solid rgba(255,255,255,.7)!important;
  background:#fff!important;
  color:#08143f!important;
  font:inherit!important;
  font-size:14px!important;
  font-weight:700!important;
  text-align:left!important;
  -webkit-appearance:none!important;
  appearance:none!important;
}

.lf-city-page .lf-shop-country-btn-flag,
.lf-city-page .lf-shop-country-option img {
  width:22px!important;
  height:16px!important;
  max-width:22px!important;
  max-height:16px!important;
  object-fit:cover!important;
  border-radius:2px!important;
  flex:0 0 22px!important;
}

.lf-city-page .lf-shop-country-list {
  background:#fff!important;
  color:#08143f!important;
  border:1px solid #e2e8f0!important;
  border-radius:12px!important;
  max-height:min(320px,50vh)!important;
  overflow:auto!important;
}

.lf-city-page .lf-shop-country-option {
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  color:#08143f!important;
}

.lf-city-page .lf-shop-hero-popular {
  margin-top:12px!important;
  padding:12px 12px 10px!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.14)!important;
  border:1px solid rgba(255,255,255,.28)!important;
}

.lf-city-page .lf-shop-hero-popular-chips {
  display:flex!important;
  flex-wrap:wrap!important;
  gap:6px!important;
}

.lf-city-page .lf-shop-hero-flag {
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  padding:5px 10px 5px 6px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.9)!important;
  border:1px solid rgba(255,255,255,.5)!important;
  color:#08143f!important;
  font-size:12px!important;
  font-weight:700!important;
  text-decoration:none!important;
}

.lf-city-page .lf-shop-hero-flag img {
  width:22px!important;
  height:16px!important;
  max-width:22px!important;
  max-height:16px!important;
  object-fit:cover!important;
  border-radius:2px!important;
  flex:0 0 auto!important;
}

.lf-city-page .lf-shop-hero-all-countries {
  display:inline-flex!important;
  margin-top:8px!important;
  font-size:13px!important;
  font-weight:800!important;
  text-decoration:none!important;
  border-bottom:1px solid rgba(255,255,255,.55)!important;
}

.lf-city-page .lf-shop-hero-links {
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px 10px!important;
  margin-top:14px!important;
  padding-top:12px!important;
  border-top:1px solid rgba(255,255,255,.28)!important;
}

.lf-city-page .lf-shop-hero-links a {
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  color:#fff!important;
  font-size:13px!important;
  font-weight:700!important;
  text-decoration:none!important;
  padding:6px 10px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.16)!important;
  border:1px solid rgba(255,255,255,.35)!important;
}

.lf-city-page .lf-country-toolbar {
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:12px!important;
  margin:0 0 16px!important;
}

.lf-city-page .lf-country-filter {
  flex:1 1 240px!important;
  max-width:360px!important;
  position:relative!important;
  display:block!important;
}

.lf-city-page .lf-country-filter input {
  width:100%!important;
  box-sizing:border-box!important;
  border:1.5px solid #d7deea!important;
  border-radius:12px!important;
  padding:11px 14px!important;
  font:inherit!important;
  font-size:15px!important;
  color:#08143f!important;
  background:#fff!important;
}

.lf-city-page .lf-country-count {
  font-size:13px!important;
  color:#475569!important;
  margin:0!important;
  display:block!important;
}

.lf-city-page .lf-country-subhead {
  font-size:15px!important;
  font-weight:800!important;
  color:#08143f!important;
  margin:18px 0 10px!important;
}

.lf-city-page .lf-country-grid {
  display:grid!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:12px!important;
}

.lf-city-page .lf-country-tile {
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  gap:8px!important;
  padding:14px 8px!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.72)!important;
  box-shadow:0 8px 24px rgba(8,20,63,.08)!important;
  text-decoration:none!important;
  color:#08143f!important;
  font-weight:700!important;
  font-size:13px!important;
  line-height:1.3!important;
  text-align:center!important;
}

.lf-city-page .lf-country-tile img,
.lf-city-page .lf-country-tile .lf-flag {
  width:56px!important;
  height:42px!important;
  max-width:56px!important;
  max-height:42px!important;
  object-fit:cover!important;
  border-radius:4px!important;
}

.lf-city-page .lf-country-chips {
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
}

.lf-city-page .lf-country-chip {
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  padding:7px 12px 7px 8px!important;
  border-radius:999px!important;
  background:#fff!important;
  border:1px solid #dfe5ef!important;
  text-decoration:none!important;
  color:#08143f!important;
  font-weight:700!important;
  font-size:13px!important;
  line-height:1.2!important;
}

.lf-city-page .lf-country-chip img,
.lf-city-page .lf-country-chip .lf-flag {
  width:22px!important;
  height:16px!important;
  max-width:22px!important;
  max-height:16px!important;
  object-fit:cover!important;
  border-radius:2px!important;
  flex:0 0 auto!important;
}

.lf-city-page .lf-guide-grid {
  display:grid!important;
  grid-template-columns:repeat(3,1fr)!important;
  gap:18px!important;
}

.lf-city-page .lf-guide-tile {
  display:flex!important;
  flex-direction:column!important;
  background:#fff!important;
  border-radius:16px!important;
  overflow:hidden!important;
  text-decoration:none!important;
  color:#08143f!important;
}

.lf-city-page .lf-doc-grid {
  display:grid!important;
}

.lf-uk-docs-hero:has(.is-country-open),
.lf-shop-hero-search-slot:has(.is-country-open),
.lf-city-page:has(.is-country-open),
.lf-city-page .lf-uk-docs-hero:has(.is-country-open) {
  overflow:visible !important;
}

@media (min-width:851px) {
  .lf-shop-hero-search-slot {
    position:relative;
    min-height:0;
    align-self:stretch;
  }

  .lf-shop-hero-search-slot .lf-shop-hero-search {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    min-height:0;
    overflow:hidden;
    display:flex;
    flex-direction:column;
  }

  .lf-shop-hero-search {
    height:100%;
    min-height:0;
    overflow:hidden;
    display:flex;
    flex-direction:column;
  }

  .lf-shop-hero-search-slot:has(.is-country-open),
  .lf-shop-hero-search.is-country-open,
  .lf-shop-hero-search-slot .lf-shop-hero-search.is-country-open {
    overflow:visible !important;
    z-index:8;
  }

  .lf-shop-hero-links {
    margin-top:auto;
    flex:0 0 auto;
  }

  .lf-shop-hero-search.is-showing-results .lf-shop-hero-links {
    margin-top:12px;
  }

  .lf-shop-hero-search.is-showing-results .lf-shop-search-results,
  .lf-shop-search-results {
    flex:1 1 0;
    min-height:0;
    max-height:none;
    overflow:auto;
  }
}

@media (max-width:850px) {
  .lf-shop-hero-search .lf-uk-docs-hero__card-top p {
    display:none;
  }

  .lf-shop-chips {
    gap:6px;
    margin-top:10px;
  }

  .lf-shop-chip {
    font-size:11px;
    padding:6px 7px;
  }

  .lf-shop-search-results {
    max-height:180px;
  }

  .lf-shop-country {
    margin-top:10px;
  }

  .lf-shop-country-list {
    max-height:min(280px,45vh);
  }

  .lf-shop-hero-all-countries {
    margin-top:6px;
    font-size:12px;
  }

  .lf-city-page .lf-shop-chip {
    font-size:11px!important;
    padding:6px 7px!important;
  }

  .lf-city-page .lf-shop-hero-flag {
    font-size:11px!important;
  }
}

@media (max-width:420px) {
  .lf-shop-chips {
    grid-template-columns:1fr 1fr;
  }

  .lf-country-chip {
    font-size:12px;
    padding:6px 10px 6px 7px;
  }

  .lf-city-page .lf-country-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .lf-city-page .lf-guide-grid {
    grid-template-columns:1fr!important;
  }
}

@media (max-width:1100px) {
  .lf-city-page .lf-country-grid {
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
}

@media (max-width:900px) {
  .lf-city-page .lf-guide-grid {
    grid-template-columns:repeat(2,1fr)!important;
  }
}

@media (max-width:720px) {
  .lf-city-page .lf-country-grid {
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}

/* === finder: Birth-certificate finder (planned on landing 30113, not live yet). === */
.lf-finder {
  max-width:920px;
  margin:0 auto;
}

.lf-finder-card {
  background:#fff;
  border:1px solid #dfe5ef;
  border-radius:24px;
  padding:28px 28px 24px;
  box-shadow:0 12px 32px #08143f10;
}

.lf-finder-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px 20px;
}

.lf-finder-grid .lf-finder-field--wide {
  grid-column:1/-1;
}

.lf-finder-field label {
  display:block;
  font-size:12px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#c71d4b;
  margin:0 0 8px;
}

.lf-finder-field select,
.lf-finder-field input {
  width:100%;
  box-sizing:border-box;
  appearance:none;
  background:#faf0ed url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='%2308143f' d='M1 1l5 5 5-5'/></svg>") no-repeat right 14px center;
  border:1px solid #e4d5d0;
  border-radius:12px;
  padding:12px 40px 12px 14px;
  font:600 15px/1.3 Poppins,Arial,sans-serif;
  color:#08143f;
}

.lf-finder-result {
  margin-top:22px;
  border-radius:20px;
  padding:22px 22px 18px;
  background:linear-gradient(180deg,#fff 0%,#faf0ed 100%);
  border:1px solid #ead8d3;
  min-height:120px;
}

.lf-finder-result h3 {
  margin:0 0 8px;
  font-size:22px;
  line-height:1.25;
}

.lf-finder-price {
  font-size:28px;
  font-weight:800;
  color:#08143f;
  margin:8px 0 12px;
}

.lf-finder-price small {
  font-size:14px;
  font-weight:600;
  color:#667085;
  margin-left:8px;
}

.lf-finder-note {
  font-size:14px;
  color:#3a4468;
  margin:0 0 14px;
  line-height:1.5;
}

.lf-finder-actions {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.lf-finder-empty {
  color:#667085;
  font-size:15px;
  margin:0;
}

.lf-finder-intro {
  max-width:920px;
  margin:0 auto 24px;
  font-size:16px;
  line-height:1.6;
}

@media(max-width:700px) {
  .lf-finder-grid {
    grid-template-columns:1fr;
  }

  .lf-finder-card {
    padding:20px 16px;
  }
}

/* === product-template: Single-product HTML widget (namespaced .lf-product-template). Included so product pages can use the same file; not confirmed live. === */
.lf-product-template,
.lf-product-template * {
  box-sizing:border-box;
}

.lf-product-template {
  --lf-navy:#070735;
  --lf-text:#34394a;
  --lf-muted:#667085;
  --lf-red:#ff4a3d;
  --lf-pink:#ef285d;
  --lf-green:#8bc43f;
  --lf-green-dark:#6da929;
  --lf-soft:#f6f7fb;
  --lf-border:#e2e6ef;
  --lf-white:#ffffff;
  width:100%;
  color:var(--lf-text);
  font-family:inherit;
  background:#fff;
}

.lf-product-template a {
  color:var(--lf-pink);
  font-weight:800;
}

.lf-product-template__hero {
  width:100%;
  background:radial-gradient(circle at 8% 12%,rgba(255,255,255,.16),transparent 28%),linear-gradient(120deg,var(--lf-red) 0%,var(--lf-pink) 55%,#d81758 100%);
  padding:50px 18px;
  text-align:center;
}

.lf-product-template__hero-inner {
  max-width:1180px;
  margin:0 auto;
}

.lf-product-template__eyebrow {
  display:block;
  margin-bottom:12px;
  color:#070735;
  font-size:13px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.lf-product-template__hero-title {
  margin:0;
  color:#fff!important;
  font-size:clamp(32px, 4.4vw, 58px);
  line-height:1.08;
  font-weight:900;
  letter-spacing:-.045em;
}

.lf-product-template__wrap {
  max-width:1180px;
  margin:0 auto;
  padding:48px 18px;
}

.lf-product-template__main {
  display:grid;
  grid-template-columns:minmax(280px,0.95fr) minmax(320px,1.05fr);
  gap:34px;
  align-items:start;
}

.lf-product-template__gallery {
  width:100%;
}

.lf-product-template__image {
  overflow:hidden;
  border:1px solid var(--lf-border);
  border-radius:4px;
  background:#fff;
}

.lf-product-template__image img {
  display:block;
  width:100%;
  height:auto;
}

.lf-product-template__image-panel {
  display:grid;
  gap:14px;
  margin-top:18px;
}

.lf-product-template__image-card {
  padding:18px 20px;
  border:1px solid var(--lf-border);
  border-radius:18px;
  background:#fff;
  color:var(--lf-text);
  box-shadow:0 12px 28px rgba(7,7,53,.05);
  font-size:14px;
  line-height:1.65;
}

.lf-product-template__image-card p {
  margin:0 0 10px;
}

.lf-product-template__image-card p:last-child {
  margin-bottom:0;
}

.lf-product-template__image-card strong {
  display:block;
  margin-bottom:8px;
  color:var(--lf-navy);
  font-size:16px;
  line-height:1.35;
  font-weight:900;
}

.lf-product-template__image-card-label {
  display:inline-flex;
  margin-bottom:10px;
  padding:6px 10px;
  border-radius:999px;
  background:#fff0f3;
  color:var(--lf-pink);
  font-size:11px;
  line-height:1;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.lf-product-template__image-card--accent {
  border-color:rgba(139,196,63,.45);
  background:#f6fbef;
}

.lf-product-template__image-card--accent .lf-product-template__image-card-label {
  background:#eaf7dc;
  color:#4d7f18;
}

.lf-product-template__image-card--warning {
  border-color:rgba(255,74,61,.32);
  background:#fff7f5;
}

.lf-product-template__image-card--warning .lf-product-template__image-card-label {
  background:#ffe8e5;
  color:var(--lf-red);
}

.lf-product-template__title {
  margin:0 0 14px;
  color:var(--lf-navy);
  font-size:clamp(28px, 3vw, 42px);
  line-height:1.12;
  font-weight:900;
  letter-spacing:-.035em;
}

.lf-product-template__price {
  margin:0 0 22px;
  color:var(--lf-navy);
  font-size:30px;
  line-height:1.15;
  font-weight:900;
}

.lf-product-template__price del {
  color:#ff7b6f;
  opacity:1;
  margin-right:10px;
}

.lf-product-template__price ins {
  color:#344b73;
  text-decoration:none;
}

.lf-product-template__order-label {
  margin:0 0 14px;
  color:var(--lf-red);
  font-size:14px;
  line-height:1.45;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.lf-product-template__cart {
  margin:0 0 22px;
}

.lf-product-template__cart form.cart {
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  align-items:center;
}

.lf-product-template__cart .quantity input.qty {
  width:64px;
  min-height:46px;
  border:1px solid #1a2755;
  color:var(--lf-navy);
  font-weight:800;
  text-align:center;
}

.lf-product-template__cart .single_add_to_cart_button,
.lf-product-template__cart button.single_add_to_cart_button {
  min-width:210px;
  min-height:48px;
  padding:13px 24px;
  border:1px dashed #111!important;
  border-radius:12px!important;
  background:var(--lf-green)!important;
  color:#101828!important;
  box-shadow:0 12px 24px rgba(139,196,63,.25);
  font-size:15px;
  font-weight:900;
  text-transform:none;
  transition:transform .18s ease,background .18s ease,color .18s ease;
}

.lf-product-template__cart .single_add_to_cart_button:hover,
.lf-product-template__cart button.single_add_to_cart_button:hover {
  background:var(--lf-green-dark)!important;
  color:#fff!important;
  transform:translateY(-2px);
}

.lf-product-template__trust-strip {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:18px 0 22px;
}

.lf-product-template__trust-strip div {
  padding:13px 14px;
  border:1px solid var(--lf-border);
  border-radius:14px;
  background:#fff;
  box-shadow:0 10px 22px rgba(7,7,53,.05);
}

.lf-product-template__trust-strip strong {
  display:block;
  margin-bottom:4px;
  color:var(--lf-navy);
  font-size:14px;
  line-height:1.25;
  font-weight:900;
}

.lf-product-template__trust-strip span {
  display:block;
  color:#667085;
  font-size:12px;
  line-height:1.35;
}

.lf-product-template__short {
  margin:22px 0 0;
  padding-top:22px;
  border-top:4px solid #0b76c5;
  color:var(--lf-text);
  font-size:16px;
  line-height:1.7;
}

.lf-product-template__short p {
  margin:0 0 14px;
}

.lf-product-template__secondary-cta {
  margin-top:22px;
  padding:20px;
  border:1px solid var(--lf-border);
  border-radius:20px;
  background:radial-gradient(circle at 8% 18%,rgba(139,196,63,.14),transparent 30%),linear-gradient(180deg,#fff 0,#f8fafc 100%);
  box-shadow:0 14px 34px rgba(7,7,53,.06);
}

.lf-product-template__secondary-cta-head {
  margin-bottom:14px;
}

.lf-product-template__secondary-cta-head span {
  display:inline-flex;
  margin-bottom:8px;
  padding:6px 10px;
  border-radius:999px;
  background:#fff0f3;
  color:var(--lf-pink);
  font-size:11px;
  line-height:1;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.lf-product-template__secondary-cta-head strong {
  display:block;
  max-width:520px;
  color:var(--lf-navy);
  font-size:19px;
  line-height:1.28;
  font-weight:900;
  letter-spacing:-.02em;
}

.lf-product-template__secondary-cta-actions {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:14px;
}

.lf-product-template__secondary-cta-button {
  display:inline-flex;
  min-height:44px;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:11px 14px;
  border:1px solid var(--lf-border);
  border-radius:12px;
  background:#fff;
  color:var(--lf-navy)!important;
  font-size:13px;
  line-height:1.2;
  font-weight:900;
  text-align:center;
  text-decoration:none!important;
  box-shadow:0 8px 18px rgba(7,7,53,.04);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease;
}

.lf-product-template__secondary-cta-button:hover {
  transform:translateY(-2px);
  border-color:rgba(239,40,93,.35);
  box-shadow:0 12px 24px rgba(7,7,53,.08);
}

.lf-product-template__secondary-cta-button--primary {
  background:var(--lf-green);
  border-color:var(--lf-green);
  color:#101828!important;
  box-shadow:0 10px 22px rgba(139,196,63,.22);
}

.lf-product-template__secondary-cta-button--primary:hover {
  background:var(--lf-green-dark);
  border-color:var(--lf-green-dark);
  color:#fff!important;
}

.lf-product-template__secondary-cta-button span {
  display:inline-flex;
  width:22px;
  height:22px;
  align-items:center;
  justify-content:center;
  border-radius:8px;
  background:rgba(255,255,255,.7);
  font-size:15px;
  line-height:1;
}

.lf-product-template__secondary-cta-note {
  margin:14px 0 0;
  padding:13px 15px;
  border-left:5px solid var(--lf-green);
  border-radius:14px;
  background:#f6fbef;
  color:#3f4657;
  font-size:14px;
  line-height:1.6;
}

.lf-product-template__secondary-cta-note strong {
  color:var(--lf-navy);
  font-weight:900;
}

.lf-product-template__details {
  max-width:1180px;
  margin:34px auto 0;
}

.lf-product-template__details details {
  margin:0 0 8px;
  border:1px solid #e5e7ef;
  border-radius:0;
  background:#f6f6f6;
  overflow:hidden;
}

.lf-product-template__details summary {
  position:relative;
  display:flex;
  align-items:center;
  min-height:56px;
  padding:16px 52px 16px 20px;
  color:var(--lf-navy);
  font-size:16px;
  line-height:1.35;
  font-weight:900;
  cursor:pointer;
  list-style:none;
}

.lf-product-template__details summary::-webkit-details-marker {
  display:none;
}

.lf-product-template__details summary::after {
  content:"+";
  position:absolute;
  top:50%;
  right:18px;
  width:24px;
  height:24px;
  transform:translateY(-50%);
  border-radius:50%;
  background:var(--lf-green);
  color:var(--lf-navy);
  font-size:19px;
  line-height:24px;
  font-weight:900;
  text-align:center;
}

.lf-product-template__details details[open] summary {
  background:#444;
  color:#fff;
}

.lf-product-template__details details[open] summary::after {
  content:"−";
  background:#fff;
  color:var(--lf-navy);
}

.lf-product-template__details-content {
  padding:20px 22px 24px;
  background:#fff;
  color:var(--lf-text);
  font-size:15px;
  line-height:1.75;
}

.lf-product-template__details-content p {
  margin:0 0 13px;
}

.lf-product-template__details-content ol,
.lf-product-template__details-content ul {
  margin:10px 0 14px 22px;
  padding:0;
}

.lf-product-template__details-content li {
  margin-bottom:7px;
}

.lf-product-template__details-content strong {
  color:var(--lf-navy);
}

.lf-product-template__content-box {
  margin-top:34px;
  padding:26px;
  border-radius:18px;
  background:#fff;
  border:1px solid var(--lf-border);
  box-shadow:0 14px 34px rgba(7,7,53,.06);
  color:var(--lf-text);
  font-size:15px;
  line-height:1.75;
}

.lf-product-template__content-box h2,
.lf-product-template__content-box h3,
.lf-product-template__content-box h4 {
  margin:26px 0 12px;
  color:var(--lf-navy);
  font-weight:900;
  line-height:1.18;
  letter-spacing:-.025em;
}

.lf-product-template__content-box h2 {
  font-size:30px;
}

.lf-product-template__content-box h3 {
  font-size:24px;
}

.lf-product-template__content-box h4 {
  font-size:20px;
}

.lf-product-template__content-box p {
  margin:0 0 13px;
}

.lf-product-template__content-box ol,
.lf-product-template__content-box ul {
  margin:10px 0 16px 24px;
}

.lf-product-template__cta {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
  margin-top:18px;
}

.lf-product-template__button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:12px 20px;
  border-radius:10px;
  background:var(--lf-green);
  color:var(--lf-navy)!important;
  font-size:15px;
  font-weight:900;
  text-decoration:none!important;
}

.lf-product-template__button:hover {
  background:var(--lf-green-dark);
  color:#fff!important;
}

.lf-product-template__button--outline {
  background:#fff;
  border:1px solid var(--lf-border);
  color:var(--lf-navy)!important;
}

.lf-product-template__button--outline:hover {
  border-color:var(--lf-pink);
  color:var(--lf-pink)!important;
  background:#fff;
}

@media (max-width:900px) {
  .lf-product-template__main {
    grid-template-columns:1fr;
  }

  .lf-product-template__wrap {
    padding:34px 16px;
  }
}

@media (max-width:640px) {
  .lf-product-template__hero {
    padding:34px 16px;
  }

  .lf-product-template__hero-title {
    font-size:31px;
  }

  .lf-product-template__title {
    font-size:28px;
  }

  .lf-product-template__price {
    font-size:26px;
  }

  .lf-product-template__cart form.cart {
    flex-direction:column;
    align-items:stretch;
  }

  .lf-product-template__cart .quantity input.qty,
  .lf-product-template__cart .single_add_to_cart_button,
  .lf-product-template__cart button.single_add_to_cart_button {
    width:100%;
  }

  .lf-product-template__trust-strip {
    grid-template-columns:1fr;
  }

  .lf-product-template__secondary-cta-actions {
    flex-direction:column;
  }

  .lf-product-template__secondary-cta-button {
    width:100%;
  }

  .lf-product-template__content-box,
  .lf-product-template__image-card,
  .lf-product-template__secondary-cta {
    padding:20px;
  }
}


/* Hero country dropdown sits under the type chips and replaces popular flag chips. */
.lf-shop-hero-search .lf-shop-country {
  margin-top:10px;
  position:relative;
}
.lf-shop-hero-search .lf-shop-country-label {
  display:block;
  margin:0 0 6px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#fff;
}


/* Country dropdown and result list must not be clipped by the hero card. */
.lf-shop-hero-search.is-country-open,
.lf-shop-hero-search.is-showing-results {
  overflow: visible;
}
@media (max-width: 850px) {
  .lf-shop-hero-search.is-showing-results .lf-shop-search-results {
    max-height: 340px;
  }
}
@media (min-width: 851px) {
  .lf-shop-hero-search-slot:has(.is-showing-results),
  .lf-shop-hero-search-slot:has(.is-country-open) {
    overflow: visible;
    min-height: 640px;
  }
  .lf-shop-hero-search.is-showing-results,
  .lf-shop-hero-search.is-country-open {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: auto;
    min-height: 100%;
    overflow: visible;
  }
  .lf-shop-hero-search.is-showing-results .lf-shop-search-results {
    max-height: 380px;
    flex: 0 1 auto;
  }
}

/* Force the result list to stay readable when the country filter sits under the chips. */
@media (min-width: 851px) {
  .lf-shop-hero-search-slot:has(.is-showing-results) .lf-shop-hero-search {
    position: static !important;
    height: auto !important;
    overflow: visible !important;
  }
  .lf-shop-hero-search.is-showing-results .lf-shop-search-results {
    max-height: 380px !important;
    min-height: 260px !important;
    flex: 0 0 auto !important;
  }
}
@media (max-width: 850px) {
  .lf-shop-hero-search.is-showing-results .lf-shop-search-results {
    max-height: 360px !important;
    min-height: 220px !important;
  }
}

/* Language landing extras (EN 213, NL 3170, UA 334).
   Appended 2026-11-13, Europe/Warsaw. Namespaced to .lf-city-page / .lf-lang-page.
   Does not change shop, product-template, or city layout rules.
   Detection marker: class "lf-lang-page" on <article> (keep "lf-city-page" too so
   the live snippet 79 already enqueues the file before the needle is updated). */

html:has(.lf-lang-page) {
  scroll-behavior: smooth;
}

/* Dutch H1 subtitle "(niderlandzkiego)" — was an inline style in the pilot. */
.lf-city-page .lf-lang-h1-sub,
.lf-lang-page .lf-lang-h1-sub {
  font-size: 0.72em;
  font-weight: 700;
}

/* Phone + WhatsApp row under the final CTA — was an inline style in the pilots. */
.lf-city-page .lf-city-final-phone,
.lf-lang-page .lf-city-final-phone {
  margin-top: 22px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
  align-items: center;
}

/* Compact hero note. The birth landing already uses this class; it was missing
   from the shared file (only leftover widget / Used CSS could have styled it).
   Keep the rule light so it inherits hero typography and stays white in the hero. */
.lf-city-page .lf-city-note,
.lf-lang-page .lf-city-note {
  margin: 0 0 8px;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
}

.lf-city-page .lf-uk-docs-hero__content .lf-city-note,
.lf-lang-page .lf-uk-docs-hero__content .lf-city-note {
  color: #fff;
}

/* PNG flags instead of emoji in hero benefits and related-language cards. */
.lf-city-page .lf-hero-benefits__icon img.lf-lang-flag,
.lf-lang-page .lf-hero-benefits__icon img.lf-lang-flag {
  width: 18px;
  height: 13px;
  object-fit: cover;
  border-radius: 2px;
  display: block;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.28);
}

.lf-city-page .lf-city-language-code img.lf-lang-flag,
.lf-lang-page .lf-city-language-code img.lf-lang-flag {
  width: 24px;
  height: 18px;
  object-fit: cover;
  border-radius: 3px;
  display: block;
  box-shadow: 0 1px 3px rgba(8, 20, 63, 0.16);
}

/* === lf-lang-search: language-landing document search card. Appended on 2026-11-13, Europe/Warsaw. Do not flatten into shop hero rules. === */
/* Language-landing search card. Preview + later lf-components patch.
   The card uses the exact language-page hero gradient; chips, field,
   country dropdown and results panel are the same white glass as /sklep/. */
.lf-lang-search { margin: 0 0 28px; }

.lf-lang-search .lf-shop-hero-search,
.lf-city-page .lf-lang-search .lf-shop-hero-search {
  /* Same background as .lf-city-page .lf-uk-docs-hero-wrap */
  background: radial-gradient(circle at 8% 15%, rgba(255, 255, 255, .2), transparent 30%),
              linear-gradient(120deg, #ff4a3d 0%, #ef285d 58%, #d81758 100%) !important;
  border: 1px solid rgba(255, 255, 255, .45) !important;
  box-shadow: 0 18px 40px #08143f18 !important;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  border-radius: 20px;
  padding: 20px 20px 16px;
  overflow: visible;
}

/* White heading text. Title is large/bold (AA large-text 3:1). Small labels
   are 14px/800 with a light shadow — the lightest gradient stop (#ff4a3d)
   is the same contrast as the live language hero (~3.3:1 for normal text). */
.lf-city-page .lf-lang-search .lf-uk-docs-hero__card-title,
.lf-lang-search .lf-uk-docs-hero__card-title,
.lf-city-page .lf-lang-search .lf-uk-docs-hero__card-top p,
.lf-lang-search .lf-uk-docs-hero__card-top p {
  color: #fff !important;
  text-shadow: 0 1px 1px rgba(8, 20, 63, .45);
}
.lf-lang-search .lf-uk-docs-hero__card-title {
  margin: 0 0 14px;
  font-size: 1.15rem;
  font-weight: 800;
  line-height: 1.3;
}
.lf-city-page .lf-lang-search .lf-uk-docs-hero__card-badge,
.lf-lang-search .lf-uk-docs-hero__card-badge {
  display: inline-block;
  margin: 0 0 8px;
  padding: 4px 10px;
  border-radius: 30px;
  background: #fff !important;
  color: #c71d4b !important;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  text-shadow: none;
}

.lf-city-page .lf-lang-search .lf-shop-search-status,
.lf-city-page .lf-lang-search .lf-shop-country-label,
.lf-lang-search .lf-shop-search-status,
.lf-lang-search .lf-shop-country-label {
  color: #fff !important;
  opacity: 1 !important;
  text-shadow: 0 1px 1px rgba(8, 20, 63, .45);
}
.lf-lang-search .lf-shop-country-label {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.lf-lang-search .lf-shop-country { margin-top: 12px; position: relative; }

/* Input, chips, country button, results: shop glass on the pink field. */
.lf-city-page .lf-lang-search .lf-shop-search-field input[type="search"],
.lf-lang-search .lf-shop-search-field input[type="search"] {
  color: #08143f !important;
  background: #fff !important;
  border: 1.5px solid rgba(255, 255, 255, .7) !important;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

.lf-lang-search .lf-shop-chips,
.lf-city-page .lf-lang-search .lf-shop-chips {
  margin-top: 12px;
}

.lf-city-page .lf-lang-search .lf-shop-chip,
.lf-lang-search .lf-shop-chip {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 7px 8px !important;
  width: auto !important;
  box-sizing: border-box !important;
  border-radius: 12px !important;
  border: 1px solid rgba(255, 255, 255, .45) !important;
  background: rgba(255, 255, 255, .88) !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  color: #08143f !important;
  font: inherit !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-align: left !important;
  text-decoration: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  cursor: pointer;
}
.lf-city-page .lf-lang-search .lf-shop-chip:hover,
.lf-city-page .lf-lang-search .lf-shop-chip:focus-visible,
.lf-lang-search .lf-shop-chip:hover,
.lf-lang-search .lf-shop-chip:focus-visible {
  background: #fff !important;
  border-color: rgba(255, 255, 255, .45) !important;
  box-shadow: none !important;
  outline: 2px solid #fff;
  outline-offset: 1px;
}
.lf-city-page .lf-lang-search .lf-shop-chip.is-active,
.lf-lang-search .lf-shop-chip.is-active {
  background: #fff !important;
  border-color: #8bc43f !important;
  box-shadow: 0 0 0 2px #8bc43f !important;
}

.lf-city-page .lf-lang-search .lf-shop-country-btn,
.lf-lang-search .lf-shop-country-btn {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 10px 36px 10px 12px !important;
  border-radius: 12px !important;
  border: 1.5px solid rgba(255, 255, 255, .7) !important;
  background: #fff !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  color: #08143f !important;
  font: inherit !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  text-align: left !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}
.lf-city-page .lf-lang-search .lf-shop-country-btn:hover,
.lf-lang-search .lf-shop-country-btn:hover,
.lf-lang-search .lf-shop-country-btn:focus-visible {
  background: #fff !important;
  border-color: #fff !important;
}

.lf-city-page .lf-lang-search .lf-shop-country-list,
.lf-lang-search .lf-shop-country-list {
  background: #fff !important;
  color: #08143f !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  box-shadow: 0 16px 40px rgba(8, 20, 63, .18) !important;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

/* One frosted results panel, like the shop hero — not separate tiles. */
.lf-lang-search .lf-shop-search-results,
.lf-city-page .lf-lang-search .lf-shop-search-results {
  list-style: none;
  margin: 8px 0 0;
  padding: 0;
  max-height: 560px;
  overflow: auto;
  border-radius: 12px !important;
  background: rgba(255, 255, 255, .95) !important;
  box-shadow: none;
}
.lf-lang-search .lf-shop-search-results li {
  border-bottom: 1px solid #eef2f7 !important;
  margin: 0;
}
.lf-lang-search .lf-shop-search-results li:last-child {
  border-bottom: 0 !important;
}
.lf-lang-search .lf-shop-search-results a,
.lf-city-page .lf-lang-search .lf-shop-search-results a {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 9px 10px;
  border-radius: 0;
  text-decoration: none;
  color: #08143f !important;
  border: 0;
  background: transparent;
  box-shadow: none;
  margin-bottom: 0;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
.lf-lang-search .lf-shop-search-results a:hover,
.lf-lang-search .lf-shop-search-results a:focus-visible {
  background: #f1f5ff;
  border: 0;
  box-shadow: none;
}
.lf-lang-search .lf-shop-search-results .t {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-weight: 700;
}
.lf-lang-search .lf-shop-result-title { flex: 1 1 auto; min-width: 0; }
.lf-lang-search .lf-shop-search-results .m {
  display: block;
  margin-top: 3px;
  font-size: 12px;
  color: #445;
  opacity: .85;
}
.lf-lang-search .lf-shop-search-results .price,
.lf-lang-search .lf-shop-search-results .wycena {
  display: block;
  margin-top: 4px;
  font-weight: 800;
  color: #2a46d6;
}

.lf-city-page .lf-lang-search .lf-lang-search-all,
.lf-lang-search .lf-lang-search-all,
.lf-city-page .lf-lang-search .lf-shop-search-empty,
.lf-lang-search .lf-shop-search-empty {
  margin: 12px 0 0;
  font-size: 14px;
  font-weight: 800;
  color: #fff !important;
  text-shadow: 0 1px 1px rgba(8, 20, 63, .45);
}
.lf-city-page .lf-lang-search .lf-lang-search-all a,
.lf-lang-search .lf-lang-search-all a,
.lf-city-page .lf-lang-search .lf-shop-search-empty a,
.lf-lang-search .lf-shop-search-empty a {
  color: #fff !important;
  text-decoration: none;
  border-bottom: 1px solid rgba(255, 255, 255, .55);
  font-weight: 800;
}

.lf-lang-search .visually-hidden {
  position: absolute !important;
  width: 1px; height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}
.lf-lang-search.is-country-open .lf-shop-country-list,
.lf-lang-search .lf-shop-hero-search.is-country-open .lf-shop-country-list {
  z-index: 8;
}

@media (max-width: 850px) {
  .lf-lang-search .lf-shop-hero-search { padding: 16px 14px 12px; }
  .lf-lang-search .lf-shop-search-results { max-height: 520px; }
  .lf-lang-search .lf-uk-docs-hero__card-top p {
    display: block !important;
    color: #fff !important;
  }
}

/* Desktop shop CSS otherwise clips this card outside the shop hero slot. */
@media (min-width: 851px) {
  .lf-lang-search .lf-shop-hero-search,
  .lf-city-page .lf-lang-search .lf-shop-hero-search {
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
    overflow: visible !important;
    position: relative !important;
    inset: auto !important;
  }
  .lf-lang-search .lf-shop-search-results,
  .lf-lang-search .lf-shop-hero-search.is-showing-results .lf-shop-search-results {
    flex: 0 0 auto !important;
    min-height: 80px !important;
    max-height: 560px !important;
    overflow: auto !important;
    background: rgba(255, 255, 255, .95) !important;
  }
}

/* === mobile-tiles-fix 20261113-2228: equal glass type-chips, wrapping labels ===
   Root cause: .lf-shop-chips used 1fr 1fr but items kept min-width:auto, so a
   one-line label such as "Dokumenty samochodu" inflated column 1 and squeezed
   column 2. Labels on the narrower tiles ("Świadectwo pracy", "Akt urodzenia")
   then stuck out of the rounded glass. Buttons inherit white-space:nowrap, so
   labels could not wrap. Language-search chips also stayed at 12px on mobile
   (the 11px shop rule lost to a later 12px !important).
   Keep data-URIs on one line. Do not change desktop appearance when labels fit. */

.lf-shop-chips,
.lf-city-page .lf-shop-chips,
.lf-lang-search .lf-shop-chips,
.lf-city-page .lf-lang-search .lf-shop-chips {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: stretch;
}

.lf-shop-chip,
.lf-city-page .lf-shop-chip,
.lf-lang-search .lf-shop-chip,
.lf-city-page .lf-lang-search .lf-shop-chip {
  min-width: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  height: auto;
  min-height: 100%;
  align-items: center !important;
  white-space: normal !important;
}

.lf-shop-chip-label,
.lf-city-page .lf-shop-chip-label,
.lf-lang-search .lf-shop-chip-label,
.lf-city-page .lf-lang-search .lf-shop-chip-label,
.lf-shop-chip .lf-shop-chip-label {
  flex: 1 1 auto;
  min-width: 0 !important;
  max-width: 100%;
  display: block;
  white-space: normal !important;
  overflow-wrap: break-word;
  word-wrap: break-word;
  hyphens: auto;
  -webkit-hyphens: auto;
  line-height: 1.25;
}

@media (max-width: 850px) {
  .lf-lang-search .lf-shop-chip,
  .lf-city-page .lf-lang-search .lf-shop-chip {
    font-size: 11px !important;
    padding: 6px 7px !important;
    gap: 6px !important;
  }
}

@media (max-width: 340px) {
  .lf-shop-chip,
  .lf-city-page .lf-shop-chip,
  .lf-lang-search .lf-shop-chip,
  .lf-city-page .lf-lang-search .lf-shop-chip {
    font-size: 10px !important;
    padding: 6px 6px !important;
    gap: 5px !important;
  }

  .lf-shop-chip img,
  .lf-city-page .lf-shop-chip img,
  .lf-lang-search .lf-shop-chip img,
  .lf-city-page .lf-lang-search .lf-shop-chip img {
    width: 20px !important;
    height: 20px !important;
    flex: 0 0 20px !important;
  }

  /* Last-resort mid-word wrap if a single token still cannot hyphenate. */
  .lf-shop-chip-label,
  .lf-city-page .lf-shop-chip-label,
  .lf-lang-search .lf-shop-chip-label,
  .lf-city-page .lf-lang-search .lf-shop-chip-label {
    overflow-wrap: anywhere;
  }
}
