/* ==========================================================
   POLOCHECK 3D — GLOBAL LAYOUT MASTER / RC1
   Source reference: V0.24 LOCKED
   Cleanup goal: one final rule set without historical overrides.
   Visual output must remain equivalent to V0.24.
   ========================================================== */

:root {
  --pc3d-header-logo-width-desktop: 185px;
  --pc3d-header-logo-width-mobile: 148px;
  --pc3d-header-logo-aspect: 2172 / 724;
}

html {
  scrollbar-gutter: stable;
}

.site-header .brand {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  line-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}

.site-header .brand img {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  transform: none !important;
  translate: none !important;
  vertical-align: top !important;
  object-fit: contain !important;
  object-position: left center !important;
  flex: 0 0 auto !important;
}

/* ==========================================================
   DESKTOP / LARGE TABLET — 769+
   ========================================================== */
@media (min-width: 769px) {
  .site-header .brand {
    width: var(--pc3d-header-logo-width-desktop) !important;
    min-width: var(--pc3d-header-logo-width-desktop) !important;
    flex-basis: var(--pc3d-header-logo-width-desktop) !important;
    height: 56px !important;
  }

  .site-header .brand img {
    width: var(--pc3d-header-logo-width-desktop) !important;
    height: auto !important;
    max-width: none !important;
    max-height: 56px !important;
  }

  .page-uslugi .services-hero,
  .page-o-firmie .about-hero,
  .page-skanowanie .scan-hero,
  .page-inzynieria .scan-hero,
  .page-qc .qc-hero {
    margin-top: 0 !important;
    padding-top: 50px !important;
  }

  .page-uslugi .hero-copy,
  .page-o-firmie .about-copy,
  .page-skanowanie .scan-copy,
  .page-inzynieria .scan-copy,
  .page-qc .qc-copy {
    max-width: 690px !important;
  }

  .page-inzynieria .scan-copy,
  .page-o-firmie .about-copy {
    max-width: 720px !important;
  }

  .page-uslugi .section-title,
  .page-o-firmie .section-label,
  .page-skanowanie .section-label,
  .page-inzynieria .section-label,
  .page-qc .section-label {
    margin: 0 !important;
    font-size: 18px !important;
    line-height: 1.15 !important;
    font-weight: 800 !important;
    letter-spacing: .16em !important;
    text-transform: uppercase !important;
  }

  .page-uslugi .eyebrow-line,
  .page-o-firmie .title-line,
  .page-skanowanie .title-line,
  .page-inzynieria .title-line,
  .page-qc .title-line {
    width: 292px !important;
    height: 3px !important;
    margin: 20px 0 31px !important;
  }

  .page-skanowanie .scan-hero h1,
  .page-inzynieria .scan-hero h1,
  .page-qc .qc-hero h1,
  .page-o-firmie .about-copy h1 {
    font-size: 56px !important;
    line-height: 1.08 !important;
    letter-spacing: -.035em !important;
    margin-top: 0 !important;
    margin-bottom: 22px !important;
  }

  .page-uslugi .services-hero h1.section-title {
    font-size: 18px !important;
    line-height: 1.15 !important;
    font-weight: 800 !important;
    letter-spacing: .16em !important;
    text-transform: uppercase !important;
    margin: 0 !important;
  }

  .page-o-firmie .about-copy h1 {
    max-width: 690px !important;
  }

  .page-skanowanie .scan-hero h1 + p,
  .page-inzynieria .scan-hero h1 + p,
  .page-qc .qc-hero h1 + p,
  .page-o-firmie .about-copy h1 + p {
    margin-top: 0 !important;
  }

  .page-skanowanie .scan-visual,
  .page-inzynieria .scan-visual,
  .page-qc .qc-visual,
  .page-o-firmie .about-visual {
    align-self: center !important;
    margin-top: 0 !important;
  }
}

/* ==========================================================
   DESKTOP MASTER — 901+
   ========================================================== */
@media (min-width: 901px) {
  .site-header > .container.header-inner {
    width: min(calc(100% - 52px), 1110px) !important;
    min-height: 92px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  .site-header .brand {
    width: 185px !important;
    flex: 0 0 185px !important;
  }

  .site-header .brand img {
    width: 185px !important;
    height: auto !important;
  }

  .site-header .main-nav {
    gap: 51px !important;
    font-size: 15px !important;
    font-weight: 650 !important;
  }

  .site-header .main-nav a {
    padding: 34px 0 29px !important;
  }

  body:has(.hero-brand-master) .hero {
    padding-top: 50px !important;
  }

  .page-uslugi {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
  }

  .page-uslugi > main {
    flex: 1 0 auto;
    display: flex;
    flex-direction: column;
  }

  .page-uslugi .services-list {
    flex: 1 0 auto;
    padding-top: 20px;
    padding-bottom: 38px;
  }

  .page-uslugi .services-grid {
    transform: none !important;
  }

  .page-uslugi .pc3d-global-footer {
    margin-top: auto !important;
    flex: 0 0 auto;
  }

  .page-uslugi .hero-copy,
  .page-o-firmie .about-copy {
    padding-left: 62px !important;
  }

  .page-uslugi .eyebrow-line,
  .page-o-firmie .title-line {
    display: block !important;
    background: linear-gradient(90deg, #176bff 0%, #20c7df 57%, #26cc67 100%) !important;
  }
}

/* ==========================================================
   TABLET / MOBILE — 768-
   ========================================================== */
@media (max-width: 768px) {
  html,
  body {
    overflow-x: hidden;
  }

  .container,
  .hero-copy,
  .about-copy,
  .section-copy,
  .contact-copy {
    max-width: 100%;
  }

  .site-header .brand {
    width: var(--pc3d-header-logo-width-mobile) !important;
    min-width: var(--pc3d-header-logo-width-mobile) !important;
    flex-basis: var(--pc3d-header-logo-width-mobile) !important;
    height: 48px !important;
  }

  .site-header .brand img {
    width: var(--pc3d-header-logo-width-mobile) !important;
    height: auto !important;
    max-width: none !important;
    max-height: 48px !important;
  }

  .site-header > .container.header-inner {
    align-items: center !important;
  }

  .page-skanowanie .scan-hero,
  .page-inzynieria .scan-hero,
  .page-qc .qc-hero {
    margin-top: 0 !important;
    padding-top: 34px !important;
  }

  .page-uslugi .services-hero,
  .page-o-firmie .about-hero {
    margin-top: 0 !important;
    padding-top: 30px !important;
  }

  .page-uslugi .hero-copy,
  .page-o-firmie .about-copy {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .page-skanowanie .scan-hero h1,
  .page-inzynieria .scan-hero h1,
  .page-qc .qc-hero h1,
  .page-o-firmie .about-copy h1 {
    font-size: 46px !important;
    line-height: 1.08 !important;
    letter-spacing: -.03em !important;
    margin-bottom: 18px !important;
  }

  .page-skanowanie .section-label,
  .page-inzynieria .section-label,
  .page-qc .section-label {
    font-size: 16px !important;
    letter-spacing: .14em !important;
  }

  .page-skanowanie .title-line,
  .page-inzynieria .title-line,
  .page-qc .title-line {
    width: 230px !important;
    height: 3px !important;
    margin: 16px 0 24px !important;
  }

  .page-uslugi .services-hero h1.section-title,
  .page-o-firmie .section-label {
    font-size: 15px !important;
    line-height: 1.15 !important;
    font-weight: 800 !important;
    letter-spacing: .13em !important;
    text-transform: uppercase !important;
    margin: 0 !important;
  }

  .page-uslugi .eyebrow-line,
  .page-o-firmie .title-line {
    width: 205px !important;
    height: 3px !important;
    margin: 15px 0 23px !important;
  }

  .hero,
  .services-hero,
  .about-hero,
  .contact-hero,
  .service-hero {
    padding-bottom: 28px !important;
  }

  .hero img,
  .service-hero img,
  .about-hero img,
  .services-hero img {
    max-width: 100% !important;
    height: auto !important;
  }

  .btn,
  .button,
  .cta-button,
  a[class*="btn"] {
    min-height: 46px;
  }

  .service-card,
  .benefit-card,
  .process-card,
  .shortcut-card {
    margin-bottom: 18px;
  }

  .pc3d-global-footer {
    margin-top: 26px !important;
  }

  .pc3d-global-footer .contact-footer {
    padding-bottom: 12px !important;
  }
}

/* ==========================================================
   PHONE — 420-
   ========================================================== */
@media (max-width: 420px) {
  .site-header > .container.header-inner {
    min-height: 74px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  .site-header .brand {
    width: 148px !important;
    flex-basis: 148px !important;
  }

  .site-header .brand img {
    width: 148px !important;
    height: auto !important;
  }

  .hero,
  .services-hero,
  .about-hero,
  .contact-hero,
  .service-hero {
    padding-top: 28px !important;
  }

  .page-skanowanie .scan-hero,
  .page-inzynieria .scan-hero,
  .page-qc .qc-hero {
    margin-top: 0 !important;
    padding-top: 28px !important;
  }

  .page-uslugi .services-hero,
  .page-o-firmie .about-hero {
    margin-top: 0 !important;
    padding-top: 30px !important;
  }

  .page-skanowanie .scan-hero h1,
  .page-inzynieria .scan-hero h1,
  .page-qc .qc-hero h1,
  .page-o-firmie .about-copy h1,
  .hero h1,
  .service-hero h1 {
    font-size: 40px !important;
    line-height: 1.08 !important;
    letter-spacing: -.028em !important;
  }

  .page-skanowanie .scan-hero h1,
  .page-inzynieria .scan-hero h1,
  .page-qc .qc-hero h1,
  .page-o-firmie .about-copy h1 {
    margin-bottom: 16px !important;
  }

  .page-o-firmie .about-copy h1 br {
    display: none;
  }

  .page-skanowanie .section-label,
  .page-inzynieria .section-label,
  .page-qc .section-label {
    font-size: 15px !important;
    letter-spacing: .13em !important;
  }

  .page-skanowanie .title-line,
  .page-inzynieria .title-line,
  .page-qc .title-line {
    width: 210px !important;
    height: 3px !important;
    margin: 14px 0 20px !important;
  }

  .page-uslugi .services-hero h1.section-title,
  .page-o-firmie .section-label {
    font-size: 15px !important;
  }

  .hero-brand-master {
    width: min(112vw, 430px) !important;
    max-width: none !important;
    margin-left: 50% !important;
    transform: translateX(-50%) !important;
  }

  section {
    scroll-margin-top: 78px;
  }

  .hero p,
  .services-hero p,
  .about-hero p,
  .service-hero p,
  .contact-hero p {
    line-height: 1.55 !important;
  }

  .hero-visual,
  .service-hero-visual,
  .about-visual {
    margin-top: 18px !important;
  }

  .hero-visual img,
  .service-hero-visual img,
  .about-visual img {
    max-height: 360px !important;
    object-fit: contain !important;
  }

  .hero-actions,
  .cta-row,
  .button-row,
  .actions {
    gap: 12px !important;
  }

  .hero-actions .btn,
  .cta-row .btn,
  .button-row .btn,
  .actions .btn {
    width: 100%;
    justify-content: center;
  }

  .services-grid,
  .benefits-grid,
  .process-grid,
  .shortcut-grid {
    gap: 16px !important;
  }

  .service-card,
  .benefit-card,
  .process-card,
  .shortcut-card {
    margin-bottom: 0 !important;
  }

  .contact-page a,
  .contact-page p,
  .contact-page span,
  .contact-page strong {
    overflow-wrap: anywhere;
  }

  .pc3d-global-footer {
    margin-top: 22px !important;
  }

  .pc3d-global-footer .legal-footer-inner {
    min-height: 58px !important;
    padding: 10px 0 !important;
  }
}


/* RC5.2 — O FIRMIE mobile H1 natural wrapping */
@media (max-width: 768px) {
  .page-o-firmie .about-copy h1 {
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }
}

@media (max-width: 420px) {
  .page-o-firmie .about-copy h1 {
    font-size: clamp(36px, 10.25vw, 40px) !important;
    line-height: 1.08 !important;
    letter-spacing: -.028em !important;
  }
}
