/* ==========================================================================
   Edyta theme - glowny arkusz stylow
   Autor: mgkreacja
   ========================================================================== */

:root{
  --page-bg:#ffffff;
  --bg:#fdf8f4;
  --bg-soft:#faf1e9;
  --card:#ffffff;
  --card-soft:#fff9f3;
  --sage:#8ba888;
  --sage-dark:#6f8f6d;
  --terracotta:#d98e73;
  --terracotta-dark:#c67555;
  --gold:#bd9a4f;
  --ink:#3c342e;
  --ink-soft:#6b6058;
  --line:#ece0d6;
  --whatsapp:#25D366;
  --messenger:#0084FF;
  --radius:24px;
  --shadow: 0 20px 50px -25px rgba(60,52,46,0.25);
  --hero-glow-1: rgba(217,142,115,0.32);
  --hero-glow-2: rgba(139,168,136,0.22);
  --hero-glow-3: rgba(189,154,79,0.18);
  --hero-base: var(--bg);
  --color-scheme: light;
}

/* ===== TRYB CIEMNY ===== */
html[data-theme="dark"]{
  --page-bg:#191510;
  --bg:#1e1912;
  --bg-soft:#251f17;
  --card:#2a231b;
  --card-soft:#2e271d;
  --ink:#f2ece3;
  --ink-soft:#c3b8aa;
  --line:#3c3225;
  --shadow: 0 20px 50px -20px rgba(0,0,0,0.6);
  --hero-glow-1: rgba(217,142,115,0.16);
  --hero-glow-2: rgba(139,168,136,0.13);
  --hero-glow-3: rgba(189,154,79,0.1);
  --hero-base: var(--bg);
  --color-scheme: dark;
}

html{color-scheme:var(--color-scheme);}

/* Plynne przejscie miedzy jasnym a ciemnym motywem */
body, header, footer, section, .wrap, .widget-card, .service-card, .post-card, .edyta-comment-card,
.faq-item, .qa-form-wrap, .about-photo, .about-page-photo, .masonry-item, .floating-card, .hero-badge,
input, textarea, .btn, .step .num, nav#site-navigation{
  transition: background-color .3s ease, color .3s ease, border-color .3s ease, box-shadow .3s ease;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Nunito', sans-serif;
  background:var(--page-bg);
  color:var(--ink);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{font-family:'Fraunces', serif; font-weight:600; letter-spacing:-1px;}
a{text-decoration:none; color:inherit;}
img{max-width:100%; display:block;}
ul{list-style:none;}
.wrap{max-width:1180px; margin:0 auto; padding:0 28px;}
section{padding:96px 0;}

.skip-link{
  position:absolute; left:-9999px; top:0; z-index:999; background:var(--card); color:var(--ink);
  padding:12px 20px; border-radius:0 0 10px 0;
}
.skip-link:focus{left:0;}

.eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-size:13px; font-weight:700; letter-spacing:1.6px; text-transform:uppercase;
  color:var(--sage-dark); margin-bottom:16px;
}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--terracotta);display:inline-block;border-radius:2px;}

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:16px 30px; border-radius:100px; font-weight:700; font-size:15.5px;
  transition:.25s ease; cursor:pointer; border:none;
}
.btn-primary{background:var(--terracotta); color:#fff; box-shadow:0 14px 30px -12px rgba(217,142,115,0.65);}
.btn-primary:hover{background:var(--terracotta-dark); transform:translateY(-2px);}
.btn-outline{background:transparent; color:var(--ink); border:1.5px solid var(--ink); }
.btn-outline:hover{background:var(--ink); color:#fff;}
.btn-contact{padding:15px 28px;}
.btn-contact svg{width:30px; height:30px; flex-shrink:0;}
.btn-whatsapp{background:var(--whatsapp); color:#fff; box-shadow:0 14px 30px -12px rgba(37,211,102,0.55);}
.btn-whatsapp:hover{background:#1fb959; transform:translateY(-2px);}
.btn-messenger{background:var(--messenger); color:#fff; box-shadow:0 14px 30px -12px rgba(0,132,255,0.55);}
.btn-messenger:hover{background:#0070dd; transform:translateY(-2px);}

/* ===== HEADER ===== */
header{
  position:fixed; top:0; left:0; right:0; width:100%; z-index:95;
  background:transparent;
  border-bottom:1px solid transparent;
  box-shadow:none;
  transition:background .6s ease, border-color .6s ease, box-shadow .6s ease, backdrop-filter .6s ease;
}
header.is-scrolled{
  background:rgba(253,248,244,0.9); backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
  box-shadow:0 10px 30px -20px rgba(60,52,46,0.35);
}
.nav{display:flex; align-items:center; justify-content:space-between; padding:12px 28px; gap:20px;}
.mobile-nav-head{display:none;}
.logo{display:flex; align-items:center; gap:10px; font-family:'Fraunces',serif; font-size:26.4px; font-weight:700; color:var(--ink); flex-shrink:0;}
.logo img{max-height:44px; width:auto;}
.logo-svg{height:58px; width:auto; max-height:58px;}
.footer-logo{height:34px; max-height:34px; filter:brightness(0) invert(1); opacity:0.95;}
.logo-mark{
  width:38px; height:38px; border-radius:50%; background:linear-gradient(135deg,var(--sage),var(--terracotta));
  display:flex; align-items:center; justify-content:center; color:#fff; font-size:16px; font-weight:700;
}
#primary-menu{display:flex; gap:22px; list-style:none;}
#primary-menu a{display:flex; align-items:center; font-weight:600; font-size:14px; color:var(--ink-soft); transition:.2s; white-space:nowrap;}
#primary-menu a:hover{color:var(--terracotta-dark);}
#primary-menu li{position:relative;}
#primary-menu .sub-menu{
  list-style:none; position:absolute; top:100%; left:0; margin-top:14px; min-width:230px;
  background:var(--card); border:1px solid var(--line); border-radius:14px; box-shadow:var(--shadow);
  padding:10px; display:flex; flex-direction:column; gap:2px; z-index:90;
  opacity:0; visibility:hidden; transform:translateY(6px); transition:opacity .2s, transform .2s, visibility .2s;
}
#primary-menu li.menu-item-has-children:hover > .sub-menu,
#primary-menu li.menu-item-has-children:focus-within > .sub-menu,
#primary-menu li.sub-menu-open > .sub-menu{
  opacity:1; visibility:visible; transform:translateY(0);
}
#primary-menu .sub-menu li{width:100%;}
#primary-menu .sub-menu a{
  display:block; padding:9px 12px; border-radius:8px; font-size:13.5px; font-weight:600;
  color:var(--ink-soft); white-space:nowrap;
}
#primary-menu .sub-menu a:hover{background:var(--bg); color:var(--terracotta-dark);}
#primary-menu .sub-menu .sub-menu{top:-10px; left:100%; margin-top:0; margin-left:8px;}
#primary-menu > li.menu-item-has-children > a{gap:5px;}
#primary-menu > li.menu-item-has-children > a::after{
  content:""; width:6px; height:6px; border:solid currentColor; border-width:0 2px 2px 0;
  transform:rotate(45deg); margin-top:-3px; opacity:.6;
}
#primary-menu .sub-menu li.menu-item-has-children > a{display:flex; align-items:center; justify-content:space-between; gap:8px;}
#primary-menu .sub-menu li.menu-item-has-children > a::after{
  content:""; width:6px; height:6px; border:solid currentColor; border-width:0 2px 2px 0;
  transform:rotate(-45deg); opacity:.6; flex-shrink:0;
}
.submenu-toggle{display:none;}
.nav-cta{display:flex; align-items:center; gap:12px; flex-shrink:0;}
.nav-cta .btn-primary{padding:11px 20px; font-size:13.5px; white-space:nowrap;}
.burger{display:none; flex-direction:column; justify-content:center; gap:5px; width:34px; height:34px; background:none; border:none; cursor:pointer; padding:0;}
.burger span{display:block; width:100%; height:2px; background:var(--ink); border-radius:2px; transition:.25s; pointer-events:none;}
.burger.is-active span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.burger.is-active span:nth-child(2){opacity:0;}
.burger.is-active span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* ===== HERO ===== */
.hero{
  position:relative; overflow:hidden;
  padding:150px 0 100px;
  background:
    radial-gradient(circle at 85% 10%, var(--hero-glow-1) 0%, transparent 45%),
    radial-gradient(circle at 10% 90%, var(--hero-glow-2) 0%, transparent 50%),
    radial-gradient(circle at 60% 100%, var(--hero-glow-3) 0%, transparent 55%),
    var(--hero-base);
}
.hero .wrap{position:relative; z-index:1; display:grid; grid-template-columns:1.05fr 0.95fr; gap:60px; align-items:center;}
.hero-badge{
  display:inline-flex; align-items:center; gap:8px; background:var(--card); border:1px solid var(--line);
  padding:8px 16px 8px 8px; border-radius:100px; font-size:13.5px; font-weight:700; color:var(--sage-dark);
  box-shadow:var(--shadow); margin-bottom:26px;
}
.hero-badge .dot{width:26px;height:26px;border-radius:50%; background:var(--sage); color:#fff; display:flex; align-items:center; justify-content:center; font-size:13px;}
.hero h1{font-size:55.2px; line-height:1.18; color:var(--ink); margin-bottom:22px;}
.hero h1 em{font-style:italic; font-weight:600; color:var(--terracotta-dark); position:relative;}
.hero p.lead{font-size:18px; color:var(--ink-soft); max-width:520px; margin-bottom:34px;}
.hero-ctas{display:flex; flex-wrap:wrap; gap:14px; margin-bottom:38px;}
.hero-trust{display:flex; gap:26px; flex-wrap:wrap; width:100%;}
.hero-trust div{display:flex; flex-direction:column; align-items:flex-start; gap:8px; flex:1; min-width:130px;}
.hero-trust-ico{
  width:40px; height:40px; border-radius:12px; background:var(--card); border:1px solid var(--line);
  display:flex; align-items:center; justify-content:center; box-shadow:var(--shadow); flex-shrink:0;
}
.hero-trust-ico svg{width:19px; height:19px;}
.hero-trust-ico.ico-diet{color:var(--sage-dark);}
.hero-trust-ico.ico-psycho{color:var(--terracotta-dark);}
.hero-trust-ico.ico-farma{color:var(--gold);}
.hero-trust span:last-child{font-size:12.5px; color:var(--ink-soft); font-weight:700; line-height:1.35;}

.hero-photo-wrap{position:relative; display:flex; justify-content:center; align-items:center; min-height:480px; perspective:1200px;}
.hero-photo-stack{position:relative; width:100%; max-width:520px; aspect-ratio:1/1;}
.hero-photo-back{
  position:absolute; inset:-4%; z-index:0; border-radius:50%;
  background:linear-gradient(150deg, #c9dbc6 0%, #ecd9a8 55%, #f2c9b6 100%);
  opacity:0.7;
  animation:heroBlobPeek 10s linear infinite;
  will-change:transform;
}
.hero-photo{
  position:absolute; inset:0; z-index:1;
  width:100%; height:100%; border-radius:50%;
  background: linear-gradient(160deg,#e9d9c8,#dcbfa5 45%, #c99f82);
  box-shadow:var(--shadow); overflow:hidden;
  display:flex; align-items:flex-end; justify-content:center;
}
.hero-photo img{width:100%; height:100%; object-fit:cover; border-radius:50%;}
.hero-photo svg{width:78%; opacity:0.95;}
.hero-photo .grain{position:absolute; inset:0; border-radius:50%; background:radial-gradient(circle at 30% 20%, rgba(255,255,255,0.25), transparent 60%);}

@keyframes heroBlobPeek{
  0%      {transform:translate(10px,0);}
  8.33%   {transform:translate(8.66px,5px);}
  16.67%  {transform:translate(5px,8.66px);}
  25%     {transform:translate(0,10px);}
  33.33%  {transform:translate(-5px,8.66px);}
  41.67%  {transform:translate(-8.66px,5px);}
  50%     {transform:translate(-10px,0);}
  58.33%  {transform:translate(-8.66px,-5px);}
  66.67%  {transform:translate(-5px,-8.66px);}
  75%     {transform:translate(0,-10px);}
  83.33%  {transform:translate(5px,-8.66px);}
  91.67%  {transform:translate(8.66px,-5px);}
  100%    {transform:translate(10px,0);}
}

.floating-card{
  position:absolute; z-index:2; background:var(--card); border-radius:18px; box-shadow:var(--shadow);
  padding:14px 18px; display:flex; align-items:center; gap:12px; font-weight:700; font-size:13.5px;
  will-change:transform;
}
.floating-card .ico{width:34px; height:34px; border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:16px; flex-shrink:0;}

/* Karty na zewnatrz kola - zywy ruch (jak pierwotnie), ale wystarczajaco daleko od srodka, zeby nie zaslanialy twarzy */
.floating-card.card-1{top:-6px; left:-56px; animation:floatCard1 12s ease-in-out infinite;}
.floating-card.card-2{bottom:0; right:-60px; animation:floatCard2 14s ease-in-out infinite; animation-delay:.8s;}
.floating-card.card-3{top:46px; right:-68px; animation:floatCard3 15s ease-in-out infinite; animation-delay:1.5s;}
.floating-card.card-4{bottom:52px; left:-70px; animation:floatCard4 13s ease-in-out infinite; animation-delay:.4s;}

@keyframes floatCard1{
  0%   {transform:translate(0,0) translateZ(0) rotate(0deg) scale(1);}
  20%  {transform:translate(38px,-30px) translateZ(30px) rotate(3deg) scale(1.06);}
  40%  {transform:translate(60px,10px) translateZ(-40px) rotate(-4deg) scale(.9);}
  60%  {transform:translate(24px,34px) translateZ(-20px) rotate(2deg) scale(.94);}
  80%  {transform:translate(-24px,14px) translateZ(15px) rotate(-2deg) scale(1.03);}
  100% {transform:translate(0,0) translateZ(0) rotate(0deg) scale(1);}
}
@keyframes floatCard2{
  0%   {transform:translate(0,0) translateZ(0) rotate(0deg) scale(1);}
  20%  {transform:translate(-40px,24px) translateZ(-35px) rotate(-3deg) scale(.9);}
  40%  {transform:translate(-16px,-24px) translateZ(24px) rotate(4deg) scale(1.05);}
  60%  {transform:translate(30px,-40px) translateZ(-16px) rotate(-2deg) scale(.95);}
  80%  {transform:translate(46px,8px) translateZ(15px) rotate(3deg) scale(1.03);}
  100% {transform:translate(0,0) translateZ(0) rotate(0deg) scale(1);}
}
@keyframes floatCard3{
  0%   {transform:translate(0,0) translateZ(-35px) rotate(0deg) scale(.92);}
  25%  {transform:translate(-35px,30px) translateZ(20px) rotate(-4deg) scale(1.05);}
  50%  {transform:translate(-60px,-14px) translateZ(-50px) rotate(3deg) scale(.88);}
  75%  {transform:translate(-14px,-35px) translateZ(12px) rotate(-3deg) scale(1.02);}
  100% {transform:translate(0,0) translateZ(-35px) rotate(0deg) scale(.92);}
}
@keyframes floatCard4{
  0%   {transform:translate(0,0) translateZ(-28px) rotate(0deg) scale(.94);}
  25%  {transform:translate(40px,-24px) translateZ(20px) rotate(4deg) scale(1.05);}
  50%  {transform:translate(56px,20px) translateZ(-40px) rotate(-3deg) scale(.9);}
  75%  {transform:translate(16px,35px) translateZ(12px) rotate(3deg) scale(1.02);}
  100% {transform:translate(0,0) translateZ(-28px) rotate(0deg) scale(.94);}
}
@media (prefers-reduced-motion: reduce){
  .floating-card, .hero-photo-back{animation:none !important;}
}

/* ===== O MNIE ===== */
.about{background:var(--card);}
.about .wrap{display:grid; grid-template-columns:0.85fr 1.15fr; gap:70px; align-items:center;}
.about-photo{
  border-radius:28px; aspect-ratio:1/1.05; background:linear-gradient(150deg,#f1e3d5,#dcc2a6);
  box-shadow:var(--shadow); position:relative; overflow:hidden; display:flex; align-items:flex-end;
}
.about-photo img{width:100%; height:100%; object-fit:cover;}
.about-photo svg{width:70%; margin:0 auto 0;}
.about h2{font-size:43.2px; color:var(--ink); margin-bottom:20px;}
.about p{color:var(--ink-soft); font-size:16.5px; margin-bottom:16px;}
.creds{display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:28px;}
.cred{
  background:var(--bg-soft); border-radius:16px; padding:18px 20px; display:flex; gap:14px; align-items:flex-start;
  border:1px solid var(--line);
}
.cred .ico{
  width:40px; height:40px; border-radius:12px; background:var(--sage); color:#fff; flex-shrink:0;
  display:flex; align-items:center; justify-content:center; font-size:18px;
}
.cred h4{font-size:18px; margin-bottom:3px; font-family:'Nunito',sans-serif; font-weight:800;}
.cred p{font-size:13.5px; margin:0; color:var(--ink-soft);}

/* ===== USLUGI ===== */
.services{background:var(--bg-soft);}
.section-head{text-align:center; max-width:640px; margin:0 auto 56px;}
.section-head h1, .section-head h2{font-size:43.2px; color:var(--ink); margin-bottom:14px;}
.section-head p{color:var(--ink-soft); font-size:16.5px;}
.services-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:26px;}
.service-card{
  background:var(--card); border-radius:22px; padding:36px 30px; box-shadow:var(--shadow);
  border:1px solid var(--line); transition:.25s;
}
.service-card:hover{transform:translateY(-6px);}
.service-card .ico{
  width:56px; height:56px; border-radius:16px; display:flex; align-items:center; justify-content:center;
  font-size:26px; margin-bottom:20px; color:#fff;
}
.service-card:nth-child(1) .ico{background:var(--sage);}
.service-card:nth-child(2) .ico{background:var(--terracotta);}
.service-card:nth-child(3) .ico{background:#c9a15f;}
.service-card:nth-child(4) .ico{background:var(--sage-dark);}
.service-card h3{font-size:24px; margin-bottom:10px; color:var(--ink);}
.service-card p{color:var(--ink-soft); font-size:15px;}

/* ===== JAK PRACUJEMY ===== */
.process{background:var(--card);}
.steps{display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin-top:20px;}
.step{position:relative; padding:30px 22px; text-align:center;}
.step .num{
  width:54px; height:54px; border-radius:50%; background:var(--bg-soft); border:2px solid var(--terracotta);
  color:var(--terracotta-dark); font-family:'Fraunces',serif; font-weight:700; font-size:24px;
  display:flex; align-items:center; justify-content:center; margin:0 auto 18px;
}
.step h4{font-size:19.2px; margin-bottom:8px;}
.step p{font-size:14px; color:var(--ink-soft);}
.step:not(:last-child)::after{
  content:'\2192'; position:absolute; top:57px; right:-14px; transform:translate(50%,-50%);
  font-size:20px; color:var(--terracotta); opacity:0.3; pointer-events:none;
}

/* ===== BLOG ===== */
.blog{background:var(--bg-soft);}
.blog-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:28px;}
.post-card{background:var(--card); border-radius:22px; overflow:hidden; box-shadow:var(--shadow); border:1px solid var(--line); transition:.25s;}
.post-card:hover{transform:translateY(-6px);}
.post-thumb{height:170px; display:flex; align-items:center; justify-content:center; font-size:34px; color:#fff; overflow:hidden;}
.post-thumb.p1{background:linear-gradient(135deg,var(--sage),#a9c2a6);}
.post-thumb.p2{background:linear-gradient(135deg,var(--terracotta),#e8ad91);}
.post-thumb.p3{background:linear-gradient(135deg,#c9a15f,#e3c78c);}
.post-body{padding:24px 24px 28px;}
.post-tag{font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:0.6px; color:var(--sage-dark); margin-bottom:10px; display:block;}
.post-body h3{font-size:22.2px; margin-bottom:10px; color:var(--ink); line-height:1.35;}
.post-body p{font-size:14px; color:var(--ink-soft); margin-bottom:16px;}
.post-link{font-size:13.5px; font-weight:800; color:var(--terracotta-dark);}
.blog-more{text-align:center; margin-top:46px;}

/* ===== OPINIE ===== */
.testimonials{background:var(--bg);}
.test-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
.test-card{background:var(--bg-soft); border-radius:22px; padding:32px 28px; border:1px solid var(--line);}
.stars{color:var(--terracotta); font-size:15px; margin-bottom:14px; letter-spacing:2px;}
.test-card p{font-size:15px; color:var(--ink-soft); margin-bottom:20px; font-style:italic;}
.test-author{display:flex; align-items:center; gap:12px;}
.test-avatar{width:42px; height:42px; border-radius:50%; background:var(--sage); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:800; font-family:'Fraunces',serif;}
.test-author strong{display:block; font-size:14.5px;}
.test-author span{font-size:12.5px; color:var(--ink-soft);}

/* ===== KONTAKT / KONSULTACJA ===== */
.contact{
  background:linear-gradient(160deg,#6f8f6d,#5c7a5a);
  color:#fff; position:relative; overflow:hidden;
}
.contact::before{
  content:""; position:absolute; width:420px; height:420px; border-radius:50%;
  background:rgba(255,255,255,0.06); top:-160px; right:-140px;
}
.contact .wrap{position:relative; display:grid; grid-template-columns:1.1fr 0.9fr; gap:60px; align-items:center;}

/* Formularz kontaktowy (Contact Form 7) w sekcji Kontakt. */
.contact-form-wrap{
  background:rgba(255,255,255,0.1); border:1px solid rgba(255,255,255,0.25); backdrop-filter:blur(6px);
  border-radius:22px; padding:34px;
}
.contact-form-wrap h4{font-size:18px; text-transform:uppercase; letter-spacing:1px; margin-bottom:20px; color:#f3e6da;}
.contact .wpcf7-form{display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:0;}
.contact .wpcf7-form > p{grid-column:1 / -1; margin:0;}
.contact .wpcf7-form > p:nth-of-type(1),
.contact .wpcf7-form > p:nth-of-type(2){grid-column:span 1;}
.contact .wpcf7-form label.field{position:relative; display:block; margin:0; width:100%;}
.contact .field-label{
  position:absolute; top:9px; left:19px; font-size:10px; font-weight:700; text-transform:uppercase;
  letter-spacing:0.5px; color:rgba(255,255,255,0.6); pointer-events:none; z-index:1;
}
.contact .wpcf7-form-control-wrap{display:block;}
.contact .wpcf7-form-control{
  width:100%; padding:25px 18px 9px; border-radius:12px; font-family:inherit; font-size:15px; font-weight:400;
  background:rgba(255,255,255,0.12); border:1px solid rgba(255,255,255,0.3); color:#fff; transition:.2s ease;
}
.contact .wpcf7-form-control::placeholder{color:rgba(255,255,255,0.4);}
.contact .wpcf7-form-control:focus{outline:none; background:rgba(255,255,255,0.2); border-color:#fff;}
.contact textarea.wpcf7-form-control{min-height:90px; resize:vertical; padding-top:27px;}
.contact .wpcf7-submit{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:16px 34px; border-radius:100px; font-weight:700; font-size:15.5px;
  background:var(--terracotta); color:#fff; border:none; cursor:pointer; transition:.25s ease;
}
.contact .wpcf7-submit:hover{background:var(--terracotta-dark); transform:translateY(-2px);}
.contact .wpcf7-spinner{margin-left:12px;}
.contact .wpcf7-response-output{
  display:none; grid-column:1 / -1; border:1px solid transparent; border-radius:12px; padding:13px 18px; margin:2px 0 0;
  font-size:13.5px; font-weight:600; text-align:center; color:#fff;
}
.contact form.sent .wpcf7-response-output,
.contact form.invalid .wpcf7-response-output,
.contact form.unaccepted .wpcf7-response-output,
.contact form.payment-required .wpcf7-response-output,
.contact form.spam .wpcf7-response-output,
.contact form.aborted .wpcf7-response-output{display:block;}
.contact form.sent .wpcf7-response-output{border-color:#8fce9a; background:rgba(143,206,154,0.15);}
.contact form.invalid .wpcf7-response-output, .contact form.unaccepted .wpcf7-response-output, .contact form.payment-required .wpcf7-response-output{
  border-color:#e8a4a4; background:rgba(232,164,164,0.15);
}
.contact .wpcf7-not-valid-tip{
  display:inline-block; margin-top:8px; padding:5px 12px; border-radius:20px;
  background:rgba(232,164,164,0.2); border:1px solid rgba(232,164,164,0.45);
  color:#ffe6e6; font-size:11.5px; font-weight:700; line-height:1.4;
}
.contact .wpcf7-form-control.wpcf7-not-valid{border-color:#e8a4a4;}
.contact .eyebrow{color:#e9d9c8;}
.contact-ctas{display:flex; flex-wrap:wrap; gap:16px;}
.contact .eyebrow::before{background:#fff;}
.contact h2{font-size:43.2px; margin-bottom:18px;}
.contact p{color:rgba(255,255,255,0.88); font-size:16.5px; margin-bottom:30px; max-width:480px;}

/* ===== FOOTER ===== */
#colophon{background:#332b25; color:#cabfb5; padding:60px 0 26px;}
.footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; margin-bottom:44px;}
#colophon h4{color:#fff; font-family:'Nunito',sans-serif; font-size:18px; margin-bottom:18px;}
#colophon .logo{color:#fff;}
#colophon p.desc{font-size:14px; line-height:1.7; margin-top:14px; max-width:280px;}
#colophon ul{list-style:none;}
#colophon ul li{margin-bottom:11px; font-size:14px;}
#colophon ul a:hover{color:#fff;}
.social-row{display:flex; gap:12px; margin-top:16px;}
.social-row a{width:38px; height:38px; border-radius:50%; background:rgba(255,255,255,0.08); display:flex; align-items:center; justify-content:center; font-size:15px;}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.1); padding-top:24px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:10px; font-size:13px;}
.footer-bottom > span:first-child{text-align:left;}
.footer-bottom > span:nth-child(2){text-align:center;}
.footer-bottom > span:last-child{text-align:right;}
@media (max-width:700px){
  .footer-bottom{grid-template-columns:1fr; text-align:center; gap:14px;}
  .footer-bottom > span:first-child, .footer-bottom > span:nth-child(2), .footer-bottom > span:last-child{text-align:center;}
}
.widget{margin-top:20px;}

/* WhatsApp floating button */
.float-fab{position:fixed; bottom:26px; right:26px; z-index:60;}
.float-fab-toggle{
  width:60px; height:60px; border-radius:50%; background:var(--terracotta); color:#fff; border:none; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 16px 30px -10px rgba(217,142,115,0.7); animation:pulse 2.4s infinite; transition:transform .25s ease, background .2s ease;
}
.float-fab-toggle:hover{background:var(--terracotta-dark);}
.float-fab-toggle svg{width:28px; height:28px;}
.float-fab.is-open .float-fab-toggle{transform:rotate(-135deg);}
.float-fab-options{
  position:absolute; bottom:74px; right:5px; display:flex; flex-direction:column; align-items:center; gap:14px;
  opacity:0; visibility:hidden; transform:translateY(12px); transition:opacity .25s ease, transform .25s ease, visibility .25s ease;
  pointer-events:none;
}
.float-fab.is-open .float-fab-options{opacity:1; visibility:visible; transform:translateY(0); pointer-events:auto;}
.float-fab-option{
  width:50px; height:50px; border-radius:50%; color:#fff;
  display:flex; align-items:center; justify-content:center; box-shadow:var(--shadow); transition:transform .2s ease;
}
.float-fab-option:hover{transform:translateY(-3px);}
.float-fab-option svg{width:23px; height:23px;}
.float-fab-wa{background:var(--whatsapp);}
.float-fab-mes{background:var(--messenger);}
@keyframes pulse{
  0%{box-shadow:0 0 0 0 rgba(217,142,115,0.55);}
  70%{box-shadow:0 0 0 16px rgba(217,142,115,0);}
  100%{box-shadow:0 0 0 0 rgba(217,142,115,0);}
}

/* ===== PODSTRONY: HERO NAGLOWKOWY, TRESC, POJEDYNCZY WPIS ===== */
.page-hero{
  padding:130px 0 60px; text-align:center;
  background:
    radial-gradient(circle at 85% 10%, var(--hero-glow-1) 0%, transparent 45%),
    radial-gradient(circle at 10% 100%, var(--hero-glow-2) 0%, transparent 50%),
    var(--hero-base);
}
.page-hero h1{font-size:48px; color:var(--ink);}
.page-hero .archive-description{color:var(--ink-soft); max-width:600px; margin:16px auto 0;}
.single-hero .single-post-meta{color:var(--ink-soft); font-size:14px; font-weight:700; margin-top:10px;}

.content-area{padding:80px 0;}
.content-area .wrap{max-width:1180px;}

.page-content-body{font-size:17px; color:var(--ink-soft); line-height:1.8;}
.page-content-body h2, .page-content-body h3{color:var(--ink); margin:32px 0 14px;}
.page-content-body p{margin-bottom:18px;}
.page-content-body ol{margin:0 0 18px 22px;}
.page-content-body ul{list-style:none; margin:0 0 18px 4px; padding:0;}
.page-content-body ul li{position:relative; padding-left:22px; margin-bottom:8px;}
.page-content-body ul li::before{content:''; position:absolute; left:2px; top:0.7em; width:7px; height:7px; border-radius:50%; background:var(--terracotta); transform:translateY(-50%);}
.page-content-body a{color:var(--terracotta-dark); text-decoration:underline;}
.page-content-body .masonry-item img{border-radius:5px; margin:0;}
.page-content-body img{border-radius:8px; margin:20px 0;}
.page-content-body .masonry-item img{margin:0;}
.page-content-body .about-page-photo img{margin:0; border-radius:0;}
.page-content-body blockquote{
  border-left:3px solid var(--terracotta); padding:6px 0 6px 20px; margin:20px 0;
  font-style:italic; color:var(--ink);
}

.single-featured-image{border-radius:24px; overflow:hidden; box-shadow:var(--shadow); margin-bottom:36px;}
.single-featured-image img{width:100%; height:auto; display:block;}

.author-box{display:flex; align-items:center; gap:26px; margin-top:44px; padding:28px; background:var(--card); border:1px solid var(--line); border-radius:18px; box-shadow:var(--shadow);}
.author-box-photo{width:92px; height:92px; border-radius:50%; object-fit:cover; flex-shrink:0;}
.author-box-label{display:block; font-size:12.5px; font-weight:800; text-transform:uppercase; letter-spacing:0.6px; color:var(--terracotta-dark); margin-bottom:4px;}
.author-box-body h4{font-size:22px; margin-bottom:8px;}
.author-box-body p{color:var(--ink-soft); font-size:15px; line-height:1.7; margin:0;}
@media(max-width:560px){.author-box{flex-direction:column; text-align:center;}}
@media(max-width:560px){.contact .wpcf7-form{grid-template-columns:1fr;} .contact .wpcf7-form > p:nth-of-type(1), .contact .wpcf7-form > p:nth-of-type(2){grid-column:1 / -1;}}
.single-post-nav{
  display:flex; justify-content:space-between; gap:20px; margin-top:50px; padding-top:26px;
  border-top:1px solid var(--line); font-weight:700; font-size:14.5px;
}
.single-post-nav a{color:var(--terracotta-dark);}

/* ===== UKLAD Z SIDEBAREM (archiwum + pojedynczy wpis) ===== */
.blog-layout, .single-layout{display:grid; grid-template-columns:1fr 320px; gap:50px; align-items:start;}
.archive-blog .blog-grid{grid-template-columns:repeat(2,1fr);}
.single-main{min-width:0;}

.sidebar{position:sticky; top:130px; display:flex; flex-direction:column; gap:22px;}
.widget-card{background:var(--card); border:1px solid var(--line); border-radius:18px; padding:24px; box-shadow:var(--shadow);}
.widget-title{font-size:18px; color:var(--ink); margin-bottom:14px;}


.sidebar-categories{list-style:none; display:flex; flex-direction:column; gap:10px;}
.sidebar-categories > li{
  font-size:14px; background:var(--card-soft); border-radius:14px; padding:14px 16px;
}
.sidebar-categories .cat-row{display:flex; justify-content:space-between; align-items:center; gap:8px;}
.sidebar-categories > li > .cat-row a{
  display:flex; align-items:center; gap:9px; color:var(--ink); font-weight:700; font-size:15px; flex:1; min-width:0;
}
.sidebar-categories > li > .cat-row a::before{
  content:''; width:8px; height:8px; border-radius:50%; background:var(--terracotta); flex-shrink:0;
}
.sidebar-categories > li > .cat-row a:hover{color:var(--terracotta-dark);}
.sidebar-categories > li > .cat-row .cat-count{
  background:var(--card); color:var(--ink-soft); font-size:12px; font-weight:600; padding:3px 10px; border-radius:20px; flex-shrink:0;
}
.sidebar-categories .children{
  list-style:none; margin:10px 0 0 4px; padding-left:17px; border-left:2px solid var(--line);
}
.sidebar-categories .children li{margin-bottom:8px;}
.sidebar-categories .children li:last-child{margin-bottom:0;}
.sidebar-categories .children .cat-row a{color:var(--ink-soft); flex:1; min-width:0; font-size:13.5px;}
.sidebar-categories .children .cat-row a:hover{color:var(--terracotta-dark);}
.sidebar-categories .children .cat-count{color:var(--ink-soft); font-size:12.5px; flex-shrink:0;}

.sidebar-recent{list-style:none;}
.sidebar-recent li{margin-bottom:14px; padding-bottom:14px; border-bottom:1px solid var(--line);}
.sidebar-recent li:last-child{border-bottom:none; margin-bottom:0; padding-bottom:0;}
.recent-post-row{display:flex; align-items:center; gap:12px;}
.recent-thumb{
  width:54px; height:54px; flex-shrink:0; border-radius:10px; overflow:hidden; background:var(--bg-soft);
}
.recent-thumb img{width:100%; height:100%; object-fit:cover; display:block;}
.recent-thumb--placeholder{display:flex; align-items:center; justify-content:center; color:var(--ink-soft);}
.recent-post-text{display:flex; flex-direction:column; min-width:0;}
.recent-title{font-weight:700; font-size:14px; color:var(--ink); margin-bottom:4px; line-height:1.35;}
.recent-post-row:hover .recent-title{color:var(--terracotta-dark);}
.recent-date{font-size:12px; color:var(--ink-soft);}

.sidebar-cta{background:var(--bg-soft);}
.sidebar-cta p{font-size:13.5px; color:var(--ink-soft); margin-bottom:16px;}
.sidebar-cta .btn{width:100%;}
.sidebar-cta .btn + .btn{margin-top:10px;}

.toc-card ul{list-style:none;}
.toc-card li{margin-bottom:10px; font-size:13.5px; line-height:1.4;}
.toc-card .toc-level-3{padding-left:16px; font-size:13px;}
.toc-card .toc-level-4{padding-left:28px; font-size:12.5px;}
.toc-card a{color:var(--ink-soft);}
.toc-card a:hover{color:var(--terracotta-dark);}

.search-form{display:flex; gap:8px;}
.search-form .search-field{flex:1; min-width:0; padding:12px 14px; border-radius:10px; border:1px solid var(--line); font-family:inherit; font-size:14px;}
.search-form .search-submit{padding:0 16px; border-radius:10px; border:none; background:var(--terracotta); color:#fff; font-weight:700; cursor:pointer;}
.search-form .search-submit:hover{background:var(--terracotta-dark);}

/* ===== POLECANE WPISY ===== */
.related-posts{margin-top:70px; padding-top:50px; border-top:1px solid var(--line);}
.related-posts h2{font-size:31.2px; margin-bottom:26px;}

/* Paginacja */
.pagination, .navigation.pagination{margin-top:50px; display:flex; justify-content:center; gap:10px; flex-wrap:wrap;}
.pagination .page-numbers{
  display:inline-flex; align-items:center; justify-content:center; min-width:42px; height:42px; padding:0 12px;
  border-radius:100px; background:var(--card); border:1px solid var(--line); font-weight:700; font-size:14px; color:var(--ink-soft);
}
.pagination .page-numbers.current{background:var(--terracotta); color:#fff; border-color:var(--terracotta);}
.pagination .page-numbers:hover{background:var(--bg-soft);}

/* Komentarze */
.comments-area{margin-top:60px; padding-top:40px; border-top:1px solid var(--line);}
.comments-title{font-size:28.8px; margin-bottom:24px;}
.comment-list{list-style:none; display:flex; flex-direction:column; gap:18px;}
.comment-list .children{list-style:none; margin:18px 0 0 28px; padding-left:24px; border-left:2px solid var(--line); display:flex; flex-direction:column; gap:18px;}

.edyta-comment-card{
  background:var(--card); border:1px solid var(--line); border-radius:20px; padding:24px 26px;
  box-shadow:0 16px 40px -28px rgba(60,52,46,0.35); transition:transform .25s ease, box-shadow .25s ease;
  position:relative; overflow:hidden;
}
.edyta-comment-card:hover{transform:translateY(-3px); box-shadow:0 22px 50px -26px rgba(60,52,46,0.4);}
.edyta-comment-card::before{
  content:''; position:absolute; top:0; left:0; right:0; height:4px;
  background:linear-gradient(90deg, var(--sage), var(--gold), var(--terracotta)); opacity:0; transition:opacity .25s ease;
}
.edyta-comment--author .edyta-comment-card::before{opacity:1;}
.edyta-comment--author .edyta-comment-card{background:linear-gradient(180deg, var(--bg-soft) 0%, var(--card) 120px);}

.edyta-comment-head{display:flex; align-items:center; gap:14px; margin-bottom:16px;}
.edyta-comment-avatar{flex-shrink:0; width:56px; height:56px; border-radius:50%; overflow:hidden; border:2px solid var(--line); box-shadow:var(--shadow);}
.edyta-comment--author .edyta-comment-avatar{border-color:var(--terracotta);}
.edyta-comment-avatar img{display:block; width:100%; height:100%; object-fit:cover;}
.edyta-comment-meta{display:flex; flex-direction:column; gap:3px; min-width:0;}
.edyta-comment-name{display:flex; align-items:center; gap:8px; font-family:'Fraunces', serif; font-weight:600; font-size:17px; color:var(--ink); letter-spacing:-0.3px;}
.edyta-comment-badge{
  font-family:'Nunito', sans-serif; font-weight:700; font-size:10.5px; letter-spacing:0.4px; text-transform:uppercase;
  background:var(--terracotta); color:#fff; padding:3px 10px; border-radius:100px;
}
.edyta-comment-date a{font-size:12.5px; color:var(--ink-soft);}
.edyta-comment-date a:hover{color:var(--terracotta-dark); text-decoration:underline;}

.edyta-comment-pending{font-size:13px; color:var(--terracotta-dark); background:var(--bg-soft); border-radius:10px; padding:8px 12px; margin-bottom:14px;}

.edyta-comment-content{color:var(--ink-soft); font-size:15.5px; line-height:1.75;}
.edyta-comment-content p{margin-bottom:12px;}
.edyta-comment-content p:last-child{margin-bottom:0;}

.edyta-comment-actions{display:flex; align-items:center; gap:14px; margin-top:16px; padding-top:14px; border-top:1px solid var(--line);}
.edyta-comment-reply a, .edyta-comment-edit a{
  display:inline-flex; align-items:center; gap:6px; font-size:12.5px; font-weight:700; color:var(--terracotta-dark);
  background:var(--bg-soft); padding:7px 14px; border-radius:100px; transition:.2s ease;
}
.edyta-comment-reply a:hover, .edyta-comment-edit a:hover{background:var(--terracotta); color:#fff;}

@media (max-width:640px){
  .comment-list .children{margin-left:14px; padding-left:14px;}
  .edyta-comment-card{padding:18px 18px;}
  .edyta-comment-avatar{width:46px; height:46px;}
  .edyta-comment-name{font-size:15.5px;}
}
.comment-respond{margin-top:30px;}
.comment-form input[type="text"], .comment-form input[type="email"], .comment-form input[type="url"], .comment-form textarea{
  width:100%; padding:12px 16px; border-radius:12px; border:1px solid var(--line); font-family:inherit; margin-bottom:14px;
}
.comment-form textarea{min-height:120px;}
.comment-form .form-submit input{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:14px 28px; border-radius:100px; font-weight:700; font-size:14.5px;
  background:var(--terracotta); color:#fff; border:none; cursor:pointer;
}

/* ===== RESPONSYWNOSC ===== */
@media (max-width: 980px){
  .hero .wrap, .about .wrap, .contact .wrap, .blog-layout, .single-layout{grid-template-columns:1fr;}
  .about-photo{order:2;}
  .about .wrap > div:last-child{order:1;}
  .archive-blog .blog-grid{grid-template-columns:1fr 1fr;}
  .sidebar{position:static; margin-top:10px;}
  .services-grid, .steps, .blog-grid, .test-grid{grid-template-columns:1fr 1fr;}\n  .step::after{display:none;}
  .footer-grid{grid-template-columns:1fr 1fr;}

  .logo-svg{height:38px;}
  .nav-cta{gap:8px;}
  .theme-toggle{width:36px; height:36px;}
  .burger{width:30px; height:30px;}

  .burger{display:flex;}
  nav#site-navigation{
    position:fixed; top:0; left:0; right:0; width:100%; max-width:none; max-height:100vh; overflow-y:auto;
    background:var(--card); box-shadow:var(--shadow); padding:20px 28px 34px;
    transform:translateY(-100%); transition:transform .35s ease; z-index:80;
  }
  nav#site-navigation.is-open{transform:translateY(0);}

  .mobile-nav-head{
    display:flex; align-items:center; justify-content:space-between; gap:16px;
    padding-bottom:18px; margin-bottom:24px; border-bottom:1px solid var(--line);
  }
  .mobile-nav-close{
    width:38px; height:38px; border-radius:50%; background:var(--bg); border:none; color:var(--ink);
    display:flex; align-items:center; justify-content:center; cursor:pointer; flex-shrink:0;
  }

  .nav-cta .btn-primary{display:none;}
  #primary-menu{flex-direction:column; gap:22px;}
  #primary-menu li{position:static;}
  #primary-menu .menu-item-has-children{display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between;}
  #primary-menu .menu-item-has-children > a{flex:1;}
  #primary-menu .sub-menu{
    position:static; opacity:1; visibility:visible; transform:none; box-shadow:none; border:none;
    background:transparent; padding:10px 0 0 16px; margin-top:8px; display:none; width:100%;
  }
  #primary-menu li.sub-menu-open > .sub-menu{display:flex;}
  #primary-menu > li.menu-item-has-children > a::after,
  #primary-menu .sub-menu li.menu-item-has-children > a::after{display:none;}
  .submenu-toggle{
    display:flex; align-items:center; justify-content:center; width:30px; height:30px; flex-shrink:0;
    background:var(--bg); border:none; border-radius:50%; cursor:pointer; padding:0;
  }
  .submenu-toggle::before{
    content:"+"; width:auto; height:auto; border:none; font-size:19px; font-weight:700; line-height:1;
    color:var(--ink-soft); transition:transform .2s;
  }
  li.sub-menu-open > .submenu-toggle::before{transform:rotate(45deg);}
  body.nav-open{overflow:hidden;}
  body.nav-open::after{content:"";position:fixed; inset:0; background:rgba(30,26,22,.4); z-index:70;}
}
@media (max-width: 620px){
  .hero h1{font-size:34px;}
  section{padding:70px 0;}
  .services-grid, .steps, .blog-grid, .test-grid, .archive-blog .blog-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr 1fr; gap:28px 20px;}
  .footer-grid > div:first-child{grid-column:1 / -1; margin-bottom:6px;}
  .diploma-gallery{margin-bottom:-70px;}
  .hero-photo-wrap{min-height:0; padding:8px 0 0;}
  .hero-photo-stack{max-width:250px;}
  .floating-card{padding:8px 12px; font-size:11px; border-radius:14px; gap:7px; box-shadow:0 10px 24px -14px rgba(60,52,46,.35);}
  .floating-card .ico{width:24px; height:24px; font-size:12px; border-radius:8px;}
  .floating-card.card-1{top:-8px; left:-2px; animation:floatCardSm1 12s ease-in-out infinite;}
  .floating-card.card-2{bottom:-4px; right:-2px; animation:floatCardSm2 14s ease-in-out infinite; animation-delay:.8s;}
  .floating-card.card-3{top:22px; right:-10px; animation:floatCardSm3 15s ease-in-out infinite; animation-delay:1.5s;}
  .floating-card.card-4{bottom:28px; left:-10px; animation:floatCardSm4 13s ease-in-out infinite; animation-delay:.4s;}
  .page-hero{padding:130px 0 46px;}
  .page-hero h1{font-size:30px;}

  .hero-ctas{flex-wrap:nowrap; gap:10px;}
  .hero-ctas .btn-contact{flex:1; padding:12px 10px; font-size:14px; gap:7px; justify-content:center; white-space:nowrap;}
  .hero-ctas .btn-contact svg{width:20px; height:20px;}

  .hero-trust{flex-direction:column; gap:16px;}
  .hero-trust div{width:100%; min-width:0; flex:none;}
}

@media (prefers-reduced-motion: reduce){ .floating-card.card-1, .floating-card.card-2, .floating-card.card-3, .floating-card.card-4{animation:none !important;} }

@keyframes floatCardSm1{0%{transform:translate(0,0) rotate(0deg) scale(1);} 50%{transform:translate(6px,-6px) rotate(2deg) scale(1.04);} 100%{transform:translate(0,0) rotate(0deg) scale(1);}}
@keyframes floatCardSm2{0%{transform:translate(0,0) rotate(0deg) scale(1);} 50%{transform:translate(-6px,5px) rotate(-2deg) scale(1.04);} 100%{transform:translate(0,0) rotate(0deg) scale(1);}}
@keyframes floatCardSm3{0%{transform:translate(0,0) rotate(0deg) scale(1);} 50%{transform:translate(-5px,6px) rotate(2deg) scale(1.03);} 100%{transform:translate(0,0) rotate(0deg) scale(1);}}
@keyframes floatCardSm4{0%{transform:translate(0,0) rotate(0deg) scale(1);} 50%{transform:translate(5px,-5px) rotate(-2deg) scale(1.03);} 100%{transform:translate(0,0) rotate(0deg) scale(1);}}

/* ===== ZADAJ PYTANIE: FAQ (AKORDEON) ===== */
.faq-list{max-width:800px; margin:0 auto; display:flex; flex-direction:column; gap:14px;}
.faq-item{background:var(--card); border:1px solid var(--line); border-radius:16px; padding:4px 26px; box-shadow:var(--shadow); transition:.2s;}
.faq-item[open]{border-color:var(--terracotta);}
.faq-q{list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:20px 0; font-weight:700; font-size:16.5px; color:var(--ink);}
.faq-q::-webkit-details-marker{display:none;}
.faq-toggle{position:relative; width:22px; height:22px; flex-shrink:0; border-radius:50%; background:var(--bg-soft);}
.faq-toggle::before,.faq-toggle::after{content:''; position:absolute; background:var(--terracotta); border-radius:2px; transition:.25s ease;}
.faq-toggle::before{top:50%; left:5px; right:5px; height:2px; transform:translateY(-50%);}
.faq-toggle::after{left:50%; top:5px; bottom:5px; width:2px; transform:translateX(-50%);}
.faq-item[open] .faq-toggle::after{transform:translateX(-50%) rotate(90deg); opacity:0;}
.faq-a{padding:0 0 22px; color:var(--ink-soft); font-size:15px; line-height:1.75;}
.faq-a p{margin:0;}

/* ===== ZADAJ PYTANIE: FORMULARZ ===== */
.qa-form-section{background:var(--bg-soft);}
.qa-form-wrap{max-width:640px; margin:0 auto; background:var(--card); border:1px solid var(--line); border-radius:22px; padding:34px; box-shadow:var(--shadow);}
.qa-form-wrap .wpcf7-form{display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:0;}
.qa-form-wrap .wpcf7-form > p{grid-column:1 / -1; margin:0;}
.qa-form-wrap .wpcf7-form label.field{position:relative; display:block; margin:0; width:100%;}
.qa-form-wrap .field-label{position:absolute; top:9px; left:19px; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:0.5px; color:var(--ink-soft); pointer-events:none; z-index:1;}
.qa-form-wrap .wpcf7-form-control-wrap{display:block;}
.qa-form-wrap .wpcf7-form-control{width:100%; padding:25px 18px 9px; border-radius:12px; font-family:inherit; font-size:15px; font-weight:400; background:var(--bg-soft); border:1px solid var(--line); color:var(--ink); transition:.2s ease;}
.qa-form-wrap .wpcf7-form-control::placeholder{color:var(--ink-soft); opacity:.6;}
.qa-form-wrap .wpcf7-form-control:focus{outline:none; background:var(--card); border-color:var(--terracotta);}
.qa-form-wrap textarea.wpcf7-form-control{min-height:110px; resize:vertical; padding-top:27px;}
.qa-form-wrap .wpcf7-submit{display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:16px 34px; border-radius:100px; font-weight:700; font-size:15.5px; background:var(--terracotta); color:#fff; border:none; cursor:pointer; transition:.25s ease;}
.qa-form-wrap .wpcf7-submit:hover{background:var(--terracotta-dark); transform:translateY(-2px);}
.qa-form-wrap .wpcf7-spinner{margin-left:12px;}
.qa-form-wrap .wpcf7-response-output{display:none; grid-column:1 / -1; border:1px solid transparent; border-radius:12px; padding:13px 18px; margin:2px 0 0; font-size:13.5px; font-weight:600; text-align:center;}
.qa-form-wrap form.sent .wpcf7-response-output,.qa-form-wrap form.invalid .wpcf7-response-output,.qa-form-wrap form.unaccepted .wpcf7-response-output,.qa-form-wrap form.payment-required .wpcf7-response-output,.qa-form-wrap form.spam .wpcf7-response-output,.qa-form-wrap form.aborted .wpcf7-response-output{display:block;}
.qa-form-wrap form.sent .wpcf7-response-output{border-color:#8fce9a; background:rgba(143,206,154,0.12); color:var(--sage-dark);}
.qa-form-wrap form.invalid .wpcf7-response-output,.qa-form-wrap form.unaccepted .wpcf7-response-output,.qa-form-wrap form.payment-required .wpcf7-response-output{border-color:#e8a4a4; background:rgba(232,164,164,0.12); color:#b23b3b;}
.qa-form-wrap .wpcf7-not-valid-tip{display:inline-block; margin-top:8px; padding:5px 12px; border-radius:20px; background:rgba(232,164,164,0.15); border:1px solid rgba(232,164,164,0.4); color:#b23b3b; font-size:11.5px; font-weight:700; line-height:1.4;}
.qa-form-wrap .wpcf7-form-control.wpcf7-not-valid{border-color:#e8a4a4;}
@media (max-width:680px){ .qa-form-wrap .wpcf7-form{grid-template-columns:1fr;} .qa-form-wrap{padding:26px 20px;} }

/* ===== ZAPYTAJ EDYTE: LAYOUT 2-KOLUMNOWY (FAQ | FORMULARZ) ===== */
.page-content-body.qa-page{display:grid; grid-template-columns:1.1fr 0.9fr; gap:60px; align-items:start;}
.page-content-body.qa-page .faq-section,
.page-content-body.qa-page .qa-form-section{background:none; padding:0;}
.page-content-body.qa-page .faq-section .wrap,
.page-content-body.qa-page .qa-form-section .wrap{max-width:none; margin:0; padding:0;}
.page-content-body.qa-page .section-head{text-align:left; margin:0 0 28px; max-width:none;}
.page-content-body.qa-page .section-head .eyebrow{justify-content:flex-start !important;}
.page-content-body.qa-page .faq-list,
.page-content-body.qa-page .qa-form-wrap{max-width:none; margin:0;}
@media (max-width:900px){ .page-content-body.qa-page{grid-template-columns:1fr; gap:44px; padding:0 20px;} }

/* ===== O MNIE: ZDJECIE + OPIS ===== */
.about-page-block{padding:20px 0 60px;}
.about-page-grid{display:grid; grid-template-columns:0.85fr 1.15fr; gap:70px; align-items:start;}
.about-page-photo{border-radius:28px; aspect-ratio:1/1.05; background:linear-gradient(150deg,#f1e3d5,#dcc2a6); box-shadow:var(--shadow); overflow:hidden;}
.about-page-photo img{width:100%; height:100%; object-fit:cover; display:block;}
.about-page-bio p{margin:0 0 18px; color:var(--ink-soft); font-size:17px; line-height:1.8;}
.about-page-bio p:last-child{margin-bottom:0;}
@media (max-width:900px){ .about-page-grid{grid-template-columns:1fr; gap:34px;} .about-page-photo{aspect-ratio:1/0.8; max-width:340px; margin:0 auto; order:2;} .about-page-bio{order:1;} }

/* ===== O MNIE: GALERIA MASONRY (DYPLOMY) ===== */
.diploma-gallery{
  padding:60px 0 80px; background:var(--bg-soft); margin-bottom:-80px;
  width:100vw; position:relative; left:50%; right:50%; margin-left:-50vw; margin-right:-50vw;
}
.diploma-gallery h2{text-align:center; margin-bottom:40px;}
.masonry-gallery{column-count:3; column-gap:22px;}
@media (max-width:900px){ .masonry-gallery{column-count:2;} }
@media (max-width:600px){ .masonry-gallery{column-count:1;} }
.masonry-item{display:block; width:100%; break-inside:avoid; margin:0 0 22px; padding:0; border:1px solid var(--line); background:none; cursor:zoom-in; border-radius:5px; overflow:hidden; box-shadow:var(--shadow); transition:transform .25s ease, box-shadow .25s ease;}
.masonry-item:hover{transform:translateY(-4px); box-shadow:0 24px 46px -20px rgba(60,52,46,0.35);}
.masonry-item img{display:block; width:100%; height:auto;}

/* ===== LIGHTBOX ===== */
.edyta-lightbox{position:fixed; inset:0; z-index:9999; background:rgba(30,24,20,0.92); display:none; align-items:center; justify-content:center; padding:40px;}
.edyta-lightbox.is-open{display:flex;}
.edyta-lightbox img{max-width:90vw; max-height:88vh; border-radius:10px; box-shadow:0 30px 70px -20px rgba(0,0,0,0.6);}
.edyta-lightbox-close{position:absolute; top:22px; right:28px; width:44px; height:44px; border-radius:50%; border:none; background:rgba(255,255,255,0.12); color:#fff; font-size:26px; line-height:1; cursor:pointer; transition:.2s ease;}
.edyta-lightbox-close:hover{background:rgba(255,255,255,0.25);}

/* ===== MODAL: TRYB URLOPOWY ===== */
.edyta-modal{position:fixed; inset:0; z-index:9999; display:none; align-items:center; justify-content:center; padding:24px;}
.edyta-modal.is-open{display:flex;}
.edyta-modal-overlay{position:absolute; inset:0; background:rgba(30,24,20,0.55);}
.edyta-modal-box{position:relative; z-index:1; background:var(--card); border-radius:22px; max-width:440px; width:100%; padding:40px 34px 34px; box-shadow:0 30px 70px -20px rgba(0,0,0,0.35); text-align:center;}
.edyta-modal-icon{width:56px; height:56px; border-radius:50%; background:var(--bg-soft); color:var(--terracotta-dark); display:flex; align-items:center; justify-content:center; margin:0 auto 18px;}
.edyta-modal-icon svg{width:26px; height:26px;}
.edyta-modal-box h3{font-size:23px; color:var(--ink); margin-bottom:12px;}
.edyta-modal-box p{color:var(--ink-soft); font-size:15.5px; line-height:1.7; white-space:pre-line;}
.edyta-modal-close{position:absolute; top:14px; right:14px; width:36px; height:36px; border-radius:50%; border:none; background:var(--bg-soft); color:var(--ink); font-size:20px; line-height:1; cursor:pointer; transition:.2s ease;}
.edyta-modal-close:hover{background:var(--line);}

/* ===== PRZELACZNIK TRYBU CIEMNEGO ===== */
.theme-toggle{
  display:inline-flex; align-items:center; justify-content:center; flex-shrink:0;
  width:40px; height:40px; border-radius:50%; border:1px solid var(--line);
  background:var(--card); color:var(--ink-soft); cursor:pointer;
  transition:background-color .25s ease, color .25s ease, border-color .25s ease, transform .25s ease;
}
.theme-toggle:hover{background:var(--bg-soft); color:var(--terracotta-dark); transform:rotate(12deg);}
.theme-toggle-icon{width:19px; height:19px;}
.theme-toggle-icon--moon{display:none;}
html[data-theme="dark"] .theme-toggle-icon--sun{display:none;}
html[data-theme="dark"] .theme-toggle-icon--moon{display:block;}
html[data-theme="dark"] header.is-scrolled{background:rgba(25,21,16,0.88);}
html[data-theme="dark"] .contact{background:linear-gradient(160deg,#3f5240,#2e3c30);}

/* ============ POBIERZ: MATERIALY DO POBRANIA ============ */
.downloads-section{padding:0 0 100px;}
.downloads-heading{font-size:clamp(26px,3.5vw,36px); margin-bottom:10px; text-align:center;}
.downloads-intro{max-width:640px; margin:0 auto 40px; text-align:center; color:var(--ink-soft); line-height:1.7;}
.downloads-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:24px;}
.download-card{display:flex; gap:18px; align-items:flex-start; background:var(--card); border:1px solid var(--line); border-radius:18px; padding:24px; box-shadow:var(--shadow); transition:transform .25s ease, box-shadow .25s ease;}
.download-card:hover{transform:translateY(-4px); box-shadow:0 24px 50px -22px rgba(60,52,46,.28);}
.download-icon{position:relative; flex:0 0 auto; width:52px; height:52px; border-radius:14px; background:linear-gradient(150deg, var(--sage) 0%, var(--terracotta) 100%); color:#fff; display:flex; align-items:center; justify-content:center;}
.download-icon svg{width:24px; height:24px;}
.download-ext{position:absolute; bottom:-6px; right:-6px; background:var(--terracotta-dark); color:#fff; font-size:9px; font-weight:800; letter-spacing:.5px; padding:2px 5px; border-radius:5px; line-height:1;}
.download-body{flex:1;}
.download-title{font-size:18px; margin:0 0 8px;}
.download-desc{font-size:14.5px; color:var(--ink-soft); line-height:1.65; margin:0 0 16px;}
.download-btn{display:inline-flex; align-items:center; gap:8px; background:var(--sage); color:#fff; font-weight:700; font-size:14px; padding:10px 18px; border-radius:999px; text-decoration:none; transition:background .2s ease, transform .2s ease;}
.download-btn svg{width:16px; height:16px;}
.download-btn:hover{background:var(--sage-dark); transform:translateY(-1px);}
.page-content-body .download-btn{color:#fff; text-decoration:none;}
.page-content-body .download-btn:hover{color:#fff;}
@media (max-width:780px){
  .downloads-grid{grid-template-columns:1fr;}
  .download-card{padding:20px; flex-direction:column; align-items:flex-start;}
  .download-icon{margin-bottom:4px;}
  .download-btn{width:100%; justify-content:center;}
}