
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: "Poppins", sans-serif;
}


body {
    background-color: #ededec7b;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}


#main-app {
    display: flex;
    gap: 50px;
    width: 100%;
    max-width: 1200px; 
    margin-top: 30px;
    margin-bottom: 50px;
    margin-left: auto;  
    margin-right: auto; 
    flex: 1;
}


.left-form {
    width: 350px;
    background-color: white;
    border-radius: 16px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    padding: 25px;
    /* margin-left: 100px; */
}

.left-form h1 {
    font-family: "Bitcount Grid Single", system-ui;
    text-align: center;
    font-size: 2.3rem;
    font-weight: 700;
    margin-bottom: 25px;
    color: #03dc0b;
}


.controls {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.size-cell{
    display: block;
    margin-bottom: 5px;
    font-weight: 600;
    color: #374151;
}

select,
input[type="number"] {
    width: 100%;
    padding: 8px 10px;
    font-size: 0.95rem;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background-color: #f9fafb;
    outline: none;
    transition: border-color 0.3s ease;
}

select:hover,
input[type="number"]:hover{
    transform: scale(1.05);
    box-shadow: 0 4px 10px rgba(0,0,0,0.3)
}

select:focus,
input[type="number"]:focus {
    border-color: #2563eb;
}

 
.wall-control, 
.generate-control,
.solve,
.reset {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 10px;
    cursor: pointer;
    transition: background 0.3s;
    padding: 8px 10px;
    border: 1px solid #ccc;
    border-radius: 8px;
}

.wall-control:hover,
.generate-control:hover {
    background-color: #e6e7ea;
    transform: scale(1.05);
    box-shadow: 0 4px 10px rgba(0,0,0,0.3)
}

img {
    width: 25px;
    height: 25px;
}

.start-end-div {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    margin-top: 10px;
}

.start-control,
.end-control {
    color: black;
    flex: 1;
    display: flex;
    align-items: center;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 5px;
    gap: 8px;
    cursor: pointer;
    transition: background-color 0.2s, border-color 0.2s;
}
.start-control{
    background-color: #22c55e7e;
}
.end-control{
    background-color: rgba(255, 0, 0, 0.482);
}

.start-control:hover{
    background-color: #16a34abd;
    transform: scale(1.05);
    box-shadow: 0 4px 10px rgba(0,0,0,0.3);
}
.end-control:hover{
    background-color: #dc2626a9;
    transform: scale(1.05);
    box-shadow: 0 4px 10px rgba(0,0,0,0.3);
}

.speed-control {
    margin-top: 15px;
}

input[type="range"] {
    width: 100%;
    accent-color: #1883f6;
}

.solve {
    background-color: #22c55e;
    color: white;
    justify-content: center;
    margin-top: 15px;
    font-weight: 600;
    transition: background 0.3s;
}

.solve:hover {
    background-color: #16a34a;
    transform: scale(1.05);
    box-shadow: 0 4px 10px rgba(0,0,0,0.3)
}

.reset {
    background-color: #ef4444;
    color: white;
    justify-content: center;
    margin-top: 15px;
    font-weight: 600;
    transition: background 0.3s;
}

.reset:hover {
    background-color: #dc2626;
    transform: scale(1.05);
    box-shadow: 0 4px 10px rgba(0,0,0,0.3)
}


.link-form {
    margin-top: 10px;
    text-align: center;
}

.link-form a {
    display: flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    background-color: #111827;
    color: white;
    padding: 10px 10px;
    border-radius: 8px;
    font-weight: 600;
    transition: background 0.3s;
}

.link-form a img {
    margin-right: 3px;
}

.link-form a:hover {
    background-color: #1e293b;
    transform: scale(1.05);
    box-shadow: 0 4px 10px rgba(0,0,0,0.3)
}

.footer {
  text-align: center;
  padding: 15px 0;
  background-color: #111827;
  color: white;
  font-family: "Bitcount Grid Single", sans-serif;
  font-size: 14px;
  letter-spacing: 0.5px;
  border-top: 2px solid #444;
  width: 100%;
}
.footer:hover{
    background-color: #1e293b;
}

.Abdelrahman-link{
    color: white;
    text-decoration: none;
}

.linkedin-icon , 
.Twitter-icon {
  width: 17px;
  height: 17px;
  vertical-align: middle;
  margin-right: 4px;
}

.linkedin-icon:hover ,
.Twitter-icon:hover,
.Abdelrahman-link strong:hover{
    transform: scale(1.5);
    color: #03dc0b;
}



/* Grid container (Maze) */

.grid-cont {
    display: grid;
    gap: 0px;
    width: 700px;   
    height: 660px;
  
}

.cell {
    background-color: rgb(255, 255, 255);
    border: 1px solid black;
    aspect-ratio: 1.15 / 1;
    display: flex;
    justify-content: center;
    align-items: center;
}
    
    .cell img {
  display: block;            
  max-width: 60%;
  max-height: 60%;
  
}

.cell:hover {
  background-color: #f3f4f6; 
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.4);
  transform: scale(1.05);
  z-index: 5;
}

/* media */

@media(max-width: 1280px )
{
    #main-app {
    gap: 20px;
}
    .left-form
    {
        margin-left: 20px;
    }
}

@media (max-width:1180px) {
    
    #main-app {
        flex-direction: column;
        align-items: center;
        gap: 30px;
    }

    .left-form {
        width: 90%;
        padding: 10px;
        margin:0px;
    }

    .grid-cont {
        width: 95%;
        max-width: 700px;
        height: auto;
        grid-template-columns: repeat(auto-fill, minmax(25px, 1fr));
    }

    .cell {
        aspect-ratio: 1 / 1; 
    }
}


