.references-grid {
  display: grid;
  grid-template-columns: repeat(4, 220px);
  justify-content: center;
  gap: 30px;
}/* Uni-Lingua combined stylesheet
   Tailwind local build + custom styles
*/
/* Local Tailwind replacement generated for Uni-Lingua */
*,::before,::after{box-sizing:border-box;border:0 solid transparent;}
html{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;}
body{margin:0;line-height:inherit;}
img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle;}
img,video{max-width:100%;height:auto;}
button,input,select,textarea{font:inherit;color:inherit;margin:0;padding:0;}
button{background-color:transparent;background-image:none;}
a{color:inherit;text-decoration:inherit;}
.-mt-3{margin-top:-0.75rem;}
.-translate-x-1\/2{transform:translateX(-50%);}
.absolute{position:absolute;}
.accent-\[\#182638\]{accent-color:#182638;}
.backdrop-blur{backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);}
.bg-emerald-50{background-color:#ecfdf5;}
.bg-gold{background-color:#c4943a;}
.bg-gold-50{background-color:#fbf6ec;}
.bg-navy{background-color:#182638;}
.bg-slate-50{background-color:#f8fafc;}
.bg-steel{background-color:#57708a;}
.bg-white{background-color:#fff;}
.bg-white\/10{background-color:rgba(255,255,255,.10);}
.bg-white\/90{background-color:rgba(255,255,255,.90);}
.block{display:block;}
.border{border-width:1px;}
.border-2{border-width:2px;}
.border-b{border-bottom-width:1px;}
.border-dashed{border-style:dashed;}
.border-gold{border-color:#c4943a;}
.border-navy{border-color:#182638;}
.border-slate-100{border-color:#f1f5f9;}
.border-slate-200{border-color:#e2e8f0;}
.border-slate-300{border-color:#cbd5e1;}
.border-t{border-top-width:1px;}
.border-transparent{border-color:transparent;}
.border-white\/10{border-color:rgba(255,255,255,.10);}
.border-white\/20{border-color:rgba(255,255,255,.20);}
.border-white\/30{border-color:rgba(255,255,255,.30);}
.bottom-0{bottom:0;}
.bottom-3{bottom:0.75rem;}
.bottom-5{bottom:1.25rem;}
.cursor-pointer{cursor:pointer;}
.duration-500{transition-duration:.5s;}
.fixed{position:fixed;}
.flex{display:flex;}
.flex-1{flex:1 1 0%;}
.flex-col{flex-direction:column;}
.flex-wrap{flex-wrap:wrap;}
.font-bold{font-weight:700;}
.font-extrabold{font-weight:800;}
.font-sans{font-family:"Plus Jakarta Sans",system-ui,sans-serif;}
.font-semibold{font-weight:600;}
.gap-10{gap:2.5rem;}
.gap-12{gap:3rem;}
.gap-14{gap:3.5rem;}
.gap-2{gap:0.5rem;}
.gap-2\.5{gap:0.625rem;}
.gap-3{gap:0.75rem;}
.gap-4{gap:1rem;}
.gap-5{gap:1.25rem;}
.gap-6{gap:1.5rem;}
.gap-8{gap:2rem;}
.gap-x-8{column-gap:2rem;}
.gap-y-3{row-gap:0.75rem;}
.grid{display:grid;}
.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.grid-cols-\[1fr_auto_1fr\]{grid-template-columns:1fr auto 1fr;}
.h-10{height:2.5rem;}
.h-11{height:2.75rem;}
.h-12{height:3rem;}
.h-16{height:4rem;}
.h-2\.5{height:0.625rem;}
.h-3\.5{height:0.875rem;}
.h-4{height:1rem;}
.h-5{height:1.25rem;}
.h-6{height:1.5rem;}
.h-7{height:1.75rem;}
.h-8{height:2rem;}
.h-\[44px\]{height:44px;}
.h-\[72px\]{height:72px;}
.h-full{height:100%;}
.hidden{display:none;}
.hover\:bg-gold:hover{background-color:#c4943a;}
.hover\:bg-gold-600:hover{background-color:#ad7f2a;}
.hover\:bg-navy-700:hover{background-color:#24364d;}
.hover\:bg-white\/10:hover{background-color:rgba(255,255,255,.10);}
.hover\:border-gold:hover{border-color:#c4943a;}
.hover\:text-gold:hover{color:#c4943a;}
.hover\:text-white:hover{color:#fff;}
.inline-block{display:inline-block;}
.inline-flex{display:inline-flex;}
.inset-0{top:0; right:0; bottom:0; left:0;}
.inset-x-0{left:0; right:0;}
.items-center{align-items:center;}
.items-end{align-items:flex-end;}
.items-start{align-items:flex-start;}
.justify-between{justify-content:space-between;}
.justify-center{justify-content:center;}
.leading-relaxed{line-height:1.625;}
.leading-snug{line-height:1.375;}
.left-0{left:0;}
.left-1\/2{left:50%;}
.left-3{left:0.75rem;}
.left-7{left:1.75rem;}
.max-w-2xl{max-width:42rem;}
.max-w-7xl{max-width:80rem;}
.max-w-sm{max-width:24rem;}
.max-w-xl{max-width:36rem;}
.mb-1\.5{margin-bottom:0.375rem;}
.mb-2{margin-bottom:0.5rem;}
.mb-5{margin-bottom:1.25rem;}
.mb-6{margin-bottom:1.5rem;}
.min-h-\[260px\]{min-height:260px;}
.min-w-0{min-width:0;}
.ml-auto{margin-left:auto;}
.mr-2{margin-right:0.5rem;}
.mt-0\.5{margin-top:0.125rem;}
.mt-1{margin-top:0.25rem;}
.mt-10{margin-top:2.5rem;}
.mt-12{margin-top:3rem;}
.mt-14{margin-top:3.5rem;}
.mt-2{margin-top:0.5rem;}
.mt-3{margin-top:0.75rem;}
.mt-4{margin-top:1rem;}
.mt-5{margin-top:1.25rem;}
.mt-6{margin-top:1.5rem;}
.mt-8{margin-top:2rem;}
.mt-9{margin-top:2.25rem;}
.mx-auto{margin-left:auto; margin-right:auto;}
.opacity-0{opacity:0;}
.overflow-hidden{overflow:hidden;}
.p-3{padding:0.75rem;}
.p-5{padding:1.25rem;}
.p-6{padding:1.5rem;}
.p-7{padding:1.75rem;}
.place-items-center{place-items:center;}
.pointer-events-none{pointer-events:none;}
.pt-\[72px\]{padding-top:72px;}
.px-2{padding-left:0.5rem; padding-right:0.5rem;}
.px-2\.5{padding-left:0.625rem; padding-right:0.625rem;}
.px-3{padding-left:0.75rem; padding-right:0.75rem;}
.px-3\.5{padding-left:0.875rem; padding-right:0.875rem;}
.px-4{padding-left:1rem; padding-right:1rem;}
.px-5{padding-left:1.25rem; padding-right:1.25rem;}
.px-6{padding-left:1.5rem; padding-right:1.5rem;}
.px-7{padding-left:1.75rem; padding-right:1.75rem;}
.py-0\.5{padding-top:0.125rem; padding-bottom:0.125rem;}
.py-1{padding-top:0.25rem; padding-bottom:0.25rem;}
.py-1\.5{padding-top:0.375rem; padding-bottom:0.375rem;}
.py-10{padding-top:2.5rem; padding-bottom:2.5rem;}
.py-12{padding-top:3rem; padding-bottom:3rem;}
.py-14{padding-top:3.5rem; padding-bottom:3.5rem;}
.py-16{padding-top:4rem; padding-bottom:4rem;}
.py-2{padding-top:0.5rem; padding-bottom:0.5rem;}
.py-2\.5{padding-top:0.625rem; padding-bottom:0.625rem;}
.py-20{padding-top:5rem; padding-bottom:5rem;}
.py-3{padding-top:0.75rem; padding-bottom:0.75rem;}
.py-3\.5{padding-top:0.875rem; padding-bottom:0.875rem;}
.py-4{padding-top:1rem; padding-bottom:1rem;}
.py-5{padding-top:1.25rem; padding-bottom:1.25rem;}
.py-7{padding-top:1.75rem; padding-bottom:1.75rem;}
.relative{position:relative;}
.resize-none{resize:none;}
.right-0{right:0;}
.right-5{right:1.25rem;}
.rounded-2xl{border-radius:1rem;}
.rounded-full{border-radius:9999px;}
.rounded-lg{border-radius:0.5rem;}
.rounded-md{border-radius:0.375rem;}
.rounded-xl{border-radius:0.75rem;}
.shadow-2xl{box-shadow:0 25px 50px -12px rgba(15, 23, 42, .25);}
.shadow-sm{box-shadow:0 1px 2px rgba(0,0,0,.05);}
.shrink-0{flex-shrink:0;}
.sr-only{position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border-width:0;}
.text-2xl{font-size:1.5rem; line-height:2rem;}
.text-3xl{font-size:1.875rem; line-height:2.25rem;}
.text-5xl{font-size:3rem; line-height:1;}
.text-\[11px\]{font-size:11px;}
.text-base{font-size:1rem; line-height:1.5rem;}
.text-center{text-align:center;}
.text-emerald-600{color:#059669;}
.text-emerald-700{color:#047857;}
.text-gold{color:#c4943a;}
.text-lg{font-size:1.125rem; line-height:1.75rem;}
.text-navy{color:#182638;}
.text-red-600{color:#dc2626;}
.text-slate-100{color:#f1f5f9;}
.text-slate-200{color:#e2e8f0;}
.text-slate-400{color:#94a3b8;}
.text-slate-500{color:#64748b;}
.text-slate-700{color:#334155;}
.text-sm{font-size:0.875rem; line-height:1.25rem;}
.text-white{color:#fff;}
.text-xl{font-size:1.25rem; line-height:1.75rem;}
.text-xs{font-size:0.75rem; line-height:1rem;}
.top-0{top:0;}
.tracking-tight{letter-spacing:-0.025em;}
.tracking-wider{letter-spacing:0.05em;}
.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke; transition-timing-function:cubic-bezier(.4,0,.2,1); transition-duration:.15s;}
.transition-opacity{transition-property:opacity; transition-timing-function:cubic-bezier(.4,0,.2,1); transition-duration:.15s;}
.transition-transform{transition-property:transform; transition-timing-function:cubic-bezier(.4,0,.2,1); transition-duration:.15s;}
.truncate{overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.uppercase{text-transform:uppercase;}
.w-10{width:2.5rem;}
.w-11{width:2.75rem;}
.w-12{width:3rem;}
.w-16{width:4rem;}
.w-2\.5{width:0.625rem;}
.w-3\.5{width:0.875rem;}
.w-4{width:1rem;}
.w-5{width:1.25rem;}
.w-6{width:1.5rem;}
.w-7{width:1.75rem;}
.w-8{width:2rem;}
.w-auto{width:auto;}
.w-full{width:100%;}
.z-40{z-index:40;}
.z-50{z-index:50;}
.space-y-2 > :not([hidden]) ~ :not([hidden]){margin-top:0.5rem;}
.space-y-2\.5 > :not([hidden]) ~ :not([hidden]){margin-top:0.625rem;}
.space-y-3 > :not([hidden]) ~ :not([hidden]){margin-top:0.75rem;}
.space-y-4 > :not([hidden]) ~ :not([hidden]){margin-top:1rem;}
.space-y-5 > :not([hidden]) ~ :not([hidden]){margin-top:1.25rem;}
@media (min-width:640px){
.sm\:flex-row{flex-direction:row;}
.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}
.sm\:inline-flex{display:inline-flex;}
.sm\:p-7{padding:1.75rem;}
.sm\:p-8{padding:2rem;}
.sm\:text-3xl{font-size:1.875rem; line-height:2.25rem;}
.sm\:w-auto{width:auto;}
}
@media (min-width:768px){
.md\:flex{display:flex;}
.md\:flex-row{flex-direction:row;}
.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.md\:hidden{display:none;}
.md\:items-end{align-items:flex-end;}
}
@media (min-width:1024px){
.lg\:col-span-2{grid-column:span 2 / span 2;}
.lg\:col-span-3{grid-column:span 3 / span 3;}
.lg\:col-span-5{grid-column:span 5 / span 5;}
.lg\:col-span-7{grid-column:span 7 / span 7;}
.lg\:flex{display:flex;}
.lg\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr));}
.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr));}
.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}
.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr));}
.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr));}
.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr));}
.lg\:hidden{display:none;}
.lg\:px-8{padding-left:2rem; padding-right:2rem;}
.lg\:py-28{padding-top:7rem; padding-bottom:7rem;}
.lg\:text-3xl{font-size:1.875rem; line-height:2.25rem;}
.lg\:text-4xl{font-size:2.25rem; line-height:2.5rem;}
}
.\-top-3{top:-0.75rem;}


/* Custom styles */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url('fonts/plus-jakarta-sans.woff2') format('woff2');
}

html { 
  scroll-behavior: smooth; 
  scroll-padding-top: 20px; /* Zwiększona wartość sprawi, że strona zatrzyma się niżej przy każdym kliknięciu linku z kotwicą (#) */
}

body { 
  font-family: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
  -webkit-font-smoothing: antialiased; 
}

.reveal { 
  opacity: 0; 
  transform: translateY(16px); 
  transition: opacity .6s ease, transform .6s ease; 
}
.reveal.in { 
  opacity: 1; 
  transform: none; 
}
.faq-item[open] .faq-icon { 
  transform: rotate(45deg); 
}
.faq-item summary::-webkit-details-marker { 
  display: none; 
}
.field { 
  width: 100%; 
  border: 1px solid #e2e8f0; 
  background: #fff; 
  border-radius: 10px; 
  padding: 11px 14px; 
  font-size: 14px; 
  outline: none; 
  transition: border-color .15s, background .15s; 
}
.field:focus { 
  border-color: #c4943a; 
}
.field.invalid { 
  border-color: #dc2626; 
  background: #fef2f2; 
}
.chip input:checked + span { 
  background: #57708a; 
  color: #fff; 
  border-color: #57708a; 
}
.nav-link.active { 
  color: #c4943a; 
}
.grid-pattern {
  background:
    radial-gradient(
      ellipse at 50% 0%,
      rgba(255,255,255,0.10),
      transparent 55%
    ),
    url("data:image/svg+xml,%3Csvg width='1200' height='500' viewBox='0 0 1200 500' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M-100 300 C220 160 450 460 800 270 C1050 130 1250 230 1400 150' fill='none' stroke='rgba(255,255,255,0.07)' stroke-width='2'/%3E%3Cpath d='M-100 370 C220 230 470 530 820 340 C1080 200 1300 300 1450 220' fill='none' stroke='rgba(255,255,255,0.05)' stroke-width='2'/%3E%3Cpath d='M-100 440 C240 300 500 600 850 410 C1100 270 1320 370 1500 290' fill='none' stroke='rgba(255,255,255,0.035)' stroke-width='2'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
/* Premium select styling */
select.field {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-color: #fff;
  border: 1px solid #e2e8f0;
  transition: all .2s ease;
  cursor: pointer;
}

select.field:hover {
  border-color: #c4943a;
  background-color: #fff;
}

select.field:focus {
  outline: none;
  border-color: #c4943a;
  box-shadow: 0 0 0 3px rgba(196,148,58,.12);
}

/* własna strzałka */
select.field {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23182638' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  background-size: 16px;
  padding-right: 40px;
}




/* =====================================================
   REFERENCJE KLIENTÓW — SKANY DOKUMENTÓW
   ===================================================== */
#referencje {
  overflow: visible;
}

.references-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  align-items: start;
}

.reference-card {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 14px;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 20px;
  text-decoration: none;
  box-shadow: 0 12px 32px rgba(15, 23, 42, .04);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.reference-card:hover {
  transform: translateY(-3px);
  border-color: #c4943a;
  box-shadow: 0 18px 42px rgba(15, 23, 42, .08);
}

.reference-thumb {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  aspect-ratio: 210 / 297;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  overflow: hidden;
}

.reference-thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.reference-meta {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 0 2px 2px;
}

.reference-name {
  font-size: 15px;
  line-height: 1.35;
  font-weight: 700;
  color: #182638;
}

.reference-sub {
  font-size: 13px;
  color: #64748b;
}

.reference-modal {
  position: fixed;
  inset: 0;
  z-index: 120;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: rgba(15, 23, 42, .72);
  backdrop-filter: blur(6px);
}

.reference-modal.hidden {
  display: none;
}

.reference-modal-inner {
  position: relative;
  width: min(100%, 980px);
  max-height: calc(100vh - 40px);
  background: #fff;
  border-radius: 22px;
  padding: 18px 18px 14px;
  box-shadow: 0 28px 80px rgba(15, 23, 42, .35);
  overflow: auto;
}

.reference-modal-inner img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 14px;
  background: #fff;
}

.reference-modal-caption {
  margin-top: 12px;
  font-size: 14px;
  font-weight: 700;
  color: #182638;
  text-align: center;
}

.reference-modal-close {
  position: absolute;
  top: 18px;
  right: 18px;
  z-index: 2;
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 999px;
  background: rgba(15, 23, 42, .92);
  color: #fff;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
}

body.modal-open {
  overflow: hidden;
}

@media (max-width: 1023px) {
  .references-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .references-grid {
    grid-template-columns: 1fr;
  }

  .reference-card {
    padding: 12px;
    border-radius: 18px;
  }

  .reference-modal {
    padding: 12px;
  }

  .reference-modal-inner {
    padding: 14px 14px 12px;
    border-radius: 18px;
  }

  .reference-modal-close {
    top: 12px;
    right: 12px;
    width: 38px;
    height: 38px;
    font-size: 24px;
  }
}


/* REFERENCJE - MINIATURY */
.reference-card {
  max-width: 280px;
  padding: 12px;
}
.reference-thumb {
  aspect-ratio: 180 / 250;
  max-height: 250px;
}
.reference-thumb img {
  object-fit: contain;
}
.reference-name {
  font-size: 14px;
}
.reference-sub {
  font-size: 12px;
}
.references-grid {
  grid-template-columns: repeat(3,minmax(220px,280px));
}
@media(max-width:1023px){
 .references-grid{grid-template-columns:repeat(2,minmax(220px,280px));}
}
@media(max-width:767px){
 .references-grid{grid-template-columns:1fr;}
 .reference-card{max-width:none;}
}

/* Referencje - wersja bez opisów pod dokumentami */
.reference-card {
  gap: 0;
  padding: 10px;
}
.reference-thumb {
  aspect-ratio: 210 / 297;
}
.reference-thumb img {
  opacity: .9;
  transition: transform .25s ease, opacity .25s ease;
}
.reference-card:hover .reference-thumb img {
  transform: scale(1.03);
  opacity: 1;
}


/* REFERENCJE - WYŚRODKOWANIE GALERII */
.references-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  justify-content: center;
  gap: 24px;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

.reference-card {
  width: 100%;
}
.reference-card {
  width: 280px;
  margin: 0 auto;
}
@media (max-width: 1024px) {
  .references-grid { grid-template-columns: repeat(2, 280px); }
}
@media (max-width: 640px) {
  .references-grid { grid-template-columns: 1fr; }
  .reference-card { width: min(280px,100%); }
}

/* ================= FAQ FIX ================= */
.faq-item {
  overflow: visible !important;
  height: auto !important;
}

.faq-item[open] {
  height: auto !important;
  min-height: 120px;
}

.faq-item summary {
  min-height: 72px;
}

.faq-item[open] summary {
  padding-bottom: 14px !important;
}

.faq-item > div {
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  padding-bottom: 24px !important;
  line-height: 1.7 !important;
}
