:root {
  --container-max-width: 980px;
  --gap: 35px;
}

.catalog-container {
  max-width: var(--container-max-width);
  margin: 20px auto 20px;
}

.seminar-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--gap);
}

@media (min-width: 980px) {
  .seminqr-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

.seminar-card {
  max-width: 920px;
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  border: 1px solid #ddd;
  display: flex;
  flex-direction: column;
  transition: transform 0.3s;
  position: relative; /* важно для позиционирования оверлея */
}

.seminar-card:hover {
  transform: translateY(-5px);
}

/* Блок с картинкой и заголовком поверх неё */
.seminar-image-wrapper {
  position: relative;
  width: 100%;
  height: 215px;
}

.seminar-image {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: brightness(55%); /* затемнение картинки */
}

/* Затемняющий слой (альтернатива filter — можно использовать и его, и градиент) */
.seminar-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.15); /* лёгкая дополнительная тонировка */
  pointer-events: none;
}
.seminar-data {
  position: absolute;
  top: 25px;
  left: 25px;
  right: 18px;
  color: #fff;
  font-size: 16px;
  font-weight: 500;
  font-family: 'Open Sans', sans-serif;
  line-height: 1.3;
  text-shadow: 0 2px 4px rgba(0,0,0,0.4); /* тень для читаемости */
  margin: 0;
  z-index: 2;
    
}
.seminar-title-overlay {
  position: absolute;
  top: 55px;
  left: 25px;
  right: 16px;
  width: 80%;
  color: #fff;
  font-size: 20px;
  font-weight: 600;  
  line-height: 1.3;
  text-shadow: 0 2px 4px rgba(0,0,0,0.4); /* тень для читаемости */
  margin: 0;
  z-index: 2;
}

.seminar-body {
  padding: 15px;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}

.seminar-meta {
  position: absolute;
  top: 25px;
  left: 25px;  
  width: calc(100% - 25px);
  color: #fff;
  font-size: 18px;
  text-shadow: 0 2px 4px rgba(0,0,0,0.4); /* тень для читаемости */
  margin: 0;
  display: flex;
  align-items: center;
  gap: 12px;  
}

.seminar-form-badge {
  position: absolute;
  background: rgba(150,150,150,0.2);
  backdrop-filter: blur(4px); /* эффект стекла */
  padding: 3px 10px;
  border-radius: 15px;
  color: #fff;
  right: 20px;
  font-size: 18px;
  font-weight: 500; 
  text-shadow: 0 2px 4px rgba(0,0,0,0.4);
  margin: 0;
  z-index: 2;

}

.seminar-description {
  left: 25px;
  text-align: justify;
  margin: 0 10px 10px 0;
  font-size: 14px;
  font-weight: 450;
  line-height: 25px;
  color: #242424;
}

.seminar-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid #eee;
  padding-top: 12px;
}

.seminar-footer-n {
  position: relative;
  height: 35px;
  width: 100%;
  padding-top: 12px;
}

.seminar-price {
  font-weight: 700;
  font-size: 1.1rem;
  color: #242424;;
}

.seminar-price-fiz {
  position: absolute;
  left: 175px;
  bottom: 15px;
  font-weight: 600;
  font-size: 16px;
  color: #242424;;
}
.seminar-price-ur {
  position: absolute;
  left: 380px;
  bottom: 15px;
  font-weight: 600;
  font-size: 16px;
  color: #242424;;
}
.seminar-price-arh {
  position: absolute;
  left: 170px;
  bottom: 15px;
  font-weight: 600;
  font-size: 16px;
  color: #242424;;
}

.price-ur-text {
  position: absolute;
  bottom: 1px;
  left: 85px;
  font-size: 14px;
  color: #242424;
}
.price-fiz-text {
  position: absolute;
  bottom: 15px;
  left: 0;
  font-size: 16px;
  font-weight: 600;
  color: #242424;
}

.seminar-price {
  font-weight: 700;  
  color: #242424;;
}
.price-promo-old {
  position: absolute;
  left: 175px;
  bottom: 15px;
  font-weight: 600;
  font-size: 16px;
  color: #777777;
  text-decoration: line-through;
  text-decoration-thickness: 1px;
  text-decoration-color: #777777;
}
.price-promo-new {
    position: absolute;
    left: 255px;
    bottom: 15px;
    font-weight: 600;
    font-size: 16px;
    color: #EB3246;
}
.promo-description {
    position: absolute;
    left: 335px;
    bottom: 12px;         
    font-size: 16px;
    font-weight: 450;
    line-height: 25px;
    color: #242424;	
}
.fis-description {
    position: absolute;
    left: 250px;
    bottom: 12px;         
    font-size: 16px;
    font-weight: 450;
    line-height: 25px;
    color: #242424;	
}
.ur-description {
    position: absolute;
    left: 460px;
    bottom: 12px;         
    font-size: 16px;
    font-weight: 450;
    line-height: 25px;
    color: #242424;	
}


.seminar-link {
  text-decoration: none;
  color: #007bff;
  font-weight: 600;
}
.seminar-link-n {
  position: absolute;
  bottom: 27px;
  right: 5px;
  text-decoration: none;  
  font-weight: 450;
  background: #2175C5;
  backdrop-filter: blur(4px);
  color: #fff;
  font-size: 16px;   
  text-shadow: rgba(0, 0, 0, 0.4) 0px 2px 4px;
  z-index: 1;  
  padding: 3px 10px;
  border-radius: 15px;
  margin: 0px;
}
.seminar-link-p {
  position: absolute;
  bottom: 27px;
  right: 100px;
  text-decoration: none;  
  font-weight: 450;
  background: rgba(80, 80, 80, 0.7);
  backdrop-filter: blur(4px);
  color: #fff;
  font-size: 16px;   
  text-shadow: rgba(0, 0, 0, 0.4) 0px 2px 4px;
  z-index: 1;  
  padding: 3px 10px;
  border-radius: 15px;
  margin: 0px;
}


.seminar-link:hover {
  text-decoration: underline;
}

.seminar-start-badge {
  position: relative;
  margin-right: 15px;
  color: #fff;
  margin-left: 0;  
  font-size: 18px;
  font-weight: 500; 
  text-shadow: 0 2px 4px rgba(0,0,0,0.4);
  margin: 0;
  z-index: 2;
}

.more {
  position: relative;
  font-size: 18px;
  margin: 25px 0;
  color: #242424;
  text-decoration: none;
  display: flex;
  align-items: center;
  flex-direction: row;
  width: 240px;
  padding: 2px 15px;
  border: 2px solid #242424;
  border-radius: 25px;
}

.more-link {
  font-size: 18px;
  font-weight: 600;
  color: #242424;
  text-decoration: none;
  margin-right: 20px;
}

.more-i {
  font-size: 24px;
  margin-top: 2px;
  color: #242424;
}
.lector-container {
    position: absolute;
    top: 100px;
    left: 25px;
    display: flex;
    align-items: center;
    width: calc(100% - 125px);
    height: 120px;
    text-align: left;
}
.lector-foto img {
    width: 75px;
    height: 75px;
    border-radius: 50%;
    overflow: hidden;
}
.lector-info {
    position: relative;
    width: calc(100% - 80px);
    left: 10px;
}
.lector-name {
    margin: 5px;
    font-size: 16px;
    display: block;
    font-weight: 600;
    color: white;
}
.lector-description {
    margin: 5px;
    font-size: 14px;
    display: block;
    font-weight: 450;
    color: white;
}
.lectors {
    display: flex;
    align-items: center;
}
.arhive-button {
    position: relative;       
    font-size: 18px;
    font-weight: 500;
    text-align: center;
    width: auto;
    margin-left: 10px;
    color: rgb(255, 255, 255);
    backdrop-filter: blur(4px);
    cursor: pointer;
    padding: 5px 15px;
    border-radius: 25px;
    white-space: nowrap;
    background: rgba(80, 80, 80, 0.7);
    text-decoration: none;
    transition: 0.5s;
}
@media (min-width: 900px) {
    .seminar-form-mob {
    	display: none;	
    }
}


@media (max-width: 900px) {
    .seminar-image-wrapper {
    	position: relative;
    	width: 100%;
    	height: auto;
    }
    .seminar-meta {
    	position: relative;
    	display: flex;
    	flex-direction: row;
    	align-items: center;
    	justify-content: space-between;    
        top: 0;
    	left: 0;
    	margin-top: 15px;
    	margin-left: 15px;
      	font-size: 14px;
      	gap: 12px;
    }
    .seminar-start-badge {
    	position: relative;    	
    	color: #fff;
    	margin-left: 0;
    	font-size: 16px;
    	font-weight: 500;
    	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.4);
    	margin: 0;
    	z-index: 2;
    }
    .seminar-form-mob {
	position: relative;
    	margin-right: 5px;
    	color: #fff;
    	margin-left: 0;
    	font-size: 16px;
    	font-weight: 500;
    	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.4);    	
    	z-index: 2;
    }
    .seminar-title-overlay {
    	position: relative;
    	top: 0;
    	left: 0;
    	width: calc (100% - 30px);
    	margin-top: 5px;
    	margin-left: 15px;    	
    	color: #fff;
    	font-size: 16px;
    	font-weight: 500;
    	line-height: 1.3;
    	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.4);    	
    	z-index: 2;
    }
    .lector-container {
    	position: relative;    
    	left: unset !important;
    	top: unset;  
    	margin: 15px;
    	display: flex;
    	align-items: center;
    	width: calc(100% - 30px);
    	height: 65px;
    	text-align: left;
    }
    .lector-name {
    	margin: 5px 0;
    	font-size: 14px;    
    	font-weight: 500;    
    }      	
    .lector-description {
    	margin: 5px 0;
    	font-size: 12px;
    	display: block;
    	font-weight: 400;    	
    }
    .seminar-form-badge {
    	display: none;
    }
    .lectors {
	flex-direction: column;
    }
    .lector-foto img {
    	width: 60px;
    	height: 60px;
    	border-radius: 50%;
    	overflow: hidden;
    }
    .seminar-description {
    	text-align: justify;
    	margin: 0;
    	font-size: 12px;
    	font-weight: 450;
    	line-height: 18px;
    	color: #242424;
    }
    .seminar-footer-n {
    	position: relative;
    	height: auto;
    	width: 100%;
    	padding-top: 5px;
    }
    .price-fiz-text {
    	position: relative;
    	bottom: unset;
    	left: unset;
    	margin: 10px 0;
    	font-size: 14px;
    	font-weight: 600;    	
    }
    .seminar-price-fiz {
    	position: relative;
    	left: unset;
    	bottom: unset;
    	margin: 0 5px;
    	font-weight: 600;
    	font-size: 14px;
    	color: #242424;
    }
    .price-promo-old {
    	position: relative;
    	left: unset;
    	bottom: unset;
    	margin: 0 5px;
    	font-weight: 600;
    	font-size: 14px;
    }
    .price-promo-new {
    	position: relative;
    	left: unset;
    	bottom: unset;
    	margin: 0 5px;
    	font-weight: 600;
    	font-size: 14px;    	
    }
    .seminar-price-arh {
    	position: relative;
    	left: unset;
    	bottom: unset;
    	font-weight: 600;
    	margin: 0 5px;
    	font-size: 14px;
    	color: #242424;
    }
    .promo-description {
    	display: none;
    }
    .card-actions {
        position: relative;
        height: auto;
        width: 100%;
        padding-top: 15px;
        text-align: left;
    }
    .seminar-link-p {
    	position: relative;
    	bottom: unset;
    	right: unset; 	
    	font-weight: 450;
      	font-size: 14px;
    	text-shadow: none;
    	z-index: 1;
    	padding: 3px 10px;
    	border-radius: 15px;
    	margin: 0;
    	margin-right: 5px;
    	background: rgba(80, 80, 80, 0.7);    	
    }
    .seminar-link-n {
    	position: relative;
    	text-shadow: none;
    	bottom: unset;
    	right: unset;    
    	font-weight: 450;
    	font-size: 14px;
    	padding: 3px 10px;
    	border-radius: 15px;
    	margin: 0px;
    }
    .scroll-btn.prev {
    	display: none;
    }
    .scroll-btn.next {
	display: none;
    }
    .fis-description {
    	position: relative;
   	left: unset;
    	bottom: unset;
    	font-size: 14px;
    	font-weight: 450;
    	margin: 10px 0;    	
    }
    .seminar-price-ur {
    	display: none;
    }
    .ur-description {
    	display: none;
    }

}