* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  height: 100vh;
  display: flex;
  flex-direction: column;
  font-family: Arial, sans-serif;
}

:root {
  --main-color: green;
}

body {
  color: var(--main-color);
}




.top-bar{
  height: 40px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.top-bar h2 {
	color: var(--main-color);
}
.top-bar::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 15%;     /* żeby było 70% szerokości */
  
  width: 70%;
  height: 1px;
  
  background: var(--main-color);
}
.bottom-bar {
	height: 40px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.bottom-bar a {
  color: var(--main-color);
  text-decoration: none;
}
.bottom-bar::before {
  content: "";
  position: absolute;
  top: 0;
  left: 15%;
  
  width: 70%;
  height: 1px;
  
  background: var(--main-color);
}

.main {
  flex: 1;
  display: flex;
  position: relative;
}

.main::after {
  content: "";
  position: absolute;
  top: 15%;          /* żeby było wycentrowane (100% - 70% = 30% → po 15% góra/dół) */
  left: 50%;
  transform: translateX(-50%);
  
  height: 70%;
  width: 1px;
  background: var(--main-color);
 /* background: rgba(0, 128, 0, 0.4);  dyskretny zielony */
}

.left,
.right {
  width: 50%;
  padding: 20px;
}

.left {  
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.left img {
  width: 60%;
  height: auto;
  display: block;
}
img {
  border: 2px solid var(--main-color);
}
.caption {
  position: absolute;
  bottom: 100px;
  right: 15%; /* 🔥 kluczowe dopasowanie do 60% szerokości obrazka */
  transform: rotate(-10deg);
  font-family: "Dancing Script", cursive;
  font-size: 46px;  
  font-weight: 600;
  background: transparent;
  padding: 4px 8px;
  z-index: 2;
}

.right {
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}


.box {
  width: 100%;
  max-width: 450px;
  text-align: justify;
   hyphens: auto;
  padding: 20px;
}
.autor{
  text-align: center;
  padding-bottom:20px;
	
}
.link {
  display: block;
  padding-top: 0px;
  text-align: center;
  text-decoration: none; /* usuwa podkreślenie */
  color: inherit;       /* usuwa niebieski kolor */
  font-size: 18px;
  font-weight: bold;
}
.link:hover {
  color:  #0b3d2e;
}
h3{
	padding-top:20px;
}

.counter {
  font-size: 12px;
  color: rgba(0, 128, 0, 0.7);

  text-align: right;
  margin-top: -5px;
}




/* RESPONSYWNOŚĆ */
@media (max-width: 900px) {
  .caption {
    right: 15%;
    bottom: 130px;
    font-size: 36px;
  }
}
@media (max-width: 768px) {
  .main {
    flex-direction: column;
  }
 .main::after {
    display: none;
  }
  .left,
  .right {
    width: 100%;
  }

  form {
    max-width: 100%;
  }
  .caption {
    right: 20%;
    bottom: 65px;
    font-size: 40px;
  }
}
@media (max-width: 600px) {
  .caption {
    right: 15%;
    bottom: 20px;
    font-size: 36px;
    transform: rotate(-5deg); /* mniej agresywnie */
  }
}