.confreg {
  padding: 28px 0 56px;
}

.confreg__container {
  width: min(1160px, 96%);
  margin: 0 auto;
}

.confreg__header {
  margin-bottom: 18px;
}

.confreg__kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: .3px;
  text-transform: uppercase;
  color: rgba(0,0,0,.65);
}

.confreg__title {
  margin-top: 10px;
  font-size: 34px;
  line-height: 1.1;
  font-weight: 500;
}

/* === TABS === */
.confreg__tabs {
  margin-top: 14px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.confreg__tab {
  position: relative;
  display: block;
  padding: 0;
  border-radius: 18px;
  text-decoration: none;
  color: inherit;

  border: 1px solid rgba(0,0,0,.10);
  background: #fff;
  box-shadow: 0 10px 26px rgba(0,0,0,.06);
  transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
  overflow: hidden;
}

.confreg__tab:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 34px rgba(0,0,0,.08);
}

.confreg__tab.is-active {
  border-color: #C2181F;
  box-shadow:
    0 16px 40px rgba(0,0,0,.10),
    0 0 0 3px rgba(194, 24, 31, 0.10);
}

.confreg__tab-media {
  display: block;
  width: 100%;
  height: 92px;         /* можно 84–110 под вкус */
  border-radius: 0;     /* т.к. скругление уже у .confreg__tab */
  overflow: hidden;
  border: none;
  background: rgba(0,0,0,.03);
  box-shadow: none;
}

.confreg__tab-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.confreg__tab-title {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: .1px;
}
/* === /TABS === */

/* === UPDATED: info cards === */
.confreg__info {
  margin-top: 14px;
  display: grid;
  grid-template-columns: 1fr 1.35fr 1fr;
  gap: 12px;
}

.confreg__info-item {
  position: relative;
  padding: 16px 16px;
  border-radius: 18px;

  border: 1px solid rgba(0,0,0,.08);
  box-shadow:
    0 10px 26px rgba(0,0,0,.06),
    0 1px 0 rgba(255,255,255,.7) inset;

  transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}

.confreg__info-item:hover {
  transform: translateY(-1px);
  border-color: rgba(194, 24, 31, 0.18);
  box-shadow:
    0 14px 34px rgba(0,0,0,.08),
    0 1px 0 rgba(255,255,255,.7) inset;
}

.confreg__info-label {
  font-size: 12px;
  font-weight: 500;
  color: rgba(0,0,0,.52);
  margin-bottom: 8px;
  letter-spacing: .2px;
}

.confreg__info-value {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.45;
}
/* === /UPDATED === */

.confreg__link {
  color: inherit;
  text-decoration: none;
  border-bottom: 1px dashed rgba(0,0,0,.35);
}

.confreg__link:hover {
  border-bottom-color: rgba(194, 24, 31, 0.7);
}

/* === INTRO TEXT === */
.confreg__intro {
  margin-top: 12px;
  padding: 16px 16px;
  border-radius: 18px;
  border: 1px solid rgba(0,0,0,.08);
  background: linear-gradient(180deg, rgba(255,255,255, 0.96), rgba(255,255,255, 0.90));
  box-shadow: 0 10px 26px rgba(0,0,0,.05);
}

.confreg__intro-lead {
  margin: 0 0 8px;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.4;
  color: rgba(0,0,0,.82);
}

.confreg__intro-text {
  margin: 0;
  font-size: 13px;
  line-height: 1.55;
  color: rgba(0,0,0,.70);
}
/* === /INTRO TEXT === */

.confreg__card {
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 20px;
  background: #fff;
  overflow: hidden;
  box-shadow: 0 16px 50px rgba(0,0,0,.08);
}

.confreg__grid {
  display: grid;
  grid-template-columns: 1fr;
}

.confreg__form-wrap {
  padding: 22px;
  max-width: 980px;
}

.confreg__text-wrap {
  padding: 22px;
  max-width: 980px;
}

.confreg__text-title {
  margin: 0 0 14px;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: .1px;
}

.confreg__rules h3 {
  margin: 18px 0 8px;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.25;
}

.confreg__rules h4 {
  margin: 12px 0 6px;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.25;
  color: rgba(0,0,0,.78);
}

.confreg__rules p {
  margin: 0 0 10px;
  font-size: 13px;
  line-height: 1.6;
  color: rgba(0,0,0,.74);
}

.confreg__rules ul {
  margin: 0 0 10px 18px;
  padding: 0;
}

.confreg__rules li {
  margin: 0 0 6px;
  font-size: 13px;
  line-height: 1.55;
  color: rgba(0,0,0,.74);
}

.confreg__errors {
  margin-bottom: 14px;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(194, 24, 31, 0.28);
  background: rgba(194, 24, 31, 0.06);
  color: rgba(120, 10, 14, 1);
  font-size: 13px;
  line-height: 1.35;
}

.confreg__form {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.confreg__fields {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.confreg__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.confreg__row--one {
  grid-template-columns: 1fr;
}

.confreg__field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.confreg__label {
  font-size: 13px;
  font-weight: 800;
  color: rgba(0,0,0,.75);
}

.confreg__field input,
.confreg__field select,
.confreg__field textarea {
  width: 100%;
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 14px;
  padding: 12px 12px;
  font-size: 15px;
  background: #fff;
  outline: none;
  transition: border-color .15s ease, box-shadow .15s ease;
}

.confreg__field input:focus,
.confreg__field select:focus,
.confreg__field textarea:focus {
  border-color: rgba(194, 24, 31, 0.55);
  box-shadow: 0 0 0 4px rgba(194, 24, 31, 0.10);
}

.confreg__field-error {
  font-size: 12px;
  font-weight: 500;
  color: rgba(120, 10, 14, 1);
}

.confreg__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  margin-top: 4px;
}

.confreg__btn {
  appearance: none;
  border: none;
  border-radius: 14px;
  padding: 12px 16px;
  font-size: 15px;
  font-weight: 500;
  cursor: pointer;
  background: #C2181F;
  color: #fff;
  transition: transform .08s ease, background .15s ease, opacity .15s ease;
}

.confreg__btn:hover {
  background: #a9141a;
}

.confreg__btn:active {
  transform: translateY(1px);
}

.confreg__btn.is-loading {
  opacity: .88;
  cursor: default;
}

.confreg__note {
  font-size: 12px;
  line-height: 1.35;
  color: rgba(0,0,0,.62);
  max-width: 520px;
}

@media (max-width: 1279px) {
  .confreg__container { width: min(944px, 96%); }
}

@media (max-width: 1023px) {
  .confreg__tabs { grid-template-columns: 1fr; }
  .confreg__info { grid-template-columns: 1fr; }
  .confreg__grid { grid-template-columns: 1fr; }
  .confreg__title { font-size: 30px; font-weight: 500; }
}

@media (max-width: 479px) {
  .confreg { padding: 18px 0 44px; }
  .confreg__form-wrap,
  .confreg__text-wrap { padding: 16px; }
  .confreg__row { grid-template-columns: 1fr; }
  .confreg__title { font-size: 26px; }
  .confreg__tab { grid-template-columns: 56px 1fr; }
  .confreg__tab-media { width: 56px; height: 42px; }
}

/* === TABS === */
.confreg__tabs{
  margin-top: 14px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.confreg__tab{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;

  min-height: 56px;
  padding: 14px 16px;

  border-radius: 16px;
  text-decoration: none;
  color: #fff;

  background: linear-gradient(180deg, #303030 0%, #303030 100%);
  border: 1px solid rgba(0,0,0,.18);
  box-shadow:
    0 10px 24px rgba(0,0,0,.10),
    0 1px 0 rgba(255,255,255,.18) inset;

  transition: transform .12s ease, box-shadow .12s ease, filter .12s ease, background .12s ease;
  overflow: hidden;
}

/* “стрелка” справа, как на роллапе */
.confreg__tab::after{
  content:"";
  position:absolute;
  top: 0;
  right: -22px;
  width: 44px;
  height: 100%;
  background: linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,0));
  transform: skewX(-18deg);
  opacity: .55;
}

/* легкие диагональные блики */
.confreg__tab::before{
  content:"";
  position:absolute;
  inset: 0;
  background:
    linear-gradient(135deg, rgba(255,255,255,.14) 0%, rgba(255,255,255,0) 45%),
    linear-gradient(315deg, rgba(0,0,0,.14) 0%, rgba(0,0,0,0) 40%);
  opacity: .55;
  pointer-events: none;
}

.confreg__tab:hover{
  transform: translateY(-1px);
  filter: brightness(1.03);
  box-shadow:
    0 14px 30px rgba(0,0,0,.14),
    0 1px 0 rgba(255,255,255,.18) inset;
}

.confreg__tab:active{
  transform: translateY(0px);
}

.confreg__tab-text{
  position: relative;
  z-index: 1;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: .2px;
  text-transform: uppercase;
  text-align: center;
  line-height: 1.15;

  text-shadow:
    0 2px 10px rgba(0,0,0,.35),
    0 1px 0 rgba(0,0,0,.25);
}

/* active */
.confreg__tab.is-active{
  background: linear-gradient(180deg, #88080f 0%, #c2181f 100%);
  border-color: rgba(194,24,31,.55);
  box-shadow:
    0 16px 34px rgba(0,0,0,.16),
    0 0 0 3px rgba(194,24,31,.14),
    0 1px 0 rgba(255,255,255,.22) inset;
}

.confreg__tab.is-active::after{
  opacity: .75;
}

@media (max-width: 1023px){
  .confreg__tabs{ grid-template-columns: 1fr; }
  .confreg__tab{ min-height: 54px; }
}
/* === /TABS === */
