/* AIprawnik v8.5 — spójna typografia, kompaktowe kafelki i strony usług */

:root {
  --aip-text: #0b1730;
  --aip-muted: #5f6f89;
  --aip-border: #dce4f0;
  --aip-blue: #3157f5;
  --aip-soft: #f6f8fc;
}

/* Globalne ograniczenie skali. Żaden ekran nie powinien wyglądać jak billboard. */
:is(.wrap, body) h1 {
  max-width: 22ch;
  font-size: clamp(38px, 4.2vw, 62px) !important;
  line-height: 1.02 !important;
  letter-spacing: -.042em !important;
  text-wrap: balance;
}

:is(.wrap, body) h2 {
  font-size: clamp(25px, 2.55vw, 39px) !important;
  line-height: 1.13 !important;
  letter-spacing: -.028em !important;
  text-wrap: balance;
}

:is(.wrap, body) h3 {
  font-size: clamp(18px, 1.65vw, 25px) !important;
  line-height: 1.22 !important;
  letter-spacing: -.018em !important;
}

:is(.legal-page, .faq-page-v532, .landing-page, .service-page-v532, .knowledge-hub-v7,
.article-page-v56, .development-page-v73, .result-layout-v56, .service-landing-v85) p,
:is(.legal-page, .faq-page-v532, .landing-page, .service-page-v532, .knowledge-hub-v7,
.article-page-v56, .development-page-v73, .result-layout-v56, .service-landing-v85) li {
  line-height: 1.68;
}

.hero-v73 .hero-copy-v73 h1,
.hero-v72 .hero-copy-v72 h1 {
  max-width: 11.5ch;
  font-size: clamp(43px, 4.65vw, 67px) !important;
}

.assistant-heading-v72 h2,
.analysis-card-v72 h2 {
  font-size: clamp(31px, 3.25vw, 47px) !important;
}

.result-head-v77 h1,
.faq-hero-v532 h1,
.knowledge-hero-v7 h1,
.legal-page > h1,
.landing-hero h1,
.service-hero-v532 h1 {
  max-width: 18ch;
  font-size: clamp(36px, 3.8vw, 56px) !important;
}

/* 9 kafelków: mniejsze, czytelne, bez rozciągania formularza. */
.service-tabs,
.service-tabs-v51,
.service-tabs-v84 {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 8px !important;
}

.service-tabs > label,
.service-tabs-v51 > label,
.service-tabs-v84 > label,
.service-tabs-v84 .service-tile-special-v84 {
  min-height: 72px !important;
  padding: 10px 11px !important;
  border-radius: 13px !important;
  align-items: center !important;
  box-shadow: none !important;
}

.service-tabs > label span,
.service-tabs-v51 > label span,
.service-tabs-v84 > label span,
.service-tabs-v84 .service-tile-special-v84 span {
  display: grid;
  align-content: center;
  gap: 3px;
  min-width: 0;
  padding-right: 17px !important;
}

.service-tabs > label b,
.service-tabs-v51 > label b,
.service-tabs-v84 > label b,
.service-tabs-v84 .service-tile-special-v84 b {
  font-size: 12.5px !important;
  line-height: 1.15 !important;
  letter-spacing: -.12px !important;
}

.service-tabs > label small,
.service-tabs-v51 > label small,
.service-tabs-v84 > label small,
.service-tabs-v84 .service-tile-special-v84 small {
  display: -webkit-box;
  overflow: hidden;
  max-width: none !important;
  font-size: 9.5px !important;
  line-height: 1.28 !important;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.service-tabs-v84 .service-tile-special-v84::before {
  top: 9px !important;
  right: 10px !important;
  font-size: 8px !important;
}

.service-tabs-v84 .service-tile-special-v84::after {
  right: -39px !important;
  bottom: -47px !important;
  opacity: .58;
}

.service-tabs > label:hover,
.service-tabs-v84 > label:hover {
  transform: translateY(-1px);
  border-color: #b9c8e5;
  box-shadow: 0 8px 22px rgba(19, 43, 88, .07) !important;
}

.service-tabs > label:has(input:checked),
.service-tabs-v84 > label:has(input:checked) {
  border-color: var(--aip-blue) !important;
  box-shadow: 0 9px 25px rgba(49, 87, 245, .11) !important;
}

/* Jawna informacja o AI — widoczna przed formularzem, ale nie agresywna. */
.ai-disclosure-inline-v85,
.ai-disclosure-card-v85,
.article-information-note-v85 {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  border: 1px solid #d9e2f4;
  border-radius: 14px;
  background: linear-gradient(135deg, #f8faff, #f2f6ff);
  color: #53627b;
}

.ai-disclosure-inline-v85 {
  margin: 0 0 14px;
  padding: 12px 14px;
}

.ai-disclosure-inline-v85 > span {
  display: grid;
  flex: 0 0 31px;
  width: 31px;
  height: 31px;
  place-items: center;
  border-radius: 10px;
  background: #142b68;
  color: #fff;
  font: 900 10px/1 Arial, sans-serif;
}

.ai-disclosure-inline-v85 p,
.ai-disclosure-card-v85 span,
.article-information-note-v85 span {
  margin: 0;
  font-size: 11px;
  line-height: 1.55;
}

.ai-disclosure-inline-v85 b,
.ai-disclosure-card-v85 b,
.article-information-note-v85 b {
  color: #16233e;
}

.article-information-note-v85 {
  margin: 0 0 21px;
  padding: 11px 14px;
  align-items: center;
}

.article-information-note-v85 b {
  white-space: nowrap;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .08em;
}

/* Strony wyspecjalizowanych usług SEO. */
.service-landing-v85 {
  width: min(1180px, calc(100% - 34px));
  margin: 0 auto;
  padding: 18px 0 72px;
}

.service-landing-hero-v85 {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(260px, .65fr);
  gap: clamp(28px, 5vw, 72px);
  align-items: center;
  margin: 20px 0 24px;
  padding: clamp(31px, 5vw, 67px);
  border: 1px solid var(--aip-border);
  border-radius: 26px;
  background:
    radial-gradient(circle at 92% 10%, rgba(49,87,245,.12), transparent 29%),
    linear-gradient(140deg, #fff 0%, #f7f9ff 100%);
  box-shadow: 0 21px 65px rgba(16, 39, 80, .08);
}

.service-landing-hero-v85 h1 {
  max-width: 16ch;
  margin: 17px 0 16px;
  font-size: clamp(39px, 4.2vw, 60px) !important;
}

.service-landing-hero-v85 > div > p {
  max-width: 66ch;
  margin: 0;
  color: var(--aip-muted);
  font-size: clamp(15px, 1.35vw, 18px);
  line-height: 1.68;
}

.service-landing-actions-v85 {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 23px;
}

.ai-disclosure-card-v85 {
  max-width: 650px;
  margin-top: 18px;
  padding: 12px 14px;
}

.service-landing-hero-v85 aside {
  padding: 22px;
  border: 1px solid rgba(135, 157, 201, .34);
  border-radius: 20px;
  background: #0d1d3b;
  color: #fff;
}

.service-landing-hero-v85 aside > span {
  font: 900 10px/1 Arial, sans-serif;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #91a9e9;
}

.service-landing-hero-v85 aside ol {
  display: grid;
  gap: 0;
  margin: 15px 0 0;
  padding: 0;
  list-style: none;
}

.service-landing-hero-v85 aside li {
  display: flex;
  gap: 11px;
  align-items: center;
  padding: 11px 0;
  border-bottom: 1px solid rgba(255,255,255,.09);
  font-size: 12px;
}

.service-landing-hero-v85 aside li:last-child { border: 0; }
.service-landing-hero-v85 aside b { color: #79e0c1; font-size: 10px; }

.service-landing-grid-v85 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 14px 0;
}

.service-landing-grid-v85 article {
  padding: clamp(22px, 3vw, 34px);
  border: 1px solid var(--aip-border);
  border-radius: 20px;
  background: #fff;
}

.service-landing-grid-v85 article > span {
  color: var(--aip-blue);
  font: 900 10px/1 Arial, sans-serif;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.service-landing-grid-v85 h2 { margin: 11px 0 15px; font-size: clamp(25px, 2.4vw, 34px) !important; }
.service-landing-grid-v85 ul { display: grid; gap: 10px; margin: 0; padding-left: 20px; color: #52617a; font-size: 14px; }

.service-risk-v85 {
  display: flex;
  gap: 17px;
  align-items: flex-start;
  margin: 14px 0;
  padding: 22px 25px;
  border: 1px solid #efd9b9;
  border-radius: 18px;
  background: #fffaf2;
}

.service-risk-v85 > span {
  display: grid;
  flex: 0 0 35px;
  width: 35px;
  height: 35px;
  place-items: center;
  border-radius: 50%;
  background: #b36d19;
  color: #fff;
  font-weight: 900;
}

.service-risk-v85 h2 { margin: 1px 0 6px; font-size: 21px !important; }
.service-risk-v85 p { margin: 0; color: #695a45; font-size: 13px; }

.service-faq-v85,
.service-related-v85,
.service-landing-cta-v85 {
  display: grid;
  grid-template-columns: minmax(240px, .75fr) minmax(0, 1.25fr);
  gap: clamp(28px, 5vw, 70px);
  padding: clamp(31px, 5vw, 59px);
  margin-top: 15px;
  border: 1px solid var(--aip-border);
  border-radius: 22px;
  background: #fff;
}

.service-faq-v85 h2,
.service-related-v85 h2,
.service-landing-cta-v85 h2 {
  margin: 12px 0 0;
  font-size: clamp(27px, 2.65vw, 38px) !important;
}

.service-faq-v85 details {
  padding: 14px 0;
  border-bottom: 1px solid #e7ebf2;
}
.service-faq-v85 details:first-child { padding-top: 0; }
.service-faq-v85 summary { cursor: pointer; color: #182641; font-size: 13px; font-weight: 900; }
.service-faq-v85 details p { margin: 8px 0 0; color: #61708a; font-size: 13px; }

.service-related-v85 nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.service-related-v85 nav a {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: center;
  padding: 13px 14px;
  border: 1px solid #e0e6f0;
  border-radius: 12px;
  color: #233452;
  font-size: 12px;
  font-weight: 850;
  text-decoration: none;
}
.service-related-v85 nav a:hover { border-color: #9fb2ea; color: var(--aip-blue); }
.service-landing-cta-v85 { align-items: center; background: linear-gradient(135deg, #0b1830, #142f69); color: #fff; }
.service-landing-cta-v85 .section-kicker { color: #91a9e9; }
.service-landing-cta-v85 .primary-link { justify-self: end; }

/* Regulamin: długie warunki mają być czytelne, a nie marketingowe. */
.legal-page-v85 { max-width: 970px !important; }
.legal-page-v85 > h1 { max-width: 20ch; font-size: clamp(36px, 3.8vw, 54px) !important; }
.legal-page-v85 > h2 { margin-top: 36px; font-size: clamp(22px, 2vw, 29px) !important; }
.legal-page-v85 > ol { padding-left: 24px; }
.legal-page-v85 > ol > li { margin: 8px 0; color: #3e4d67; font-size: 14px; }
.legal-note-critical-v85 { border-left: 5px solid #3157f5; }
.legal-summary-v85 article { min-height: 0 !important; }
.legal-sources-v85 div { display: flex; flex-wrap: wrap; gap: 8px; }

@media (max-width: 980px) {
  .service-tabs,
  .service-tabs-v51,
  .service-tabs-v84 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .service-landing-hero-v85 { grid-template-columns: 1fr; }
  .service-landing-hero-v85 aside { max-width: 620px; }
}

@media (max-width: 720px) {
  :is(.wrap, body) h1 { font-size: clamp(34px, 9vw, 43px) !important; }
  :is(.wrap, body) h2 { font-size: clamp(24px, 7vw, 32px) !important; }
  .hero-v73 .hero-copy-v73 h1,
  .hero-v72 .hero-copy-v72 h1 { max-width: none; font-size: clamp(39px, 10.7vw, 50px) !important; }
  .service-tabs,
  .service-tabs-v51,
  .service-tabs-v84 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 7px !important; }
  .service-tabs > label,
  .service-tabs-v51 > label,
  .service-tabs-v84 > label { min-height: 68px !important; padding: 9px !important; }
  .service-tabs > label b,
  .service-tabs-v84 > label b { font-size: 11.5px !important; }
  .service-tabs > label small,
  .service-tabs-v84 > label small { font-size: 8.8px !important; }
  .article-information-note-v85 { display: grid; }
  .service-landing-v85 { width: min(100% - 20px, 1180px); padding-bottom: 35px; }
  .service-landing-hero-v85 { padding: 26px 20px; border-radius: 20px; }
  .service-landing-hero-v85 h1 { font-size: clamp(35px, 10vw, 45px) !important; }
  .service-landing-grid-v85,
  .service-faq-v85,
  .service-related-v85,
  .service-landing-cta-v85 { grid-template-columns: 1fr; }
  .service-faq-v85,
  .service-related-v85,
  .service-landing-cta-v85 { padding: 27px 20px; }
  .service-related-v85 nav { grid-template-columns: 1fr; }
  .service-landing-cta-v85 .primary-link { justify-self: start; }
}

@media (max-width: 390px) {
  .service-tabs,
  .service-tabs-v51,
  .service-tabs-v84 { grid-template-columns: 1fr !important; }
  .service-tabs > label,
  .service-tabs-v51 > label,
  .service-tabs-v84 > label { min-height: 62px !important; }
}
