.sec-main-top{
  overflow: hidden;
}
.sec-main-top-v1{
  padding: 0 !important;
}
.sec-main-top:has(+ .sec-details){
  margin-bottom: 6.4rem;
}
.sec-breadcrumb + .sec-main-top{
  margin-top: 0;
}
.sec-main-top::after,
.sec-main-top::before{
  position: absolute;
  content: "";
  background-size: cover;
  background-position: center;
}
.sec-main-top-v1::after,
.sec-main-top-v1::before{
  content: none;
}
.sec-main-top::after{
  top: 0;
  bottom: 8rem;
  margin: auto;
  right: 14.4rem;
  width: 2.5rem;
  height: 6.5rem;
  background-image: url(../images/dot-blue-vector.png);
}
.sec-main-top::before{
  right: 11.1rem;
  bottom: 10.8rem;
  width: 2.3rem;
  height: 4.6rem;
  background-image: url(../images/half-circle-vector.png);
}
.sec-main-top-v1 .col-lg-6{
  display: flex;
  flex-wrap: wrap;
}
.main-top-text{
  padding-right: 2.8rem;
}
.sec-main-top-v1 .main-top-text{
  width: 100%;
  min-height: 32rem;
  padding-bottom: 3.2rem;
  padding-top: 3.2rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.sec-main-top-v1.lg .main-top-text{
  min-height: 44rem;
}
.main-top-text h1,
.main-top-text h2,
.main-top-text h3,
.main-top-text h4,
.main-top-text h5,
.main-top-text h6,
.main-top-text{
  color: var(--white);
}
.sec-main-top-v1 h1,
.sec-main-top-v1 h2,
.sec-main-top-v1 h3,
.sec-main-top-v1 h4{
  font-size: 6.4rem;
}
.main-top-text p{
  font-size: 1.8rem;
  line-height: 180%;
}
.main-top-text li a,
.main-top-text p a{
  color: var(--white);
}
.main-top-btn{
  margin-bottom: 4.8rem;
}
.main-top-btn:last-child{
  margin-bottom: 0;
}
.main-top-img{
  padding-left: 5.2rem;
  margin-right: -2.6rem;
  position: relative;
}
.sec-main-top-v1 .main-top-img{
  padding-left: 2.6rem;
  margin-right: 0;
  width: 100%;
}
.main-top-img::after,
.main-top-img::before{
  position: absolute;
  content: "";
  background-size: cover;
  background-position: center;
}
.main-top-img::after{
  top: -40rem;
  left: 5.2rem;
  right: 0;
  margin: auto;
  width: 48rem;
  height: 48rem;
  border-radius: 50%;
  background: #5098E5;
}
.sec-main-top-v1 .main-top-img::after{
  top: -30rem;
  left: auto;
  right: -18.8rem;
}
.main-top-img::before{
  left: 1.2rem;
  bottom: -4rem;
  width: 8.5rem;
  height: 6.5rem;
  background-image: url(../images/dot-vector.png);
}
.sec-main-top-v1 .main-top-img::before{
  left: -3.4rem;
  z-index: 2;
  bottom: 4rem;
}
.main-top-img img{
  position: relative;
  z-index: 1;
  width: 100%;
  height: 62.2rem;
  object-fit: cover;
  border-radius: 100rem 100rem 0 100rem;
}
.sec-main-top-v1 .main-top-img img{
  position: absolute;
  top: 0;
  transform: translateY(-25%);
}
.sec-main-top-v1.lg .main-top-img img{
  transform: translateY(-14.5%); 
}
@media(min-width:1660px) and (max-width:1759.98px){
  .sec-main-top::before {
    right: 6.1rem;
  }
  .sec-main-top::after {
    right: 6.4rem;
  }
}
@media(min-width:1560px) and (max-width:1659.98px){
  .sec-main-top::before {
    right: 2.1rem;
  }
  .sec-main-top::after {
    right: 2.4rem;
  }
}
@media(min-width:1460px) and (max-width:1559.98px){
  .sec-main-top::before {
    right: 1.7rem;
  }
  .sec-main-top::after {
    right: 1.4rem;
  }
}
@media(min-width:1404px) and (max-width:1459.98px){
  .sec-main-top::before {
    right: 1.7rem;
  }
  .sec-main-top::after {
    right: 1.4rem;
  }
  .main-top-img {
    padding-left: 2.6rem;
    margin-right: 1.2rem;
  }
  .main-top-img::after {
    left: 2.6rem;
  }
  .sec-main-top-v1 .main-top-img::after {
    right: -9.8rem;
  }
}
@media(min-width:1360px) and (max-width:1403.98px){
  .sec-main-top:has(+ .sec-details) {
    margin-bottom: 5.6rem;
  }
  .sec-main-top::before {
    right: 0.5rem;
    bottom: 12rem;
  }
  .sec-main-top::after {
    bottom: 2rem;
    right: 0.5rem;
  }
  .main-top-img {
    padding-left: 2.6rem;
    margin-right: 0;
  }
  .main-top-img img {
    height: 59.7rem;
  }
  .main-top-img::after {
    top: -32.6rem;
    left: 2.6rem;
    width: 45.2rem;
    height: 45.2rem;
  }
  .main-top-img::before {
    left: 0rem;
  }
  .main-top-text p {
    font-size: 1.7rem;
  }
  .main-top-btn {
    margin-bottom: 3.2rem;
  }
  .sec-main-top-v1 .main-top-text {
    min-height: 31rem;
    padding-bottom: 2.4rem;
    padding-top: 2.4rem;
  }
  .sec-main-top-v1.lg .main-top-text {
    min-height: 41rem;
  }
  .sec-main-top-v1 h1, 
  .sec-main-top-v1 h2, 
  .sec-main-top-v1 h3, 
  .sec-main-top-v1 h4 {
    font-size: 6rem;
  }
  .sec-main-top-v1 .main-top-img::after {
    top: -28rem;
    right: -9.8rem;
  }
}
@media(min-width:1200px) and (max-width:1359.98px){
  .sec-main-top:has(+ .sec-details) {
    margin-bottom: 5.6rem;
  }
  .sec-main-top::after {
    bottom: 5rem;
    right: 5.4rem;
    width: 2rem;
    height: 5.5rem;
  }
  .sec-main-top::before {
    right: 5.1rem;
    bottom: 9rem;
    width: 2rem;
    height: 4rem;
  }
  .main-top-img {
    padding-left: 2.6rem;
    margin-right: 0;
  }
  .main-top-img img {
    height: 53.4rem;
  }
  .main-top-img::after {
    top: -29rem;
    left: 2.6rem;
    width: 40rem;
    height: 40rem;
  }
  .main-top-img::before {
    left: -1rem;
    bottom: -3.5rem;
    width: 8rem;
    height: 6rem;
  }
  .main-top-text p {
    font-size: 1.6rem;
  }
  .main-top-btn {
    margin-bottom: 3.2rem;
  }
  .sec-main-top-v1 .main-top-text {
    min-height: 29rem;
    padding-bottom: 2.4rem;
    padding-top: 2.4rem;
  }
  .sec-main-top-v1.lg .main-top-text {
    min-height: 38rem;
  }
  .sec-main-top-v1 h1, 
  .sec-main-top-v1 h2, 
  .sec-main-top-v1 h3, 
  .sec-main-top-v1 h4 {
    font-size: 5.4rem;
  }
  .sec-main-top-v1 .main-top-img::before {
    left: -3rem;
  }
  .sec-main-top-v1 .main-top-img::after {
    top: -26rem;
    right: -10.8rem;
  }
}
@media(min-width:992px) and (max-width:1199.98px){
  .sec-main-top:has(+ .sec-details) {
    margin-bottom: 4.8rem;
  }
  .sec-main-top::after {
    bottom: 0rem;
    right: 5rem;
    width: 2rem;
    height: 5.3rem;
  }
  .sec-main-top::before {
    right: 6rem;
    bottom: 12rem;
    width: 1.3rem;
    height: 2.8rem;
  }
  .main-top-text {
    padding-right: 0;
  }
  .main-top-text br{
    display: none;
  }
  .main-top-text p {
    font-size: 1.5rem;
    line-height: 160%;
  }
  .main-top-img {
    padding-left: 0;
    margin-right: 0;
  }
  .main-top-img img {
    height: 45.7rem;
  }
  .main-top-img::after {
    top: -26.5rem;
    left: 0;
    width: 35rem;
    height: 35rem;
  }
  .main-top-img::before {
    left: 1rem;
    bottom: -3.5rem;
    width: 7.5rem;
    height: 5.7rem;
  }
  .main-top-btn {
    margin-bottom: 2.8rem;
  }
  .sec-main-top-v1 .main-top-text {
    min-height: 27rem;
    padding-bottom: 2.4rem;
    padding-top: 2.4rem;
  }
  .sec-main-top-v1.lg .main-top-text {
    min-height: 32rem;
  }
  .sec-main-top-v1 h1, 
  .sec-main-top-v1 h2, 
  .sec-main-top-v1 h3, 
  .sec-main-top-v1 h4 {
    font-size: 4.4rem;
  }
  .sec-main-top-v1 .main-top-img::after {
    top: -22.5rem;
    right: -11.8rem;
  }
  .sec-main-top-v1 .main-top-img::before {
    left: -2.6rem;
    bottom: 5rem;
  }
}
@media(min-width:768px) and (max-width:991.98px){
  .sec-main-top:has(+ .sec-details) {
    margin-bottom: 4rem;
  }
  .main-top-text {
    padding-right: 0;
  }
  .sec-main-top::before,
  .sec-main-top::after,
  .main-top-img::after,
  .main-top-img::before{
    content: none;
  }
  .main-top-text br{
    display: none;
  }
  .main-top-text p {
    font-size: 1.5rem;
  }
  .main-top-img {
    padding-left: 0;
    margin: 3.2rem auto 0;
    max-width: 50rem;
  }
  .main-top-img img {
    height: 50rem;
  }
  .main-top-btn {
    margin-bottom: 2.4rem;
  }
  .sec-main-top-v1 {
    padding: 7.2rem 0 0 !important;
  }
  .sec-main-top-v1 .main-top-text {
    padding: 0;
    min-height: initial;
  }
  .sec-main-top-v1.lg .main-top-text {
    min-height: initial;
  }
  .sec-main-top-v1 h1, 
  .sec-main-top-v1 h2, 
  .sec-main-top-v1 h3, 
  .sec-main-top-v1 h4 {
    font-size: 4.4rem;
  }
  .sec-main-top-v1 .main-top-img {
    padding-left: 0;
    margin-right: auto;
    overflow: hidden;
    height: 25rem;
  }
  .sec-main-top-v1.lg .main-top-img {
    height: 34rem;
  }
}
@media(max-width:767.98px){
  .sec-main-top:has(+ .sec-details) {
    margin-bottom: 3.2rem;
  }
  .main-top-text {
    padding-right: 0;
  }
  .sec-main-top::before,
  .sec-main-top::after,
  .main-top-img::after,
  .main-top-img::before{
    content: none;
  }
  .main-top-text br{
    display: none;
  }
  .main-top-text p {
    font-size: 1.5rem;
    line-height: 160%;
  }
  .main-top-img {
    padding-left: 0;
    margin-right: 0;
    margin-top: 3.2rem;
  }
  .main-top-img img {
    height: 51rem;
  }
  .main-top-btn {
    margin-bottom: 2.4rem;
  }
  .sec-main-top-v1 {
    padding: 4rem 0 0 !important;
  }
  .sec-main-top-v1 .main-top-text {
    min-height: initial;
    padding: 0;
  }
  .sec-main-top-v1.lg .main-top-text {
    min-height: initial;
  } 
  .sec-main-top-v1 h1, 
  .sec-main-top-v1 h2, 
  .sec-main-top-v1 h3, 
  .sec-main-top-v1 h4 {
    font-size: 3.2rem;
  }
  .sec-main-top-v1 .main-top-img {
    padding-left: 0;
    overflow: hidden;
    height: 26rem;
  } 
  .sec-main-top-v1.lg .main-top-img {
    height: 34rem;
  } 
}
@media(max-width:575.98px){
  .sec-main-top-v1 .main-top-img {
    margin: 3.2rem -1.5rem 0;
    width: calc(100% + 3rem);
    height: 45vw;
  }
  .sec-main-top-v1.lg .main-top-img {
    height: 64vw;
  }
  .main-top-img img {
    height: 92vw;
  }
  .main-top-btn .btn {
    width: 100%;
  }
}

/* Kontener na komunikaty (przyklejony w prawym górnym rogu) */
.flash{
  position: fixed;
  top: 1rem;
  left: 50%;
  transform: translateX(-50%);
  right: auto;
  width: min(620px, 96vw);
  z-index: 1050;
  display: grid;
  gap: .5rem;
}

/* Pudełko alertu — scope'owane do .flash, żeby nie nadpisywać globalnego Bootstrapa */
.flash .alert{
  position: relative;
  padding: .875rem 2.5rem .875rem 2.25rem; /* miejsce na ikonę z lewej i przycisk z prawej */
  border: 1px solid transparent;
  border-radius: .5rem;
  background: #fff;
  box-shadow: 0 6px 18px rgba(0,0,0,.08), 0 2px 6px rgba(0,0,0,.06);
  font-size: .95rem;
  line-height: 1.45;
  animation: flash-in .25s ease-out both;
}

/* Wariant SUCCESS (masz już .alert-success w markupie) */
.flash .alert-success{
  background: #f0fff4;
  border-color: rgba(16,185,129,.35);
  color: #065f46;
}

/* (opcjonalnie) inne warianty, jeśli kiedyś użyjesz */
.flash .alert-info{
  background: #eff6ff;
  border-color: rgba(59,130,246,.35);
  color: #1e40af;
}
.flash .alert-warning{
  background: #fffbeb;
  border-color: rgba(245,158,11,.35);
  color: #92400e;
}
.flash .alert-danger,
.flash .alert-error{
  background: #fff5f5;
  border-color: rgba(239,68,68,.35);
  color: #991b1b;
}

/* Ikona po lewej — automatycznie dobierana do wariantu */
.flash .alert::before{
  content: "ℹ";
  position: absolute;
  left: .8rem;
  top: 50%;
  transform: translateY(-50%);
  font-weight: 700;
  font-size: 1rem;
  opacity: .9;
}
.flash .alert-success::before{ content: "✓"; }
.flash .alert-info::before{ content: "ℹ"; }
.flash .alert-warning::before{ content: "⚠"; }
.flash .alert-danger::before,
.flash .alert-error::before{ content: "✖"; }

/* Guzik zamknięcia (w markup masz .close) */
.flash .alert .close{
  position: absolute;
  top: .5rem; right: .6rem;
  border: 0; background: transparent;
  font-size: 1.15rem; line-height: 1;
  cursor: pointer;
  opacity: .6;
  padding: .25rem;
}
.flash .alert .close:hover{ opacity: 1; }
.flash .alert .close:focus-visible{
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

/* Animacja wejścia (wyłączana dla reduced motion) */
@keyframes flash-in{
  from{ transform: translateY(-6px); opacity: 0; }
  to{ transform: translateY(0); opacity: 1; }
}
@media (prefers-reduced-motion: reduce){
  .flash .alert{ animation: none; }
}
