/* VAPORA GLAZE TŁUMACZENIA - TECH FUTURISTIC CSS v1.0 */
/* === RESET & NORMALIZE === */
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,main,menu,nav,output,ruby,section,summary,time,mark,audio,video{
  margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline;box-sizing:border-box;
}
article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section{
  display:block;
}
body{
  line-height:1.5; background:#101926; color:#eaf6fb;
}
ol,ul{
  list-style:none; margin:0; padding:0;
}
a{ color:inherit; text-decoration:none;transition:color .2s; }
img{ border:0; max-width:100%; display:block; }
button,input,select,textarea{
  font-family: inherit; font-size:inherit; margin:0; border:none;
}
table { border-collapse:collapse; width:100%;}
th,td{padding:12px 18px;}
th{ background:#184259; color:#fff; font-weight:700;}
td{ background:#16354b; color:#eaf6fb;}
h1,h2,h3,h4,h5,h6{ font-weight:700; color:#fff; margin-bottom:16px; }

/* === BASE TYPOGRAPHY & BRAND === */
:root {
  --color-primary:#184259;
  --color-secondary:#6CB2E2;
  --color-accent:#F2F6FA;
  --color-bg:#101926;
  --color-bg-lighter:#223142;
  --color-neon:#55e6fb;
  --color-neon-pink:#fe6af3;
  --color-shadow:rgba(86,207,255,0.09);
  --color-error:#ff3b6b;
  --font-display:'Montserrat', Arial, Helvetica, sans-serif;
  --font-body:'Roboto', Arial, Helvetica, sans-serif;
}
html{ font-size:16px; }
body{
  font-family:var(--font-body);
  background: var(--color-bg);
  color:#eaf6fb;
  min-height:100vh;
}
h1{ font-family:var(--font-display);font-size:2.4rem; letter-spacing:0.5px; margin-bottom:20px; }
h2{ font-family:var(--font-display); font-size:1.8rem; letter-spacing:0.5px; margin-bottom:18px; }
h3{ font-family:var(--font-display);font-size:1.22rem; margin-bottom:12px; color:var(--color-secondary);}
h4,h5,h6{ font-family:var(--font-display);}
p,ul,ol{ font-size:1rem; margin-bottom:16px; line-height:1.65; }
strong { color:var(--color-neon);}

/* === LAYOUT WRAPPERS === */
.container {
  width:100%; max-width:1160px; margin:0 auto; padding:0 20px;
  display: flex;
  flex-direction: column;
}
.content-wrapper {
  margin:0 auto; width:100%; max-width:860px;
  display:flex; flex-direction:column; align-items:flex-start;
  gap:20px;
}

.section {
  margin-bottom:60px; padding:40px 20px;
}

.card-container {
  display:flex; flex-wrap:wrap; gap:24px;
}
.card {
  background: #16283b; border-radius:18px; box-shadow:0 6px 36px var(--color-shadow);
  padding:28px 26px; margin-bottom:20px; position:relative;
  transition:box-shadow .25s, transform .15s;
  display:flex; flex-direction:column; gap:16px;
  border:1.5px solid rgba(86,207,255,0.12);
}
.card:hover {
  box-shadow:0 8px 40px 0 var(--color-neon),0 1.5px 10px 0 var(--color-shadow);
  transform:translateY(-4px) scale(1.02);
}

.content-grid {
  display:flex; flex-wrap:wrap; gap:20px; justify-content:space-between;
}
.text-image-section {
  display:flex; align-items:center; gap:30px; flex-wrap:wrap; width:100%;
}
.testimonial-card {
  display:flex; flex-direction:column; align-items:flex-start; gap:20px; padding:20px;
  background: #f2f6fa;
  color: #191f27;
  border-radius:18px;
  box-shadow:0 4px 24px rgba(86,207,255,0.10);
  border-left:4px solid var(--color-secondary);
  margin-bottom:24px;
  margin-right:0;
  margin-left:0;
  font-size:1.07rem;
  position:relative;
}
.testimonial-card:before{
  content:'"';
  color:var(--color-neon);
  font-size:2rem; line-height:1; position:absolute; top:12px; left:16px; opacity:.12;
}
.testimonial-card strong { color:#184259; }

.feature-item {
  display:flex; flex-direction:column; align-items:flex-start; gap:15px;
}

/* === HEADER & NAVIGATION === */
header {
  width:100%; background: #101926; box-shadow:0 2px 16px rgba(24,66,89,0.09);
  position:sticky; top:0; z-index:30;
}
header .container {
  flex-direction:row; align-items:center; justify-content:space-between;
  padding:18px 20px;
  gap:16px;
  position:relative;
}
header a img, footer img {
  height:44px; width:auto; margin-right:12px;
}
.main-nav {
  display:flex; flex-direction:row; gap:22px; align-items:center;
}
.main-nav a {
  font-family:var(--font-display); font-size:1rem; letter-spacing:0.06em; padding:6px 0; color:#eaf6fb; font-weight:500; transition:color .16s;
  border-bottom:2px solid transparent;
  position:relative;
}
.main-nav a:hover, .main-nav a:focus {
  color:var(--color-neon); border-bottom:2px solid var(--color-neon);
}
.main-nav .cta-btn {
  background:linear-gradient(87deg, var(--color-secondary) 60%, var(--color-neon) 100%);
  color:#101926; padding:8px 22px; border-radius:20px; font-weight:600; font-size:1rem;
  box-shadow:0 2px 12px var(--color-shadow); letter-spacing:.06em;
  border:none;transition:background .18s, color .18s, box-shadow .19s;
  margin-left:12px;
}
.main-nav .cta-btn:hover, .main-nav .cta-btn:focus {
  background:linear-gradient(87deg, var(--color-neon) 65%, var(--color-neon-pink) 100%);
  color:#fff; box-shadow:0 4px 24px rgba(24,66,89,0.21);
}
.mobile-menu-toggle {
  display:none;
  position:relative;
  background:none; color:var(--color-neon);
  font-size:2rem; cursor:pointer; padding:6px 12px;
  border-radius:7px;
  transition:background .17s;
  z-index:49;
  border:0;
}
.mobile-menu-toggle:focus, .mobile-menu-toggle:hover {
  background:rgba(86,207,255,.1);
  outline:none;
}

/* Mobile menu */
.mobile-menu {
  display:flex; flex-direction:column; align-items:flex-start;
  position:fixed; top:0; left:0; width:100vw; height:100vh;
  background:rgba(24,66,89,0.96);
  z-index:50; transform:translateX(-100%);
  transition:transform .36s cubic-bezier(.87,.2,.22,.95);
  box-shadow:0 7px 60px rgba(86,207,255,0.12);
  padding:30px 0 0 0;
}
.mobile-menu.open {
  transform:translateX(0);
}
.mobile-menu-close {
  background:none; border:none; color:var(--color-neon-pink); font-size:2.2rem; padding:6px 22px; align-self:flex-end; margin-right:15px; margin-bottom:12px; cursor:pointer;transition:background .17s,color .18s;
}
.mobile-menu-close:hover, .mobile-menu-close:focus {
  background:rgba(254,106,243,0.12); color:var(--color-neon);
  outline:none;
}
.mobile-nav{
  display:flex; flex-direction:column; gap:20px; align-items:flex-start; padding-left:26px; margin-top:40px;
}
.mobile-nav a{
  color:#fff; font-family:var(--font-display); font-size:1.20em; padding:12px 0 10px 0; font-weight:500; letter-spacing:0.09em; border-bottom:2px solid transparent; width:fit-content; transition:color .15s, border .13s;
}
.mobile-nav a:hover,.mobile-nav a:focus{
  color:var(--color-neon); border-bottom:2px solid var(--color-neon);
}

/* === HERO / CTA / FEATURE === */
.hero {
  background:linear-gradient(110deg, #184259 65%, #265781 100%);
  padding:60px 0 44px 0;
  min-height:320px;
}
.hero .content-wrapper,
.cta .content-wrapper {
  align-items:center; text-align:center; gap:24px;
}
.cta {
  background:linear-gradient(92deg, #184259 91%, #6CB2E2 120%);
  border-radius: 18px; margin-bottom: 44px; padding:54px 20px 54px 20px;
  color:#fff;
}
.cta p{color:#eaf6fb;}
.cta .cta-btn {
  margin-top:12px;
}

/* === SECTIONS === */
.features, .services {
  background:#16283b;
  border-radius:18px;
  margin:34px 0 60px 0;
  box-shadow:0 3px 24px var(--color-shadow);
}
.features .feature-grid,.features .feature-item{
  display:flex; flex-wrap:wrap; gap:24px; justify-content:center;
}
.feature-grid > div {
  background:#101926;
  border-radius:16px; box-shadow:0 1px 10px var(--color-shadow);
  padding:24px; flex:1 1 210px; min-width:230px; max-width:320px;
  margin-bottom:20px; transition:box-shadow .18s,transform .14s;
  display:flex; flex-direction:column; align-items:center; text-align:center; gap:10px;
  border:1.5px solid rgba(86,207,255,0.11);
}
.feature-grid > div:hover {
  box-shadow:0 4px 28px 0 var(--color-neon),0 0.5px 4px 0 rgba(55,131,221,0.12);
  transform:translateY(-3px) scale(1.01);
}
.feature-grid img { height:52px; margin-bottom:10px; filter:drop-shadow(0 2px 8px #55e6fb44); }
.services ul, .text-section ul, .text-section ol{ margin-left:18px; }
.services li, .text-section li {margin-bottom:7px; position:relative; padding-left:20px;}
.services li span, .text-section li span{font-weight:700;color:var(--color-neon);margin-right:6px;}
.services ul li:before, .text-section ul li:before{
  content:'•';color:var(--color-secondary);font-size:1.16em;position:absolute;left:0;top:0.2em;}

/* === FAQ Accordion === */
.faq-accordion > div{
  background:#16283b; color:#DEF2FA; padding:20px 24px; border-radius:14px;
  margin-bottom:20px; box-shadow:0 1px 12px rgba(86,207,255,0.08);
}
.faq-accordion > div h2 { color:var(--color-neon);font-size:1.15em; margin-bottom:10px; }
.faq-accordion > div p { color:#eaf6fb; margin-bottom:0; }

/* === TABLES === */
table {
  background: #16283b;
  width: 100%; border-radius:12px; overflow:hidden; box-shadow:0 2px 16px rgba(86,207,255,0.04);
}
@media (max-width:520px){
  table,thead,tbody,th,td,tr{display:block;width:100%;}
  th, td{padding:12px 6px;}
  th{background:#184259;border-bottom:1px solid #16354b;}
  td{background:#16354b;border-bottom:1px solid #1e3754;}
}

/* === BUTTONS, CTAs === */
.cta-btn, .cookie-banner-btn, .cookie-modal-btn {
  display:inline-block; font-family:var(--font-display); font-size:1rem; letter-spacing:0.05em;
  background:linear-gradient(92deg,#6CB2E2 65%,#55e6fb 110%);
  color:#101926; border:none; border-radius:22px; padding:11px 28px; font-weight:600; box-shadow:0 2px 16px var(--color-shadow);
  transition:background .18s,color .18s, box-shadow .19s,transform .11s; cursor:pointer; text-align:center; margin-top:11px; margin-bottom:0;
}
.cta-btn:hover, .cta-btn:focus,
.cookie-banner-btn:hover, .cookie-modal-btn:hover{
  background:linear-gradient(102deg,#55e6fb 55%,#fe6af3 100%);
  color:#fff; box-shadow:0 4px 42px rgba(86,207,255,.16),0 1.5px 10px 0 var(--color-shadow);transform:scale(1.035);
}

/* === FORMS (if future HTML uses) === */
input,textarea,select{
  background:#f2f6fa; border:1px solid #1a3141; padding:10px 12px; border-radius:9px; margin-bottom:16px; color:#16354b; font-size:1rem; transition:border .12s,box-shadow .13s;
}
input:focus, textarea:focus, select:focus{
  outline:none; border:1.5px solid var(--color-neon); box-shadow:0 0 10px #55e6fb44;
}

/* === TEXT BLOCKS === */
.text-section{
  margin-bottom:24px; width:100%; display:flex; flex-direction:column; gap:10px;
}
.text-section a { color:#55e6fb; border-bottom:1px dotted #55e6fb;  transition:color .18s, border .18s; }
.text-section a:hover{color:#fe6af3; border-bottom:1px solid #fe6af3;}

/* === FOOTER === */
footer {
  background: #0B1320; color:#cce5f7; padding:36px 0 22px 0; border-top:2px solid #184259;
}
footer .container{
  flex-direction:row; gap:34px; align-items:flex-start; justify-content:space-between;
}
footer > .container > div{flex:1 1 220px;}
footer .footer-nav {
  display:flex; flex-direction:column; gap:12px; margin-top:10px; align-items:flex-start; font-size:0.98rem; min-width:170px;
}
footer .footer-nav a{
  color:#6CB2E2; transition:color .18s;
}
footer .footer-nav a:hover,footer .footer-nav a:focus{ color:var(--color-neon-pink);}
footer .footer-contact{
  font-size:0.97em; display:flex; flex-direction:column; gap:5px;
}
footer .footer-contact img{height:20px;width:auto;display:inline;margin-right:7px;margin-bottom:-3px;vertical-align:middle;}
footer .footer-contact span, footer .footer-contact a{display:inline-block;vertical-align:middle; color:#badcf6;}

/* === COOKIE CONSENT BANNER === */
.cookie-banner {
  position:fixed; bottom:0; left:0; width:100%; z-index:110; background:rgba(24,66,89,0.97); color:#fff;
  display:flex; flex-direction:row; align-items:center; justify-content:center;
  padding:24px 18px; box-shadow:0 -2px 18px #10192688;
  gap:20px; font-size:1rem; letter-spacing:0.01em;
  transition:transform .29s cubic-bezier(.85,.22,.19,.96);
}
.cookie-banner.hidden{
  transform:translateY(110%);
  pointer-events:none;
}
.cookie-banner-text{ flex:1 1 auto; min-width:0; }
.cookie-banner-btn{
  margin:0 0 0 16px; min-width:130px;
}
.cookie-banner-btn.reject {
  background:linear-gradient(91deg,#1a3141 61%,#6CB2E2 120%);
  color:#fff;
}
.cookie-banner-btn.settings{
  background:linear-gradient(92deg,#fe6af3 61%,#55e6fb 120%); color:#101926;
}
.cookie-banner-btn.settings:hover, .cookie-banner-btn.settings:focus{ color:#fff;}

/* === COOKIE PREFERENCES MODAL === */
.cookie-modal-bg{
  position:fixed;left:0;top:0;width:100vw;height:100vh;z-index:130;background:rgba(24,66,89,0.89); display:flex;align-items:center;justify-content:center;
  opacity:1;transition:opacity .27s;
}
.cookie-modal-bg[hidden]{ display:none;opacity:0;}
.cookie-modal{
  background:#1c293d; border-radius:16px; box-shadow:0 10px 64px #55e6fb33;
  min-width:340px; max-width:99vw; max-width:440px; width:94%; padding:35px 26px 30px 26px; color:#eaf6fb;
  display:flex;flex-direction:column;gap:18px; align-items:flex-start; position:relative;
  animation:modalSlideIn .34s cubic-bezier(.85,.21,.27,.96);
}
@keyframes modalSlideIn{from{transform:translateY(48px); opacity:0;}to{transform:none;opacity:1;}}
.cookie-modal-title{font-family:var(--font-display);font-size:1.32rem; color:var(--color-neon);margin-bottom:8px;}
.cookie-modal-btns{ display:flex; flex-direction:row; gap:14px; margin-top:14px; }
.cookie-modal-btn{ min-width:100px; padding:11px 19px; background: linear-gradient(92deg, #6CB2E2 65%, #55e6fb 110%); color:#101926; border-radius:20px;
  font-family:var(--font-display); font-weight:600; font-size:1rem;transition:background .17s, color .16s,transform .12s; }
.cookie-modal-btn.cancel{
  background:linear-gradient(95deg, #1a3141 60%, #184259 100%)!important;
  color:#fff;
}
.cookie-modal-btn.cancel:hover, .cookie-modal-btn.cancel:focus{
  background: linear-gradient(91deg, #fe6af3 61%, #55e6fb 120%)!important;
  color: #fff;
}
.cookie-categories{
  display:flex; flex-direction:column; gap:14px; margin-top:7px;
}
.cookie-category{
  display:flex; align-items:center; gap:16px;
  font-family:var(--font-display); font-size:1.03rem;
}
.cookie-category input[type="checkbox"]{width:19px;height:19px;margin-right:7px; cursor:pointer; accent-color:var(--color-neon);}
.cookie-category.essential label{ color:#a6e5f5;}
.cookie-category.essential input{ opacity:.46; pointer-events:none; }

/* === RESPONSIVE FLEXBOX === */
@media (max-width:1120px) {
  .container {max-width:100%;}
}
@media (max-width:992px){
  header .container,footer .container{flex-direction:column;align-items:flex-start;gap:16px;}
  .content-wrapper{max-width:99vw;}
}
@media (max-width:768px){
  .content-grid,.features .feature-grid,.card-container,.text-image-section,.footer-nav{flex-direction:column!important;}
  .text-image-section, .features .feature-grid{align-items:center;}
  .feature-grid > div{max-width:100%; min-width:0;}
  .section, .hero, .cta { padding-left:11px; padding-right:11px; }
  h1{font-size:1.6rem;}h2{font-size:1.22rem;}h3{font-size:1.07rem;}
  .container{padding:0 6px;}
  .footer-contact span{font-size:0.95em;}
  .cta{padding-top:24px;padding-bottom:28px;}
}
@media (max-width:600px){
  /* Nav adjustments */
  .main-nav {display:none!important;}
  .mobile-menu-toggle {display:inline-block!important;}
  .hero{ padding-top:34px; padding-bottom:24px;}
  .testimonial-card{font-size:0.97rem;}
  .feature-grid > div{padding:13px;}
  .footer-contact img{height:16px;margin-bottom:-2px;}
}
@media (min-width:601px){
  .mobile-menu{display:none!important;}
  .mobile-menu-toggle{display:none!important;}
  .main-nav{display:flex!important;}
}

/* === UTILITIES === */
.neon-glow{
  text-shadow: 0 0 6px var(--color-neon), 0 0 16px var(--color-neon-pink), 0 2px 3px rgba(24,66,89,0.12);
}
.sr-only{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden;}

/* === MICRO-ANIMATION === */
a, button, .cta-btn, .cookie-banner-btn, .cookie-modal-btn{
  transition:background .18s, color .18s, box-shadow .22s, border .16s, transform .15s;
}
input,select,textarea{
  transition:border .08s, box-shadow .12s;
}
.feature-grid > div, .card, .testimonial-card{
  transition:box-shadow .18s, transform .13s;
}

/* === Z-INDEX SYSTEM === */
header{z-index:30;}
.mobile-menu{z-index:50;}
.cookie-banner{z-index:110;}
.cookie-modal-bg{z-index:130;}

/* === COLOR CONTRAST TESTIMONIALS === */
.testimonials{ background:#f2f6fa; color:#191f27; padding:44px 0; border-radius:18px; }
.testimonials h2{ color:#184259;}
.testimonials .testimonial-card{ background:#fff; color:#16283b; border-left:4px solid #6CB2E2; }

/* === CLASSES FROM HTML === */
.faq-accordion, .text-section, .testimonial-card, .feature-grid, .content-grid, .card-container, .footer-nav, .footer-contact, .main-nav, .mobile-nav {
  margin-bottom:0; /* Prevent stacking margins */
}

/* === FINISH === */
