/**************************************/
/* HEADER */
/**************************************/
.header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: #fdf2e9;
  /* Visina definisana zbog sticky nav-a */
  height: 9.6rem;
  padding: 0 4.8rem;

  /* menu je apsolutno pozicioniran tako da mora da se stavi parent relative */
  position: relative;
}

.logo {
  height: 2.2rem;
}

/**************************************/
/* NAVIGATION */
/**************************************/

.main-nav-list {
  list-style: none;
  display: flex;
  align-items: center;
  gap: 4.8rem;
}

.main-nav-link:link,
.main-nav-link:visited {
  display: inline-block;
  text-decoration: none;
  color: #333;
  font-weight: 500;
  font-size: 1.8rem;
  /* Transition all znaci da se sve animira, bg color, boja teksta itd.
  Ako odaberemo transition: background-color to znaci da ce samo bgcolor da se animira */
  transition: all 0.3s;
}

.main-nav-link:hover,
.main-nav-link:active {
  color: #a15818;
}

.main-nav-link.nav-cta:link,
.main-nav-link.nav-cta:visited {
  padding: 1.2rem 2.4rem;
  border-radius: 9px;
  color: #fff;
  background-color: #e67e22;
}

.main-nav-link.nav-cta:hover,
.main-nav-link.nav-cta:active {
  background-color: #cf711f;
}

/**************************************/
/* MOBILE */
/**************************************/

.btn-mobile-nav {
  border: none;
  background: none;
  cursor: pointer;

  display: none;
}

.icon-mobile-nav {
  height: 4.8rem;
  width: 4.8rem;
  color: #333;
}

.icon-mobile-nav[name="close-outline"] {
  display: none;
}

/**************************************/
/* STICKY NAVIGATION */
/**************************************/
.sticky .header {
  position: fixed;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 8rem;
  padding-top: 0;
  padding-bottom: 0;
  background-color: rgba(255, 255, 255, 0.97);
  z-index: 999;
  box-shadow: 0 1.2rem 3.2rem rgba(0, 0, 0, 0.05);
}

/* Hocu da section-hero dobije marginu 9.6rem kad god je sticky aktivan tj. kad header dobije klasu .sticky ali je to nemoguce zato sto header nije parent element hero sekcije vec je to body element i onda dodajemo body elementu .sticky klasu

Dodao sam margin-top zato sto kad napustim viewport hero sekcije odmah se pojavi sticky nav i prekrije deo sa logoima firmi. Zato sam rekao kad sticky postane aktivan ti sekciji hero daj marginu top 9.6rem*/
.sticky .section-hero {
  margin-top: 9.6rem;
}
/**************************************/
/* HERO SECTION */
/**************************************/

.section-hero {
  background-color: #fdf2e9;
  padding: 4.8rem 0 9.6rem 0;
}

.hero {
  max-width: 130rem;
  margin: 0 auto;
  padding: 0 3.2rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 9.6rem;
}

.hero-description {
  font-size: 2rem;
  line-height: 1.6;
  margin-bottom: 4.8rem;
}

.hero-img {
  width: 100%;
}

.delivered-meals {
  display: flex;
  margin-top: 8rem;
  align-items: center;
  gap: 1.6rem;
}

.delivered-imgs {
  display: flex;
}

.delivered-imgs img {
  height: 4.8rem;
  width: 4.8rem;
  border-radius: 50%;
  margin-right: -1.6rem;
  border: 3px solid #fdf2e9;
}

.delivered-imgs img:last-child {
  margin: 0;
}

.delivered-text {
  font-size: 1.8rem;
  font-weight: 600;
}

.delivered-text span {
  color: #a15818;
  font-weight: 700;
}

/**************************************/
/* FEATURED SECTION */
/**************************************/

.section-featured {
  padding: 4.8rem 0 3.2rem 0;
}

.heading-featured-in {
  font-size: 1.4rem;
  text-transform: uppercase;
  letter-spacing: 0.75px;
  font-weight: 500;
  text-align: center;
  margin-bottom: 2.4rem;
  color: #888;
}

.logos {
  display: flex;
  justify-content: space-around;
  /* align-items: center; */
}

.logos img {
  height: 3.2rem;
  filter: brightness(0); /* svetlina na 0 i element postaje crn */
  opacity: 0.5; /* vidljivost na 0.5 mu daje sivu boju */
}

/**************************************/
/* HOW IT WORKS SECTION */
/**************************************/
.section-how {
  padding: 9.6rem 0;
}

.step-number {
  font-size: 9.8rem;
  font-weight: 600;
  color: #ddd;
  margin-bottom: 1.2rem;
}

.step-description {
  font-size: 1.6rem;
  line-height: 1.8;
}

.step-img-box {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}

.step-img-box::before,
.step-img-box::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
}

.step-img-box::before {
  width: 60%;
  /* height: 60%; ne radi na before pa koristimo padding-bottom*/

  /* 60% visine parent elementa */
  padding-bottom: 60%;
  background-color: #fdf2e9;
  z-index: -2;
}

.step-img-box::after {
  width: 45%;
  /* 45% visine parent elementa */
  padding-bottom: 45%;
  background-color: #fae5d3;
  z-index: -1;
}

.step-img {
  width: 35%;
}

/**************************************/
/* MEALS SECTION */
/**************************************/
.section-meals {
  padding: 9.6rem 0;
}

.meal {
  box-shadow: 0 2.4rem 4.8rem rgba(0, 0, 0, 0.075);
  border-radius: 11px;
  overflow: hidden; /* img overflowuje parenta tako da stavimo hidden overflow da bi i img bila rounded */
  transition: all 0.4s;
}

.meal:hover {
  transform: translateY(-1rem);
  box-shadow: 0 3.2rem 6.4rem rgba(0, 0, 0, 0.1);
}

.meal-content {
  padding: 3.2rem 4.8rem 4.8rem 4.8rem;
}

.meal-tags {
  margin-bottom: 1.2rem;
  display: flex;
  gap: 0.4rem;
}

.tag {
  display: inline-block;
  padding: 0.4rem 0.8rem;
  font-size: 1.2rem;
  text-transform: uppercase;
  color: #333;
  border-radius: 100px;
  font-weight: 600;
}

.tag--vegetarian {
  background-color: #51cf66;
}

.tag--vegan {
  background-color: #94d82d;
}

.tag--paleo {
  background-color: #ffd43b;
}

.meal-title {
  font-size: 2.4rem;
  font-weight: 600;
  color: #333;
  margin-bottom: 3.2rem;
}
.meal-attributes {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.meal-attribute {
  font-size: 1.8rem;
  display: flex;
  align-items: center;
  gap: 1.6rem;
}

.meal-icon {
  height: 2.4rem;
  width: 2.4rem;
  color: #e67e22;
}

.meal-img {
  width: 100%;
}

.all-recipes {
  text-align: center;
  font-size: 1.8rem;
}

/**************************************/
/* TESTIMONIALS SECTION */
/**************************************/
.section-testimonials {
  background-color: #fdf2e9;
  display: grid;
  /* Koristim fr umesto % zbog gap property - trik */
  grid-template-columns: 55fr 45fr; /* Isto ko da sam napisao 55% 45% ali moram fr zbog gap-a */
  align-items: center;
}

.testimonials-container {
  padding: 9.6rem;
}

.testimonials {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  row-gap: 4.8rem;
  column-gap: 8rem;
}

.testimonial-img {
  width: 6.4rem;
  border-radius: 50%;
  margin-bottom: 1.2rem;
}

.testimonial-text {
  font-size: 1.8rem;
  line-height: 1.8;
  margin-bottom: 1.6rem;
}

.testimonial-name {
  font-size: 1.6rem;
  color: #6f6f6f;
}

.gallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.6rem;
  padding: 1.6rem;
}

.gallery-item {
  /* Isto overflow hidden kako img ne bi overflow parenta */
  overflow: hidden;
}

.gallery-item img {
  display: block;
  transition: all 0.4s;
  width: 100%; /* 100%  parent elementa */
}

.gallery-item img:hover {
  transform: scale(1.1);
}

/**************************************/
/* PRICING SECTION */
/**************************************/

.section-pricing {
  padding: 9.6rem 0;
}

.pricing-plan {
  border-radius: 11px;
  width: 75%;
}

.pricing-plan--starter {
  /* Koristim justify-self:end na levom elementu kako bi se poravnao uz desnu stranu. Nije potrebno korstiti i na desnom elementu jer je po defaultu zalepljen za levu ivicu */
  justify-self: end;
  border: 2px solid #fdf2e9;
  padding: 4.6rem;
}

.pricing-plan--complete {
  background-color: #fdf2e9;
  padding: 4.8rem;
  position: relative;
  overflow: hidden;
}

.pricing-plan--complete::after {
  content: "Best value";
  position: absolute;
  top: 6%;
  right: -18%;
  text-transform: uppercase;
  font-size: 1.4rem;
  font-weight: 700;
  color: #333;
  background-color: #ffd43b;
  padding: 0.8rem 8rem;
  transform: rotate(45deg);
}

.plan-header {
  text-align: center;
  margin-bottom: 4.8rem;
}

.plan-name {
  color: #cf711f;
  font-weight: 600;
  font-size: 2rem;
  text-transform: uppercase;
  letter-spacing: 0.75;
  margin-bottom: 3.2rem;
}

.plan-price {
  font-size: 6.2rem;
  font-weight: 600;
  color: #333;
  margin-bottom: 1.6rem;
}

.plan-price span {
  font-size: 3rem;
  font-weight: 500;
  margin-right: 0.8rem;
}

.plan-text {
  font-size: 1.6rem;
  line-height: 1.6;
  color: #6f6f6f;
}

.plan-sign-up {
  text-align: center;
  margin-top: 4.8rem;
}

.plan-details {
  font-size: 1.6rem;
  line-height: 1.6;
  text-align: center;
}

.feature-icon {
  color: #e67e22;
  height: 3.2rem;
  width: 3.2rem;
  margin-bottom: 3.2rem;
  padding: 1.6rem;
  border-radius: 50%;
  background-color: #fdf2e9;
}

.feature-title {
  font-size: 2.4rem;
  color: #333;
  font-weight: 700;
  margin-bottom: 1.6rem;
}

.feature-text {
  font-size: 1.8rem;
  line-height: 1.8;
}

/**************************************/
/* CTA SECTION */
/**************************************/
.section-cta {
  padding: 4.8rem 0 12.8rem 0;
}

.cta {
  display: grid;
  grid-template-columns: 2fr 1fr;
  box-shadow: 0 2.4rem 4.8rem rgba(0, 0, 0, 0.15);
  border-radius: 11px;
  background-image: linear-gradient(to right bottom, #eb984e, #e67e22);
  overflow: hidden;
}

.cta-text-box {
  padding: 4.8rem 6.4rem 6.4rem 6.4rem;
  color: #45260a;
}

.cta .heading-secondary {
  color: inherit;
  margin-bottom: 3.2rem;
}

.cta-text {
  font-size: 1.8rem;
  line-height: 1.8;
  margin-bottom: 4.8rem;
}

.cta-img-box {
  background-image: linear-gradient(
      to right bottom,
      rgb(235, 150, 76, 0.3),
      rgb(230, 126, 34, 0.3)
    ),
    url("../img/eating.jpg");
  background-size: cover;
  background-position: center;
}

.cta-form {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 3.2rem;
  row-gap: 2.4rem;
}

.cta-form label {
  display: block; /* da bi zauzeo ceo blok i presao input u drugi red ispod */
  font-size: 1.6rem;
  font-weight: 500;
  margin-bottom: 1.2rem;
}

.cta-form input,
.cta-form select {
  width: 100%; /* 100% parent elementa tj grida u kom se nalazi */
  padding: 1.2rem;
  font-size: 1.8rem;
  font-family: inherit;
  color: inherit;
  border: none;
  background-color: #fdf2e9;
  border-radius: 9px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}

.cta-form input::placeholder {
  color: #aaa;
}

.cta-form select {
  font-family: inherit;
}

.cta *:focus {
  outline: none;
  box-shadow: 0 0 0 0.8rem #fdf2e973;
}

/**************************************/
/* FOOTER SECTION */
/**************************************/
.footer {
  padding: 12.8rem 0;
  border-top: 1px solid #eee;
}

.grid--footer {
  grid-template-columns: 1.5fr 1.5fr 1fr 1fr 1fr;
}

.logo-col {
  display: flex;
  flex-direction: column;
}

.footer-logo {
  display: block;
  margin-bottom: 3.2rem;
}

.social-links {
  list-style: none;
  display: flex;
  gap: 2.4rem;
}

.social-icon {
  height: 2.4rem;
  width: 2.4rem;
}

.copyright {
  font-size: 1.4rem;
  color: #767676;
  line-height: 1.6;
  margin-top: auto;
}

.footer-heading {
  font-size: 1.8rem;
  font-weight: 500;
  margin-bottom: 4rem;
}

.contacts {
  font-style: normal;
  font-size: 1.6rem;
  line-height: 1.6;
}

.contacts p {
  margin-bottom: 2.4rem;
}

.footer-nav {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}

.footer-link:link,
.footer-link:visited {
  text-decoration: none;
  font-size: 1.6rem;
  color: #767676;
}

.footer-link:hover,
.footer-link:active {
  color: #555;
  transition: all 0.3s;
}
