:root {
  --heading-font: "Amatic SC", sans-serif;
  --main-font: "Open Sans", sans-serif;
  --font-default: "Open Sans", system-ui, -apple-system, "Segoe UI", Roboto,
    "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif,
    "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --bg-color: #eee;
  --main-color: #e21414;
  --color-default: #212529;
  --nav-color: #fff;
  --second-color-default: #fff;
  --black: #000;
  --cards-color: #fff;
  --headings-color: #37373f;
  --contact-item-bg: hsl(0, 0%, calc(100% - 4%));
  --filter-img: brightness(1) invert(0);
}

:root:has(.theme:checked) {
  --main-color: hsl(35, 72%, 44%);
  --nav-color: hsl(0, 0%, 9%);
  --black: #fff;
  --bg-color: #252525;
  --headings-color: #fff;
  --second-color-default: #202020;
  --cards-color: #171717;
  --color-default: #fff;
  --contact-item-bg: hsl(0, 0%, calc(9% - 4%));
  --filter-img: invert(95%) sepia(4%) saturate(500%) hue-rotate(0deg)
    brightness(90%) contrast(90%);
}
:root:has(.theme:checked) .dark {
  display: none;
}
:root:has(.theme:checked) .light {
  display: block;
}

/* Global Style */

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: var(--font-default);
  color: var(--color-default);
  background-color: var(--bg-color);
}

.container {
  /*Move it to media quiery*/
  width: 100%;
  margin: 0 auto;
  padding-inline: 15px;
}

.container {
  margin-top: 50px;
  margin-bottom: 50px;
}

.d-flex {
  display: flex;
}

.items-center {
  align-items: center;
}

.justify-center {
  justify-content: center;
}

.gap-5 {
  gap: 5px;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--headings-color);
  font-family: var(--main-font);
}

ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

img {
  max-width: 100%;
  display: block;
}

a,
span {
  display: inline-block;
}

a {
  text-decoration: none;
  color: var(--headings-color);
}

/* ---------------------------------------------------- */

/* Navbar Start */

.navbar {
  background-color: var(--nav-color);
  /* width: 100%; */
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 9999;
  box-shadow: 5px 5px 5px var(--bg-color);
}

nav > .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 25px 15px;
  flex-wrap: wrap; /*السماح لعناصر فليكس بوكس بالنزول إلى سطر جديد*/
  margin: 0 auto;
}

.logo-name {
  font-size: 30px;
  color: var(--black);
}

.logo-name > a::after {
  content: ".";
  color: var(--main-color);
}

.nav-links {
  gap: 5px 32px;
  font-size: 17px;
  font-weight: 700;
}

.nav-links {
  display: none;
}

ul.nav-links > li {
  cursor: pointer;
  display: block;
}

ul.nav-links > li > a {
  color: #7f7f90;
  padding: 10px 0px;
}

.nav-link {
  position: relative;
  display: inline-block;
  background: linear-gradient(to right, var(--black) 50%, #7f7f90 50%);
  background-size: 200% 100%;
  background-position: 100% 0;
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  transition: background-position 0.3s ease-in-out;
}

.nav-link::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  background-color: var(--main-color);
  height: 2px;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease-in-out;
}

.nav-link:hover,
.nav-link.active {
  background-position: 0 0;
}

.nav-link:hover::after,
.nav-link.active::after {
  transform: scaleX(1);
}

.mode-group > .icon > label > i,
.mode-group > a > i {
  font-size: 25px;
  font-weight: 900;
  color: var(--black);
}

.mode-group .icon {
  margin-right: 15px;
}

.icon > .light {
  display: none;
}

/* start menu */
.nav-menu {
  position: fixed;
  top: 0;
  right: -100%;
  width: 300px;
  height: 100vh;
  background-color: var(--nav-color);
  box-shadow: -2px 0 5px rgba(0, 0, 0, 0.5);
  display: flex;
  flex-direction: column;
  padding: 50px 20px;
  gap: 30px;
  transition: right 0.3s ease-in-out;
  z-index: 10000;
}

/* عند استهداف القائمة */
#menu:target {
  right: 0;
}

/* الروابط داخل القائمة */
.nav-links {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

/* زر الإغلاق */
.close-btn {
  font-size: 30px;
  font-weight: bold;
  color: var(--black);
  position: absolute;
  top: 20px;
  right: 20px;
  text-decoration: none;
  cursor: pointer;
}

/* bars button */
.bars {
  cursor: pointer;
  font-size: 25px;
  color: var(--black);
}
/* End menu */

/* ---------------------------------------------------- */

/* Header Start */

.home {
  display: flex;
  background-color: var(--bg-color);
  min-height: 100vh;
  align-items: center;
  overflow: hidden;
}

header .container {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 100px;
}

/* header .container > * {
  width: 40%;
} */

.header-img img {
  max-height: 90vh;
  object-fit: contain;
  display: block;
  height: auto;
  filter: drop-shadow(4px 4px 9px #000a);
}

.header-content {
  text-align: center;
}

.header-content h2 {
  font-size: 65px;
  font-family: "Amatic SC", sans-serif;
}

.header-content p {
  margin: 20px 0;
  line-height: 1.6;
  font-size: 16px;
  color: #5a5a64;
}

.btn-group {
  display: flex;
  align-items: center;
  row-gap: 15px;
  flex-direction: column;
}

.btn {
  color: var(--bg-color);
  border-width: 2px;
  border: 2px solid transparent;
}

.btn:hover {
  background-color: hsl(0, 84%, 57%);
}

header .btn-main {
  padding: 10px 25px;
  border-radius: 0px 100px 100px;
  background-color: var(--main-color);
  font-size: 15px;
}

a.video-btn {
  display: flex;
  align-items: center;
  font-weight: 600;
  transition: 400ms;
}

.video-btn .icon {
  width: 55px;
  height: 55px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 16px;
  margin-right: 5px;
  background-image: linear-gradient(
    to right,
    var(--main-color) 0 50%,
    transparent 50% 100%
  );
  border-radius: 50%;
  position: relative;
}

.video-btn .icon::before {
  content: "";
  position: absolute;
  background-color: var(--second-color-default);
  width: 40px;
  height: 40px;
  transform: translate(-20px, -20px);
  left: 50%;
  top: 50%;
  border-radius: 50%;
}

.video-btn .icon i {
  z-index: 5;
}

header picture img:hover {
  animation: shank 1s infinite;
}

@keyframes shank {
  0% {
    transform: translate(1px, 1px) rotate(0deg);
  }
  10% {
    transform: translate(-1px, -2px) rotate(-1deg);
  }
  20% {
    transform: translate(-3px, 0px) rotate(1deg);
  }
  30% {
    transform: translate(3px, 2px) rotate(0deg);
  }
  40% {
    transform: translate(1px, -1px) rotate(1deg);
  }
  50% {
    transform: translate(-1px, 2px) rotate(-1deg);
  }
  60% {
    transform: translate(-3px, 1px) rotate(0deg);
  }
  70% {
    transform: translate(3px, 1px) rotate(-1deg);
  }
  80% {
    transform: translate(-1px, -1px) rotate(1deg);
  }
  90% {
    transform: translate(1px, 2px) rotate(0deg);
  }
  100% {
    transform: translate(1px, -2px) rotate(-1deg);
  }
}

/* Header End */

/* ---------------------------------------------------- */

/* CHEFS Section Start */

.chefs {
  background-color: var(--second-color-default);
  box-shadow: 0px 0px 14px 0px #0000001b;
  overflow: hidden;
}

.chefs > .container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.main-title {
  text-align: center;
  margin-bottom: 25px;
}

.main-title h2 {
  font-weight: 400;
  font-size: 14px;
  text-transform: uppercase;
}

.main-title p {
  font-size: 50px;
  font-family: "Amatic SC", sans-serif;
}

.main-title p span {
  color: var(--main-color);
}

.chefs-cards {
  display: flex;
  flex-wrap: wrap;
  padding-block: 20px;
  gap: 30px;
}

.chefs-cards .card:hover {
  scale: 1.07;
}

.chefs-cards .card {
  /* text-align: center; */
  box-shadow: 3px 3px 15px 0px rgba(0, 0, 0, 0.1);
  transition: scale 400ms;
  background-color: var(--cards-color);
  overflow: hidden;
  position: relative;
  border-radius: 8px;
}

.chefs-cards .card picture {
  width: 100%;
  position: relative;
}

.card picture img {
  width: 100%;
}

.chefs-cards .card picture::before {
  content: "";
  position: absolute;
  background-image: url(../imgs/team-shape.svg);
  background-repeat: repeat-x;
  bottom: -1px;
  left: 0;
  width: 100%;
  height: 60px;
  filter: var(--filter-img);
}

.chefs-cards .card span {
  font-size: 14px;
  color: #7f7f90;
  margin-block: 5px 10px;
}

.card-content {
  padding: 25px;
  padding-top: 10px;
  text-align: center;
}

.card-content p {
  font-size: 15px;
  font-style: italic;
  color: #7f7f90;
}

.chefs-cards .social-box {
  width: fit-content;
  position: absolute;
  padding: 10px;
  border-radius: 5px;
  background-color: #ffffff4d;
  top: 30px;
  right: -50px;
  transition: right calc((400ms) / 2);
}

.chefs-cards .card:hover .social-box {
  right: 10px;
  transition: right 400ms 400ms;
}

.chefs-cards .social-box i {
  font-size: 18px;
  padding: 10px 5px;
  color: #37373f66;
  transition: color 400ms;
}

.chefs-cards .social-box i:hover {
  color: #37373fe6;
}

/* CHEFS Section End */

/* Gallery Section Start */
.gallery {
  background-color: var(--bg-color);
  overflow: hidden;
}

.gallery-photos {
  gap: 20px;
  height: auto;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
}

.gallery-photos picture {
  width: 100%;
  border: 4px solid #fff;
  position: relative;
  overflow: hidden;
}

.gallery-photos picture img {
  width: 100%;
  transition: scale 400ms;
}
.gallery-photos picture img:hover {
  scale: 1.1;
}

.gallery-photos picture .layer {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 100%;
  left: 0;
  padding: 15px;
  background-color: #00000096;
  z-index: 99;
  display: flex;
  flex-direction: column;
  gap: 5px;
  justify-content: center;
  align-items: center;
  color: #fff;
  transition: top 400ms;
}

.gallery-photos picture:hover img {
  scale: 1.1;
}

.gallery-photos picture:hover .layer {
  top: 0;
}

.gallery-photos picture .layer p {
  color: #ddd;
  text-align: center;
}

/* Gallery Section End */

/* Contact Section Start */

.contact {
  background-color: var(--second-color-default);
  overflow: hidden;
}

.contact form {
  box-shadow: 0px 0px 30px #00000014;
  background-color: var(--cards-color);
  gap: 15px;
  padding: 20px;
}

.contact iframe {
  width: 100%;
  height: 350px;
}

.details {
  /* width: 100%; */
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  padding: 15px 0;
}

.details > div {
  width: 100%;
}

.item {
  background-color: var(--contact-item-bg);
  /* flex: 0 0 calc(50% - 10px); */
  padding: 25px;
  display: flex;
  flex-direction: row;
  gap: 10px;
  align-items: center;
}

.contact-icon {
  width: 50px;
  height: 50px;
  background-color: var(--main-color);
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  color: #fff;
  font-size: 18px;
}

.content h3 {
  color: #7d7d7d;
  font-size: 20px;
  font-weight: 700;
  margin: 0 0 5px 0;
}

form {
  display: flex;
  flex-direction: column;
  gap: 20px;
  align-items: center;
}
form * {
  width: 100%;
}

.input-group {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
}

.input-group input {
  width: calc(calc(100% - 15px) / 2);
}

form :is(input, textarea) {
  padding: 15px;
  line-height: 1.5;
  border: 2px solid #e8e3e3;
  color: var(--color-default);
  transition: border-color 400ms;
  font-family: inherit;
}

form :is(input, textarea):focus {
  outline: none;
  border-color: var(--main-color);
}

form button[type="submit"] {
  padding: 12px 40px;
  width: fit-content;
  margin-top: 25px;
  font-family: inherit;
  font-size: 16px;
  cursor: pointer;
  border-radius: 100vh;
  background-color: var(--main-color);
}
/* Contact Section End */

/* ---------------------------------------------------- */

/* Footer Start */

footer {
  background-image: linear-gradient(#0009, #0009),
    url(../imgs/textured-metal-background.jpg);
  background-size: contain;
  color: #fff;
  box-shadow: 0px -1px 5px #0007;
  overflow: hidden;
}

footer .container {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}

footer .container > .about,
footer .container > .contact-details {
  width: 100%;
}

footer .about img {
  width: 40px;
  height: 40px;
}

.about .logo-name a {
  color: #fff;
}

footer .about div:nth-child(1) {
  display: flex;
  align-items: center;
  gap: 10px;
}

.about p {
  margin: 10px 0;
}

.about h3 {
  text-align: center;
  border-bottom: 2px solid #ddd6;
  padding: 10px;
  margin-bottom: 10px;
}

footer .about ul {
  display: flex;
  justify-content: space-around;
  gap: 10px;
}

footer .about ul li a {
  color: #fff;
  font-size: 24px;
}

footer .about ul li a:hover {
  color: hsl(0, 0%, 65%);
}
footer .about ul li a i {
  transition: color 400ms;
}

footer .container .subscription {
  width: 100%;
}

.subscription p {
  margin: 10px 0;
}

footer .sunscription-group {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 10px;
  margin: 20px 0;
}

.sunscription-group input {
  flex-grow: 1;
  padding: 10px;
}

.sunscription-group button {
  padding: 10px 15px;

  background-color: var(--main-color);
}

.quick-links ul {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin-top: 10px;
}

.about h3,
.subscription h3,
.contact-details h3 {
  color: #fff;
}

.quick-links ul li {
  width: calc(calc(100% - 20px) / 2);
  padding: 5px;
  position: relative;
  transition: transform 400ms, background-color 400ms;
}

.quick-links ul li:hover {
  transform: translateX(10px);
  background-color: #222;
}

.quick-links ul li a {
  color: #fff;
  font-size: 16px;
}

.quick-links ul li::before {
}

i.fa-solid.fa-angle-right {
  padding-right: 10px;
}

.contact-details h3 {
  margin-bottom: 10px;
}

.contact-details ul li {
  display: flex;
  gap: 8px;
  align-items: center;
  padding-block: 10px;
}

.contact-details ul li i {
  color: #fff;
  width: 30px;
  height: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 22px;
  cursor: pointer;
  color: var(--main-color);
}
