* {
  box-sizing: border-box;
}

.table {
  width: 100%;
  margin: 0 auto;
  max-width: 1051px;
}

.trow {
  display: grid;
  grid-template-columns: 168px 1fr; /* lijevo vrijeme, desno info */
  gap: 10px;
  align-items: stretch; /* ključno: iste visine po redu */
  padding-top: 10px;
}

/* ZAJEDNIČKO */
.time,
.tinfo {
  border-radius: 22.829px;
  font-family: "eurostile-extended";
  font-weight: 400;
  font-variant: small-caps;

  height: auto; /* nema fiksne visine */
  min-height: 150px; /* ali imamo minimum */
  padding: 30px;
}

/* lijevi boks */
.time {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 168px; /* poklapa se s grid kolonom */
  max-width: 168px;
  color: #1000dd;
  font-size: 31.479px;
}

/* TEKST BLOK */
.tinfo {
  display: grid; /* da možemo centrirati bez loma inline teksta */
  place-items: center start; /* vertikalno centrirano, lijevo poravnano */
  color: #1000dd;
  font-family: Dobra;
  font-size: 32px;
  font-weight: 700;
  text-transform: uppercase;
  overflow-wrap: anywhere;
}

.tinfo p {
  margin: 0;
  line-height: 1.15;
}

.ltxt {
  font-weight: 400;
}
.smtxt {
  font-size: 0.62em;
  line-height: 1.2;
  display: inline; /* ostaje u istom redu dok ima mjesta */
}

.wbg {
  background: #fff !important;
}
.gbg {
  background: #0f0;
}
.bbg {
  background: #1000dd;
}
.gtxt {
  color: #0f0;
}
.btxt {
  color: #1000dd !important;
}

.boxes {
  gap: 10px;
  display: flex;
  flex-direction: column;
}

.relative {
  position: relative;
}

.ili {
  position: absolute;
  top: 75%;
  right: 10%;
  border-radius: 22.829px;
  border: 7px solid #000;
  background: #1000dd;
  width: 133px;
  height: 86px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.predavanja {
  width: 100%;
  padding: 28rem 0;
  background: url(../img/metal/m8.png), url(../img/metal/m9.png),
    url(../img/metal/m8.png);
  background-repeat: no-repeat;
  background-size: 60%, 60%, 70%;
  background-position: 100% -10%, 0% 45%, 100% 90%;
}

.predwrap {
  width: 100%;
  max-width: 1010px;
  margin: 0 auto;
}

.prow {
  width: 100%;
  max-width: 1010px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 14px;
  margin: 0px auto 160px auto;
  position: relative;
}

.preverse {
  flex-direction: row-reverse;
}

.pimg {
  aspect-ratio: 388 / 516;
}

.perimg {
  width: 100%;
  position: absolute;
  right: -10px;
}

.pimgrev {
  top: 14px;
  left: -6px;
}

.pname {
  color: #fff;
  text-align: justify;
  font-family: Dobra;
  font-size: 28px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  text-transform: uppercase;
}

.pdata {
  border-radius: 20.136px;
  background: #1000dd;
  max-width: 593px;
  padding: 1rem 2rem;
}

.ptitle {
  color: #0f0;
  font-family: Dobra;
  font-size: 32px;
  font-style: normal;
  font-weight: 700 !important;
  line-height: normal;
  text-transform: uppercase;
}

.pdesc {
  color: #fff;
  font-family: Dobra;
  font-size: 18.941px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  padding-bottom: 1rem;
}

.ptype {
  position: absolute;
  right: -12rem;
  top: 8.5rem;
  transform: rotate(90deg);
  color: #fff;
  font-family: "eurostile-extended";
  font-size: 35.385px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  font-variant: small-caps;
  border-radius: 20.136px;
  background: #1000dd;
  padding: 6px;
  text-transform: uppercase;
}

.pmil {
  right: -11.8rem;
}

.pflip {
  right: unset;
  left: -4rem;
  top: 1rem;
  text-align: left;
  writing-mode: sideways-lr;
  transform: rotate(0);
}

.txr {
  text-align: right !important;
}

@media screen and (max-width: 900px) {
  .table {
    padding: 1rem;
  }
  .trow {
    display: block;
    width: 100%;
    padding-top: 16px;
  }
  .time,
  .tinfo {
    min-height: 60px !important;
    min-height: auto;
    padding: 16px;
    font-size: 20px;
    text-align: left;
    display: block;
    width: 100%;
    max-width: 100%;
  }
  .tinfo {
    margin-top: 16px;
  }
  .ili {
    position: absolute;
    top: 85%;
    right: 10%;
    border-radius: 22.829px;
    border: 7px solid #000;
    background: #1000dd;
    width: 63px;
    height: 36px;
    padding: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .mobnp {
    margin-top: 0;
  }
  .predavanja {
    background: none;
    padding: 4rem 1rem;
  }
  .ptype {
    position: static;
    transform: unset;
  }
  .prow {
    display: block;
  }
  .ptype {
    font-size: 1.2rem;
    padding-bottom: 0.5rem;
  }
  .pimg {
    margin: 1rem auto;
  }
  .pname,
  .ptype {
    text-align: center;
  }
  .pflip {
    writing-mode: unset;
  }
  .pname.txr {
    text-align: center !important;
  }
  .ptitle.txr,
  .pdesc.txr {
    text-align: left !important;
  }
}
