
/* =========================================================
   PREMIUM UPGRADE 6.5 — dopracowanie UI/UX portfolio
   Autor: Michał Glezer — warstwa nadpisująca bez przebudowy strony
   ========================================================= */
:root{
  --premium-bg:#08090b;
  --premium-panel:#111318;
  --premium-panel-2:#171a20;
  --premium-text:#f4f4f2;
  --premium-muted:rgba(255,255,255,.72);
  --premium-line:rgba(255,255,255,.12);
  --premium-accent:#f05f40;
  --premium-accent-2:#ffb199;
}

html{scroll-behavior:smooth;}
body{
  background:var(--premium-bg);
  color:var(--premium-text);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:.22;
  z-index:0;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size:54px 54px;
  mask-image:linear-gradient(to bottom, rgba(0,0,0,.85), transparent 70%);
}
body > *{position:relative;z-index:1;}

/* NAV */
.navbar-default{
  border:0;
  background:rgba(6,7,9,.55);
  backdrop-filter:blur(18px);
  box-shadow:0 12px 40px rgba(0,0,0,.22);
}
.navbar-default.affix,
.navbar-default.navbar-shrink{
  background:rgba(8,9,11,.92);
}
.navbar-default .navbar-brand{
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:800;
}
.navbar-default .nav>li>a{
  letter-spacing:.08em;
  font-size:12px;
}

/* HERO */
header{
  isolation:isolate;
  background:
    radial-gradient(circle at 78% 18%, rgba(240,95,64,.24), transparent 28%),
    radial-gradient(circle at 20% 80%, rgba(255,255,255,.08), transparent 30%),
    linear-gradient(rgba(0,0,0,.62), rgba(0,0,0,.8)),
    url('../img/header.png') center center/cover no-repeat;
}
header::before{
  backdrop-filter:blur(1.4px);
  background:linear-gradient(115deg, #f05f40), rgba(0,0,0,.16) 45%, #f05f40);
}
header::after{
  background:
    linear-gradient(to bottom, rgba(0,0,0,.12), rgba(8,9,11,.92)),
    radial-gradient(circle at 50% 45%, transparent 35%, rgba(0,0,0,.82));
}
.hero-kicker{
  margin-bottom:18px;
  color:var(--premium-accent-2);
  font-size:13px;
  font-weight:800;
  letter-spacing:.22em;
  text-transform:uppercase;
}
header .header-content .header-content-inner h1{
  max-width:1000px;
  margin-left:auto;
  margin-right:auto;
  font-size:clamp(38px, 6vw, 78px);
  line-height:1.2;
  letter-spacing:-.045em;
  text-transform:none;
  text-shadow:0 20px 70px rgba(0,0,0,.55);
}
header .header-content .header-content-inner hr{
  width:76px;
  height:3px;
  border:0;
  background:linear-gradient(90deg,var(--premium-accent),var(--premium-accent-2));
  border-radius:999px;
}
.hero-lead{
  max-width:850px;
  color:rgba(255,255,255,.86);
  font-size:clamp(17px, 1.55vw, 22px);
}
.hero-badges{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px;
  margin:0 auto 28px;
}
.hero-badges span{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:7px 14px;
  border:1px solid rgba(255,255,255,.14);
  border-radius: 8px;
  background:rgba(255,255,255,.06);
  color:rgba(255,255,255,.82);
  font-size:12px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.1);
}
.hero-actions{
  display:flex;
  gap:14px;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  margin-bottom:0;
}
.btn{
  border-radius: 8px;
  letter-spacing:.08em;
  box-shadow:0 14px 36px rgba(0,0,0,.28);
  transition:transform .24s ease, box-shadow .24s ease, background .24s ease, border-color .24s ease;
}
.btn:hover{transform:translateY(-2px);box-shadow:0 20px 52px rgba(0,0,0,.36);}
.btn-primary{ background:linear-gradient(135deg,#ff7b55 0%,#f05f40 45%,#b72f1f 100%);
  box-shadow:0 18px 54px rgba(240,95,64,.34), 0 10px 40px rgba(0,0,0,.42);}
.btn-ghost{
  color:#fff;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.22);
}

/* SEKCJE */
section{padding:112px 20px;}
.bg-primary{
  background:
    radial-gradient(circle at 12% 18%, rgba(240,95,64,.16), transparent 28%),
    linear-gradient(145deg,#101216,#070707);
}
.section-heading{
  letter-spacing:-.02em;
  font-weight:800;
}
hr.primary, hr.light{
  width:70px;
  height:3px;
  border:0;
  border-radius:999px;
   background:linear-gradient(145deg, rgba(255,255,255,.60), rgba(255,255,255,.80));
}

/* O MNIE */
.about-layout{
  
  padding-top: 20px;
  padding-bottom: 20px;
  padding-right:20px;
  padding-left:20px;
  border:1px solid var(--premium-line);
  border-radius: 8px;
  background:linear-gradient(145deg, rgba(255,255,255,.08), rgba(255,255,255,.025));
  box-shadow:0 28px 90px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.08);
}
.about-photo{
  border-radius: 8px;
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 28px 80px rgba(0,0,0,.46);
}
#about .text-faded p{
  color:rgba(255,255,255,.84);
  line-height:1.82;
}
.portfolio-btn{text-align:center;margin-top:34px;}

/* PORTFOLIO GRID */
#portfolio{
  background:linear-gradient(180deg,#08090b,#070707);
  padding-top:80px;
  padding-bottom:110px;
}
#portfolio .container-fluid{max-width:1220px;}
#portfolio .portfolio-intro{
  max-width:780px;
  margin:0 auto 46px;
  color:rgba(255,255,255,.64);
  font-size:17px;
  line-height:1.7;
}
#portfolio .no-gutter{margin-left:-14px;margin-right:-14px;}
#portfolio .col-lg-4,
#portfolio .col-sm-6{padding:14px;}
.portfolio-box{
  border-radius: 8px;
  overflow:hidden;
  background:#151820;
  box-shadow:0 18px 55px rgba(0,0,0,.34);
  transform:translateZ(0);
}
.portfolio-box img{
  width:100%;
  min-height:265px;
  object-fit:cover;
  transition:transform .75s cubic-bezier(.2,.8,.2,1), filter .75s ease;
}
.portfolio-box:hover img{transform:scale(1.055);filter:saturate(1.1) contrast(1.05);}
.portfolio-box .portfolio-box-caption{
  background:linear-gradient(180deg, rgba(240,95,64,.9), rgba(7,8,10,.92));
  transition:opacity .35s ease;
}
.project-category{letter-spacing:.14em;text-transform:uppercase;font-size:12px;}
.project-name{font-size:24px;font-weight:800;}

/* GALERIE */
.portfolio-gallery-section{
  background:#070707;
  color:var(--premium-text);
}
.portfolio-gallery{
  padding:28px;
  border:1px solid var(--premium-line);
  border-radius: 8px;
  background:linear-gradient(145deg, rgba(255,255,255,.07), rgba(255,255,255,.025));
  box-shadow:0 24px 80px rgba(0,0,0,.28);
}
.portfolio-gallery .gallery-image-col{
  border-radius: 8px;
  background:linear-gradient(145deg,#ffffff,#ffffff);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.06), 0 18px 45px rgba(0,0,0,.18);
}
.portfolio-gallery .gallery-main-img{
  cursor:zoom-in;
  transition:opacity .3s ease, transform .45s ease;
}
.portfolio-gallery .gallery-main-img:hover{transform:scale(1.012);}
.gallery-desc-col{
  text-align:left;
  color:rgba(255,255,255,.82);
}
.gallery-title{
  color:#fff;
  font-weight:800;
  line-height:1.18;
  margin-top:6px;
}
.gallery-desc,.gallery-extra{
  color:rgba(255,255,255,.72);
  line-height:1.74;
}
.gallery-extra{
  padding-top:16px;
  border-top:1px solid rgba(255,255,255,.11);
  font-weight:600;
}
.portfolio-gallery .gallery-thumb.active{
  border-color:var(--premium-accent);
}
.next-category{text-align:center;margin-top:28px;}

/* LIGHTBOX */
.portfolio-lightbox{
  backdrop-filter:blur(18px);
  background:rgba(0,0,0,.84);
}
.portfolio-lightbox-content{
  border-radius: 8px;
  overflow:hidden;
  box-shadow:0 30px 120px rgba(0,0,0,.7);
}

/* ANIMACJE */
.reveal-up{
  opacity:0;
  transform:translateY(34px);
  transition:opacity .75s ease, transform .75s ease;
}
.reveal-up.is-visible{opacity:1;transform:translateY(0);}

/* STOPKA / KONTAKT */
#contact{
  background:
    radial-gradient(circle at 70% 20%, rgba(240,95,64,.14), transparent 24%),
    linear-gradient(180deg,#090a0d,#050506);
}
.cookie-banner,#cookie-banner{
  border-radius: 8px;
  box-shadow:0 18px 60px rgba(0,0,0,.42);
}

@media (max-width:991px){
  section{padding:88px 18px;}
  .about-layout,.portfolio-gallery{padding:22px;border-radius: 8px;}
  .gallery-desc-col{text-align:center;margin-top:24px;}
}
@media (max-width:767px){
  .navbar-default{background:rgba(8,9,11,.96);}
  header .header-content{padding:0 20px;}
  .hero-actions .btn{width:100%;max-width:280px;}
  .hero-badges{gap:8px;}
  .hero-badges span{font-size:11px;padding:6px 10px;}
  #portfolio .col-lg-4,#portfolio .col-sm-6{padding:10px;}
  .portfolio-box img{min-height:210px;}
  .project-name{font-size:10px;}
}

/* =========================================================
   HERO 6.6 — mocniejszy landing premium
   ========================================================= */
header{
  min-height:100vh;
  background:
    radial-gradient(circle at 75% 18%, rgba(240,95,64,.38), transparent 26%),
    radial-gradient(circle at 20% 72%, rgba(255,255,255,.12), transparent 30%),
    linear-gradient(120deg, rgba(0,0,0,.86), rgba(0,0,0,.48) 48%, rgba(0,0,0,.9)),
    url('../img/header.png') center center/cover no-repeat;
}
header::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px),
    linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(115deg, rgba(0,0,0,.68), rgba(0,0,0,.2) 46%, rgba(0,0,0,.86));
  background-size:72px 72px,72px 72px,auto;
  mask-image:linear-gradient(to bottom, rgba(0,0,0,.95), transparent 88%);
  backdrop-filter:blur(.6px);
}
header::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    radial-gradient(ellipse at 50% 48%, transparent 0 42%, rgba(0,0,0,.76) 82%),
    linear-gradient(to bottom, rgba(0,0,0,.06), rgba(8,9,11,.98));
}
header .header-content{padding-top:56px;}
header .header-content .header-content-inner{
  max-width:1120px;
  padding:34px 28px 28px;
}
.hero-premium-label{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:38px;
  margin:0 auto 24px;
  padding:8px 18px;
  color:#fffff;
  border:1px solid rgba(255,255,255,.18);
  border-radius: 8px;
  background:linear-gradient(135deg, rgba(255,255,255,.12), rgba(255,255,255,.035));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14), 0 16px 60px rgba(0,0,0,.32);
  font-size:12px;
  font-weight:800;
  letter-spacing:.2em;
  text-transform:uppercase;
}
.hero-premium-label::before{
  content:"";
  width:7px;
  height:7px;
  border-radius:999px;
  background:var(--premium-accent);
  box-shadow:0 0 20px rgba(240,95,64,.95);
}
header .header-content .header-content-inner h1{
  max-width:1080px;
  margin-bottom:24px;
  font-size:clamp(42px, 6.6vw, 86px);
  line-height:1.1;
  letter-spacing:-.065em;
  text-transform:none;
  text-wrap:balance;
  background:linear-gradient(180deg,#fff 0%,#f4f0ec 45%,#bcbcbc 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  filter:drop-shadow(0 24px 60px rgba(0,0,0,.62));
}
header .header-content .header-content-inner hr{display:none;}
.hero-lead{
  max-width:880px;
  margin-bottom:28px;
  color:rgba(255,255,255,.82);
  font-size:clamp(17px, 1.45vw, 22px);
  line-height:1.65;
}
.hero-proof{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:12px;
  max-width:920px;
  margin:0 auto 22px;
}
.hero-proof div{
  padding:16px 18px;
  border:1px solid rgba(255,255,255,.14);
  border-radius: 8px;
  background:linear-gradient(145deg, rgba(255,255,255,.1), rgba(255,255,255,.035));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.11), 0 16px 44px rgba(0,0,0,.28);
}
.hero-proof strong{
  display:block;
  color:#fff;
  font-size:clamp(22px, 2.5vw, 32px);
  line-height:1;
  letter-spacing:-.04em;
}
.hero-proof span{
  display:block;
  margin-top:7px;
  color:rgba(255,255,255,.68);
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.hero-badges{margin-bottom:32px;}
.hero-badges span{
  background:rgba(0,0,0,.28);
  border-color:rgba(255,255,255,.16);
}
.hero-actions .btn{
  min-width:190px;
  padding:17px 30px;
}
.hero-actions .btn-primary{
  background:linear-gradient(135deg,#ff7b55 0%,#f05f40 45%,#b72f1f 100%);
  box-shadow:0 18px 54px rgba(240,95,64,.34), 0 10px 40px rgba(0,0,0,.42);
}
.hero-actions .btn-primary:hover{
  box-shadow:0 26px 70px rgba(240,95,64,.45), 0 14px 52px rgba(0,0,0,.48);
}
.hero-scroll-hint{
  position:relative;
  display:inline-block;
  margin-top:34px;
  color:rgba(255,255,255,.5);
  font-size:11px;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.hero-scroll-hint::after{
  content:"";
  display:block;
  width:1px;
  height:34px;
  margin:12px auto 0;
  background:linear-gradient(to bottom, rgba(255,255,255,.55), transparent);
}
.about-layout{
  align-items:center;
}
.about-photo-wrap{
  display:flex;
  justify-content:center;
  align-items:center;
}
.about-photo{
  object-fit:cover;
  aspect-ratio:4/5;
}
.portfolio-btn{
  text-align:center;
  width:100%;
  margin-top:38px;
}
.portfolio-btn .btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:190px;
}
@media (max-width:991px){
  header .header-content .header-content-inner{padding-left:18px;padding-right:18px;}
  .hero-proof{grid-template-columns:repeat(2, minmax(0,1fr));max-width:620px;}
}
@media (max-width:767px){
  header{min-height:100vh;height:auto;}
  header .header-content{padding-top:86px;padding-bottom:48px;}
  .hero-premium-label{font-size:10px;letter-spacing:.14em;padding:8px 13px;}
  header .header-content .header-content-inner h1{font-size:clamp(36px, 11vw, 48px);line-height:.98;}
  .hero-proof{grid-template-columns:1fr;max-width:310px;gap:9px;}
  .hero-proof div{padding:13px 14px;}
  .hero-actions .btn{width:100%;max-width:300px;}
}

/* === FINAL: precyzyjna typografia opisów galerii === */
.portfolio-gallery .gallery-title{
  text-align:center;
}

.portfolio-gallery .gallery-desc-col{
  text-align:left;
}

.portfolio-gallery .gallery-desc,
.portfolio-gallery .gallery-extra{
  text-align:justify;
  text-align-last:left;
  -moz-text-align-last:left;
  text-justify:inter-word;
  hyphens:auto;
  -webkit-hyphens:auto;
  -ms-hyphens:auto;
  overflow-wrap:normal;
  word-break:normal;
  white-space:normal;
  font-family:Arial, sans-serif;
  font-size:15px;
  font-weight:400;
  line-height:1.50;
  letter-spacing:normal;
}

.portfolio-gallery .gallery-extra{
  font-weight:400;
}

#contact .contact-phone a{
  color:#f05f40;
  text-decoration:none;
}

@media (max-width:991px){
  .portfolio-gallery .gallery-desc-col{
    text-align:left;
  }
  .portfolio-gallery .gallery-title{
    text-align:center;
  }
  .portfolio-gallery .gallery-desc,
  .portfolio-gallery .gallery-extra{
    text-align:justify;
    text-align-last:left;
  }
}




/* === FINAL STABLE GALLERY HEIGHT FIX === */

.gallery-main-row{
    height: 440px;
    min-height: 440px;
    align-items: stretch;
}

.gallery-image-col,
.gallery-desc-col{
    height: 440px;
    min-height: 440px;
}

.gallery-main-img{
    width:100%;
    height:100%;
    min-height:100%;
    object-fit: contain;
    display:block;
}

/* opis */
.gallery-desc-col{
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
    overflow:hidden;
}

/* nagłówek */
.gallery-desc-col h3,
.gallery-desc-col h2{
    text-align:center;
}

/* opis justowanie + dzielenie */
.gallery-desc-col p{
    text-align:justify;
    hyphens:auto;
    -webkit-hyphens:auto;
    -ms-hyphens:auto;
    overflow-wrap:break-word;
    word-break:normal;
}

/* mobile */
@media(max-width:768px){

    .gallery-main-row{
        height:auto;
        min-height:auto;
    }

    .gallery-image-col{
        height:320px;
        min-height:320px;
    }

    .gallery-desc-col{
        height:auto;
        min-height:auto;
    }

    .gallery-main-img{
        height:320px;
    }
}

/* Strefa portfolio - hasło */
.portfolio-access-card {
    max-width: 780px;
    margin: 34px auto 70px;
    padding: 40px 36px;
    background: rgba(255,255,255,0.96);
    border: 1px solid rgba(0,0,0,0.08);
    border-radius: 8px;
    box-shadow: 0 24px 70px rgba(0,0,0,0.12);
}
.portfolio-access-intro { margin: 0 0 24px; color: #555; font-size: 17px; line-height: 1.7; }
.portfolio-access-form { display: flex; justify-content: center; align-items: stretch; gap: 12px; margin: 0 auto; }
.portfolio-access-form input[type="password"] { width: min(100%, 330px); min-height: 54px; padding: 0 18px; border: 1px solid rgba(0,0,0,0.14); border-radius: 999px; color: #222; background: #f7f7f7; outline: none; transition: border-color .2s ease, box-shadow .2s ease, background .2s ease; }
.portfolio-access-form input[type="password"]:focus { border-color: #f05f40; background: #fff; box-shadow: 0 0 0 4px rgba(240,95,64,0.13); }
.portfolio-access-message { min-height: 24px; margin: 18px 0 0; font-size: 14px; font-weight: 600; }
.portfolio-access-message.is-error { color: #b00020; }
.portfolio-access-message.is-success { color: #217a3d; }
.portfolio-access-small { margin: 12px 0 0; color: #777; font-size: 14px; }
.portfolio-access-small a { color: #f05f40; }
.portfolio-full-hero { min-height: 100vh; padding: 150px 20px 60px; text-align: center; background: linear-gradient(135deg, #151515 0%, #333 100%); color: #fff; }
.portfolio-full-hero p { max-width: 760px; margin: 18px auto 0; color: rgba(255,255,255,0.78); line-height: 1.7; }
#portfolio-logout { color: #f05f40 !important; }
@media (max-width: 768px) { .portfolio-access-card { margin: 24px 15px 55px; padding: 28px 20px; border-radius: 8px; } .portfolio-access-form { flex-direction: column; align-items: stretch; } .portfolio-access-form input[type="password"] { width: 100%; } .portfolio-access-form .btn { width: 100%; } }

/* POPRAWKA 4K: premium ekran logowania portfolio */
#portfolio {
    padding: clamp(90px, 12vh, 180px) 0 clamp(80px, 12vh, 160px) !important;
    min-height: calc(100vh - 70px);
    display: flex;
    align-items: center;
    background: radial-gradient(circle at 50% 28%, rgba(240,95,64,0.10), rgba(0,0,0,0) 34%), #050607;
}
#portfolio .container-fluid { width: 100%; }
#portfolio .section-heading { color: #f5f5f5; font-size: clamp(34px, 2.2vw, 54px); font-weight: 800; letter-spacing: -0.02em; }
#portfolio .portfolio-intro { max-width: 620px; margin: 0 auto; color: rgba(255,255,255,0.70); font-size: clamp(17px, 1vw, 22px); line-height: 1.65; }
.portfolio-access-card {
    max-width: 720px !important;
    width: min(720px, calc(100vw - 48px));
    margin: clamp(34px, 4vh, 64px) auto 0 !important;
    padding: clamp(34px, 3.3vw, 58px) clamp(28px, 3.2vw, 58px) !important;
    color: #E2E2E2;
    background: linear-gradient(145deg, rgba(20,22,24,0.96), rgba(8,9,11,0.96)) !important;
    border: 1px solid rgba(240,95,64,0.30) !important;
    border-radius: 30px !important;
    box-shadow: 0 42px 110px rgba(0,0,0,0.55), inset 0 1px 0 rgba(255,255,255,0.06) !important;
}
.portfolio-access-intro {
    max-width: 520px;
    margin: 0 auto 30px !important;
    color: rgba(255,255,255,0.86) !important;
    font-size: clamp(17px, 0.95vw, 20px) !important;
    line-height: 1.65 !important;
}
.portfolio-access-form {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    max-width: 560px;
    margin: 0 auto !important;
    align-items: stretch !important;
}
.portfolio-access-form input[type="password"] {
    display: block;
    width: 100% !important;
    height: 64px;
    min-height: 64px !important;
    padding: 0 24px !important;
    color: #fff !important;
    font-size: 17px;
    border: 1px solid rgba(240,95,64,0.72) !important;
    border-radius: 12px !important;
    background: rgba(255,255,255,0.055) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.04), 0 14px 38px rgba(0,0,0,0.20);
}
.portfolio-access-form input[type="password"]::placeholder { color: rgba(255,255,255,0.42); }
.portfolio-access-form input[type="password"]:focus {
    border-color: #ff795c !important;
    background: rgba(255,255,255,0.08) !important;
    box-shadow: 0 0 0 4px rgba(240,95,64,0.18), 0 18px 44px rgba(0,0,0,0.26) !important;
}
.portfolio-access-form .btn {
    width: 100% !important;
    height: 64px;
    min-height: 64px;
    border-radius: 12px !important;
    font-size: 15px;
    letter-spacing: 0.12em;
    box-shadow: 0 22px 42px rgba(240,95,64,0.28) !important;
}
.portfolio-access-message { margin-top: 16px !important; color: rgba(255,255,255,0.82); }
.portfolio-access-message.is-error { color: #ff8a76 !important; }
.portfolio-access-message.is-success { color: #7fe0a0 !important; }
.portfolio-access-small { margin-top: 26px !important; color: rgba(255,255,255,0.62) !important; }
.portfolio-access-small a { color: #ff6b4a !important; }
@media (max-width: 768px) {
    #portfolio { min-height: auto; padding: 86px 0 72px !important; display: block; }
    .portfolio-access-card { width: calc(100vw - 30px); padding: 30px 20px !important; border-radius: 24px !important; }
    .portfolio-access-form input[type="password"], .portfolio-access-form .btn { height: 58px; min-height: 58px !important; }
}
body::before {
  display: none !important;
}

header::before {
  background: linear-gradient(115deg, rgba(0,0,0,.68), rgba(0,0,0,.2) 46%, rgba(0,0,0,.86)) !important;
  background-size: auto !important;
}
/* === FIX 2026-05-14: przyciski jak w referencji po lewej === */
header .hero-actions{
  gap:16px !important;
  align-items:center !important;
  justify-content:center !important;
  flex-wrap:wrap !important;
}
header .hero-actions .btn,
header .hero-actions .btn.btn-xl{
  width:270px !important;
  min-width:270px !important;
  max-width:270px !important;
  height:58px !important;
  min-height:58px !important;
  padding:0 28px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:8px !important;
  font-size:15px !important;
  line-height:1 !important;
  font-weight:800 !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
  box-sizing:border-box !important;
}
header .hero-actions .btn-primary{
  color:#fff !important;
  border:1px solid rgba(255,255,255,.10) !important;
  background:linear-gradient(135deg,#ff744d 0%,#f05f40 48%,#c83a28 100%) !important;
  box-shadow:0 22px 56px rgba(240,95,64,.28), 0 12px 42px rgba(0,0,0,.42) !important;
}
header .hero-actions .btn-ghost,
header .hero-actions .btn-default.btn-ghost{
  color:#fff !important;
  background:rgba(255,255,255,.055) !important;
  border:1px solid rgba(255,255,255,.20) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08), 0 14px 36px rgba(0,0,0,.28) !important;
}
header .hero-actions .btn-ghost:hover,
header .hero-actions .btn-ghost:focus,
header .hero-actions .btn-default.btn-ghost:hover,
header .hero-actions .btn-default.btn-ghost:focus{
  color:#fff !important;
  background:rgba(255,255,255,.085) !important;
  border-color:rgba(255,255,255,.34) !important;
  outline:none !important;
}
header .hero-actions .btn:focus,
header .hero-actions .btn:active,
header .hero-actions .btn:active:focus{
  outline:none !important;
  box-shadow:0 18px 48px rgba(0,0,0,.32) !important;
}

/* przycisk w panelu hasła/logowania nie narusza CTA na górze */
.portfolio-lock-form .btn,
.portfolio-access-form .btn{
  height:54px !important;
  border-radius:8px !important;
  padding:0 28px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  letter-spacing:.11em !important;
  font-weight:800 !important;
}

@media (max-width:767px){
  header .hero-actions{gap:12px !important;}
  header .hero-actions .btn,
  header .hero-actions .btn.btn-xl{
    width:100% !important;
    min-width:0 !important;
    max-width:300px !important;
    height:56px !important;
  }
}
button:focus,
button:active,
.btn:focus,
.btn:active,
a:focus,
a:active {
    outline: none !important;
    box-shadow: none !important;
    -webkit-tap-highlight-color: transparent !important;
}

/* FORCE PORTFOLIO CARDS RADIUS 8PX */
.portfolio-box,
.portfolio-item,
.portfolio-card,
.portfolio-box img,
.portfolio-item img,
.portfolio-card img,
#portfolio img,
#portfolio .portfolio-box,
#portfolio .portfolio-item,
#portfolio .portfolio-card,
.clients-portfolio img,
.clients-portfolio .portfolio-box,
.clients-portfolio .portfolio-item,
.clients-portfolio .portfolio-card {
    border-radius: 8px !important;
}


/* FORCE THUMBNAILS RADIUS 2PX */
.thumbnail,
.thumbnails img,
.gallery-thumb,
.gallery-thumbnails img,
.thumb,
.thumb img,
.portfolio-thumbnails img,
.portfolio-thumb img,
.swiper-slide img,
.gallery-nav img {
    border-radius: 2px !important;
}


/* FINAL GALLERY THUMB FIX */
.gallery-thumb,
.gallery-thumb img,
.gallery-thumbnails img,
.thumb,
.thumb img,
.swiper-slide,
.swiper-slide img,
.slick-slide img,
.portfolio-gallery-thumb,
.portfolio-gallery-thumb img {
    border-radius: 2px !important;
    overflow: hidden !important;
}

/* thin gray border same as gallery */
.gallery-thumb,
.thumb,
.swiper-slide,
.slick-slide,
.portfolio-gallery-thumb {
    border: 1px solid rgba(120,120,120,0.55) !important;
    box-shadow: none !important;
}

/* remove orange/red border */
.gallery-thumb.active,
.thumb.active,
.swiper-slide-active,
.slick-current,
.slick-active {
    border: 1px solid rgba(120,120,120,0.55) !important;
    box-shadow: none !important;
}


/* portfolio-btn-spacing-fix */
.hero-buttons,
.cta-buttons,
.about-buttons{
display:flex;
gap:24px;
flex-wrap:wrap;
}

@media(max-width:768px){
.hero-buttons,
.cta-buttons,
.about-buttons{
gap:14px;
}
}


/* FIX: brak przycinania liter w hero */
header .header-content .header-content-inner h1{
    line-height:1.28 !important;
    padding-bottom:0.18em !important;
    overflow:visible !important;
}
