* { padding: 0; margin: 0; box-sizing: border-box; }

@font-face {
    font-family: "ploni-regular";
    src: url("./fonts/PloniDL1.1AAA-Regular.ttf");
}
@font-face {
    font-family: "ploni-bold";
    src: url("./fonts/PloniDL1.1AAA-Bold.ttf");
}
@font-face {
    font-family: "ploni-demibold";
    src: url("./fonts/PloniDL1.1AAA-D-Bold.ttf");
}
@font-face {
    font-family: "ploni-light";
    src: url("./fonts/PloniDL1.1AAA-Light.ttf");
}
@font-face {
    font-family: "bmw-outline";
    src: url("./fonts/BMWMotorradOutline-Regular.ttf");
}
@font-face {
    font-family: "bmw-light";
    src: url('./fonts/BMWMotorradW05-Light.ttf');
}
@font-face {
    font-family: "bmw-bold";
    src: url('./fonts/BMWMotorradW05-Bold.ttf');
}
@font-face {
    font-family: "bmw-bold-italic";
    src: url('./fonts/bmwmotorradbolditalic.ttf');
}


html,
body {
    line-height: 1.1;
    font-family: "ploni-regular", sans-serif;
    direction: rtl;
}
.main {
    width: 100vw;
    height: 100svh;
    min-height: calc(100vw * 720 / 1920);
    max-height: calc(100vw * 950 / 1920);
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-rows: 1fr auto;
}
.right {
    background: black;
    height: 100%;
    aspect-ratio: 1413 / 886;
    background-size: 100% 100%;
    container-type: size;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.gt {
    background-image: url('./images/d-gt.jpg');
}
.x {
    background-image: url('./images/d-x.jpg');
}
.right-top {
    display: flex;
    flex-direction: column;
}
.logo-container {
    display: flex;
    justify-content: flex-end;
    padding: 1cqw;
}
.logo {
    width: 7.759cqw;
}
.titles {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.t1 {
    font-family: "ploni-light";
    font-size: 3.185cqw;
    color: white;
}
.buttons {
    display: flex;
    gap: 3cqw;
}
.choose-model {
    font-family: "bmw-bold-italic";
    font-size: 7.785cqw;
    background: none;
    border: 0;
    color: #4A4A4A;
    line-height: 1;
    cursor: pointer;
    animation: textGlow 2s ease-in-out infinite;
}
.selected { color: #ffffff; animation: none; text-shadow: 0 0 2px black; }
.right-bottom {
    color: white;
    display: flex;
    flex-direction: column;
    text-align: center;
    padding: 2cqw;
    gap: 2cqw;
}
.right-bottom-text {
    font-size: 1.557cqw;
}
.specs {
    align-self: center;
    width: 90%;
    display: flex;
    gap: 3cqw;
}
.spec {
    flex: 1 0 20%;
    height: 5.017cqw;
    font-size: 1.486cqw;
    font-family: "ploni-regular" ;
    background: white;
    color: black; 
    width: fit-content;
    border-radius: 5cqw;
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 1;
}
.strip {
    padding: 0.5vw;
    width: 100%;
    height: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
}
.strip img {  width: 30%; }
.left {
    width: 100%;
    grid-row: 1 / 3;
    grid-column: 2;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 0 1vw;
}
.form {
    display: flex;
    flex-direction: column;
    max-width: 25vw;
    gap: 0.75vw;
}
.form-title {
    font-family: "ploni-light";
    font-size: 1.406vw;
    line-height: 1;
    text-align: center;
}
.input {
    font-family: "ploni-light";
    font-size: 1.25vw;
    padding: 0.5vw;
    border: 1px solid #919191;
    background: white;
}
.input::placeholder {
    color: #919191;
}
.checkbox {
    font-size: 0.938vw;
    display: flex;
    gap: 0.5vw;
    letter-spacing: -1%;
    color: #919191;
}
.submit {
    font-family: "ploni-light";
    font-size: 1.563vw;
    padding: 0.5vw;
    background: #1D6BB3;
    border: 0;
    color: white;
    cursor: pointer;
}
.form-terms {
    color: #919191;
    text-align: center;
    font-size: 0.938vw;
}
.links {
    display: flex;
    padding: 1vw 0;
    justify-content: space-between;
}
.links a {
    font-size: 0.938vw;
    color: #919191;
}
.desktop { display: inherit }
.mobile { display: none }
.error { outline: tomato; }
.error::placeholder { color: tomato; }

.dialog {
    position: fixed;
    background: #ffffff;
    color: black;
    border: 0;
    border-radius: 1vw;
    direction: rtl;
    margin: auto;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    padding: 1vw;
}
.dialog-close {
    background: none;
    padding: 1vw;
    font-size: 2vw;
    border: none;
    cursor: pointer;
}
.dialog img {
    width: fit-content;
    max-width: 100%;
}

@keyframes textGlow {
  0%, 100% {
    color: #4A4A4A;
    text-shadow: none;
  }

  50% {
    color: #bdbdbd;
    text-shadow: 0px 0px 1px #ffffff;
  }
}

@media (max-width: 768px){

    .main {
        display: flex;
        flex-direction: column;
        height: unset;
        max-height: unset;
        min-height: unset;
    }
    .right {
        width: 100%;
        height: unset;
        aspect-ratio: 640 / 1034;
        container-type: unset;
    }
    .gt {
        background-image: url('./images/m-gt.jpg');
    }
    .x {
        background-image: url('./images/m-x.jpg');
    }
    .right-top {
        gap: 2vw;
    }
    .logo-container {
        padding: 3vw;
    }
    .logo {
        width: 30.271vw;
    }
    .t1 {
        font-size: 4.531vw;
    }
    .right-bottom-text{
        font-size: 3.125vw;
    }
    .specs {
        flex-wrap: wrap;
        gap: 2vw;
    }
    .spec {
        flex: 1 0 40%;
        font-size: 2.813vw;
        height: 10.313vw;
        border-radius: 10vw
    }
    .buttons {
        width: 100%;
        justify-content: center;
        gap: 4vw;
    }
    .choose-model {
        font-size: 10.938vw;
        line-height: 1;
    }
    .left {
        width: 100%;
        padding: 7.031vw;
    }
    .form {
        width: 100%;
        max-width: 100%;
        gap: 3.125vw;
    }
    .form-title {
        font-size: 4.219vw;
    }
    .input {
        padding: 2.5vw;
        font-size: 3.75vw;
    }
    .checkbox {
        font-size: 2.813vw;
        gap: 3.125vw;
    }
    .submit {
        padding: 2.525vw 2vw;
        font-size: 4.688vw;
    }
    .form-terms {
        font-size: 2.813vw;
    }
    .strip {
        width: 100%;
    }
    .strip img {
        width: 85%;
    }
    .links a {
        font-size: 3.125vw;
    }
    .dialog-close { font-size: 5vw;}

    .desktop { display: none }
    .mobile { display: inherit }
}
