﻿/* ==========================================
   Toyota Service Landing Page
   style.css
========================================== */

/* Google Font */
@import url('https://fonts.googleapis.com/css2?family=Vazirmatn:wght@300;400;500;700;900&display=swap');

/* ==========================================
   VARIABLES
========================================== */

:root {
    --bg: #0c0812;
    --primary: #6f1230;
    --primary-light: #b33b67;
    --secondary: #cfcfcf;
    --white: #ffffff;
    --glass: rgba(255,255,255,.06);
    --glass-border: rgba(255,255,255,.12);
    --text: #e7e7e7;
    --transition: .35s ease;
}

/* ==========================================
   RESET
========================================== */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

/*==============================
SPACE BACKGROUND
==============================*/

body {
    margin: 0;
    background: #07060d;
    overflow-x: hidden;
    color: #fff;
    position: relative;
}

#space {
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: -30;
}
.nebula {
    position: fixed;
    inset: 0;
    z-index: -25;
    background: radial-gradient(circle at 20% 15%, rgba(140,20,60,.35), transparent 28%), radial-gradient(circle at 80% 10%, rgba(220,50,120,.22), transparent 30%), radial-gradient(circle at 70% 75%, rgba(120,10,50,.28), transparent 35%), radial-gradient(circle at 45% 50%, rgba(255,255,255,.02), transparent 30%);
    filter: blur(90px);
}
.glow {
    position: fixed;
    border-radius: 50%;
    filter: blur(120px);
    pointer-events: none;
    z-index: -24;
}
.glow-left {
    width: 500px;
    height: 500px;
    left: -150px;
    top: 120px;
    background: #781939;
    opacity: .35;
}
.glow-right {
    width: 650px;
    height: 650px;
    right: -220px;
    top: -150px;
    background: #b53563;
    opacity: .18;
}
.planet {
    position: fixed;
    top: -180px;
    right: -220px;
    width: 720px;
    opacity: .48;
    pointer-events: none;
    z-index: -20;
    animation: planetMove 18s ease-in-out infinite;
}
@keyframes planetMove {

    0% {
        transform: translateY(0px) rotate(0deg);
    }

    50% {
        transform: translateY(25px) rotate(2deg);
    }

    100% {
        transform: translateY(0px) rotate(0deg);
    }
}
/* ==========================================
   STARS CANVAS
========================================== */

#stars {
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: -2;
}

/* ==========================================
   PLANET
========================================== */

.planet {
    position: absolute;
    top: -140px;
    left: -80px;
    width: 520px;
    opacity: .55;
    pointer-events: none;
    animation: planetFloat 18s ease-in-out infinite;
}

/* ==========================================
   CONTAINER
========================================== */

.container {
    width: min(1280px,92%);
    margin: auto;
}

/* ==========================================
   HEADER
========================================== */

header {
    position: fixed;
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
    width: 92%;
    height: 80px;
    border-radius: 24px;
    z-index: 999;

    background: rgba(20,10,20,.28);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255,255,255,.08);
    box-shadow: 0 15px 35px rgba(0,0,0,.3);

}

    header .container {
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

.logo {
    color: var(--secondary);
    font-size: 28px;
    font-weight: 900;
    letter-spacing: 1px;
}

nav {
    display: flex;
    gap: 40px;
}

    nav a {
        position: relative;
        text-decoration: none;
        font-family: Vazirmatn;
        color:#eee;
    }
        nav a::after {
            content: "";
            position: absolute;
            left: 0;
            bottom: -6px;
            width: 0;
            height: 2px;
            background: #ff4b8b;
            transition: .35s;
        }
        nav a:hover::after {
            width: 100%;
        }

        nav a:hover {
            color: #fff;
        }

/* ==========================================
   BUTTON
========================================== */

.btn {
    animation: pulse 3s infinite;
}

    .btn:hover {
        transform: translateY(-4px);
        box-shadow: 0 0 35px rgba(220,70,120,.7);
    }
@keyframes pulse {

    0% {
        box-shadow: 0 0 10px rgba(200,40,90,.25);
    }

    50% {
        box-shadow: 0 0 30px rgba(200,40,90,.65);
    }

    100% {
        box-shadow: 0 0 10px rgba(200,40,90,.25);
    }
}
/* ==========================================
   HERO
========================================== */
.hero {
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: min(1350px,92%);
    margin: auto;
    position: relative;
}
.hero-left {
    width: 50%;
    z-index: 5;
}
.subtitle {
    color: #d0d0d0;
    font-size: 36px;
    font-weight: 300;
}
.hero h1 {
    position: relative;
    display: inline-block;
    overflow: hidden;
}
    .hero h1 span {
        background: linear-gradient( 90deg, #ffffff, #bfbfbf, #ffffff, #8e8e8e, #ffffff );
        background-size: 300%;
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        animation: shine 6s linear infinite;
    }
@keyframes shine {

    0% {
        background-position: 0%;
    }

    100% {
        background-position: 300%;
    }
}
.hero h2 {
    margin-top: 25px;
    font-size: 30px;
    font-weight: 300;
}

    .hero h2 span {
        color: #ff5c92;
    }
.hero-services {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    margin-top: 40px;
}
    .hero-services span {
        padding: 12px 20px;
        border-radius: 30px;
        background: rgba(255,255,255,.05);
        border: 1px solid rgba(255,255,255,.08);
        backdrop-filter: blur(15px);
    }
.btn {
    padding: 18px 40px;
    border-radius: 40px;
    background: linear-gradient( 90deg, #6e1231, #b53062 );
    color: white;
    text-decoration: none;
    transition: .4s;
}
    .btn:hover {
        transform: translateY(-4px);
        box-shadow: 0 0 40px rgba(210,40,90,.7);
    }
.btn-outline {
    margin-right: 20px;
    padding: 18px 40px;
    border-radius: 40px;
    border: 1px solid rgba(255,255,255,.2);
    color: white;
    text-decoration: none;
}
.hero-buttons {
    margin-top: 45px;
}
.hero-right {
    width: 55%;
    height: 700px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}
.floor {
    position: absolute;
    bottom: 30px;
    width: 850px;
    height: 220px;
    border-radius: 50%;
    background: radial-gradient( ellipse, rgba(255,255,255,.07), rgba(255,255,255,.02), transparent 72% );
    filter: blur(18px);
}
.reflection {
    position: absolute;
    width: 820px;
    bottom: -140px;
    transform: scaleY(-1);
    opacity: .10;
    filter: blur(7px);
    mask-image: linear-gradient( transparent, rgba(255,255,255,.7), transparent );
}
#heroCar {
    width: 850px;
    position: relative;
    z-index: 20;
    animation: floatCar 5s ease-in-out infinite;
    filter: drop-shadow(0 50px 70px rgba(0,0,0,.65)) drop-shadow(0 0 45px rgba(220,70,110,.12));
}
@keyframes floatCar {

    0% {
        transform: translateY(0px);
    }

    50% {
        transform: translateY(-12px);
    }

    100% {
        transform: translateY(0px);
    }
}
.car-light {
    position: absolute;
    width: 700px;
    height: 700px;
    border-radius: 50%;
    background: radial-gradient( circle, rgba(255,120,160,.35), transparent 70% );
    filter: blur(100px);
    top: -60px;
    left: 40px;
}
/* ==========================================
   Services CARD
========================================== */
.services-grid {
    margin-top: 80px;
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 35px;
}
.service-card {
    position: relative;
    overflow: hidden;
    padding: 45px;
    border-radius: 28px;
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(255,255,255,.08);
    backdrop-filter: blur(25px);
    transition: .45s;
}
    .service-card:hover {
        transform: translateY(-15px);
        border-color: rgba(255,90,150,.6);
        box-shadow: 0 25px 60px rgba(180,30,70,.25);
    }
    .service-card::before {
        content: "";
        position: absolute;
        top: 0;
        left: -100%;
        width: 100%;
        height: 4px;
        background: linear-gradient( 90deg, transparent, #ff5d93, transparent );
        transition: .8s;
    }
    .service-card:hover::before {
        left: 100%;
    }
.icon {
    width: 80px;
    height: 80px;
    border-radius: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(255,255,255,.08);
    margin-bottom: 30px;
    transition: .4s;
}

    .icon svg {
        width: 42px;
        height: 42px;
        color: #d9d9d9;
        transition: .4s;
    }

.service-card:hover .icon {
    background: #741833;
    border-color: #ff5f94;
}

    .service-card:hover .icon svg {
        color: white;
        transform: scale(1.15) rotate(8deg);
    }
.service-card h3 {
    font-size: 30px;
    margin-bottom: 20px;
}
.service-card p {
    color: #cfcfcf;
    line-height: 2;
}
.service-card a {
    display: inline-block;
    margin-top: 35px;
    color: #ff5f94;
    text-decoration: none;
}
/* ==========================================
   About 
========================================== */
.about-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center;
}
.section-tag {
    display: inline-block;
    padding: 8px 18px;
    border-radius: 30px;
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(255,255,255,.08);
    color: #ff6b9b;
    margin-bottom: 20px;
    display:none;
}
.about-text {
    margin-top: 25px;
    color: #c9c9c9;
    line-height: 2.2;
    font-size: 18px;
}
.about-list {
    margin-top: 40px;
    display: flex;
    flex-direction: column;
    gap: 22px;
}
.about-item {
    display: flex;
    align-items: center;
    gap: 18px;
}
.check {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #7d1839;
    color: white;
    font-weight: bold;
    box-shadow: 0 0 20px rgba(180,40,90,.35);
}
.image-box {
    overflow: hidden;
    border-radius: 28px;
    padding: 12px;
}
    .image-box img {
        width: 100%;
        display: block;
        border-radius: 20px;
        transition: .5s;
    }
    .image-box:hover img {
        transform: scale(1.05);
    }
@media(max-width:900px) {

    .about-grid {
        grid-template-columns: 1fr;
    }

    .about-image {
        order: -1;
    }
}

/* ==========================================
   Stars
========================================== */

.stats-grid {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 35px;
    margin-top: 80px;
}
.stat-card {
    text-align: center;
    padding: 45px;
    border-radius: 28px;
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.08);
    backdrop-filter: blur(18px);
    transition: .4s;
}
    .stat-card:hover {
        transform: translateY(-12px);
        border-color: #ff5d93;
        box-shadow: 0 20px 50px rgba(170,30,80,.22);
    }
.number {
    font-size: 64px;
    font-weight: 900;
    color: #ffffff;
    margin-bottom: 18px;
    background: linear-gradient( 180deg, white, silver );
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* ==========================================
   Contact
========================================== */
.contact-grid {
    display: grid;
    grid-template-columns: 1.2fr .8fr;
    gap: 50px;
    margin-top: 60px;
}
.contact-form {
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 28px;
    padding: 40px;
    backdrop-filter: blur(20px);
}
    .contact-form input,
    .contact-form textarea {
        width: 100%;
        padding: 18px;
        margin-bottom: 20px;
        border: none;
        outline: none;
        border-radius: 15px;
        background: rgba(255,255,255,.05);
        color: white;
        font-size: 16px;
    }
        .contact-form input::placeholder,
        .contact-form textarea::placeholder {
            color: #aaa;
        }
    .contact-form textarea {
        height: 180px;
        resize: none;
    }
.contact-info {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.info-card {
    padding: 28px;
    border-radius: 22px;
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(255,255,255,.08);
    backdrop-filter: blur(18px);
}
    .info-card h3 {
        margin-bottom: 12px;
        color: #ff6d9f;
    }
@media(max-width:900px) {

    .contact-grid {
        grid-template-columns: 1fr;
    }
}
footer {
    margin-top: 120px;
    padding: 50px 0;
    text-align: center;
    border-top: 1px solid rgba(255,255,255,.08);
}

.footer-content h3 {
    margin-bottom: 15px;
}

.footer-content p {
    color: #999;
    margin-top: 8px;
}
.section-description {
    text-align: center;
    color: #bfbfbf;
    max-width: 700px;
    margin: 0 auto 50px;
    line-height: 2;
}
.map-card {
    overflow: hidden;
    border-radius: 30px;
    border: 1px solid rgba(255,255,255,.08);
    background: rgba(255,255,255,.04);
    backdrop-filter: blur(18px);
    padding: 12px;
    box-shadow: 0 25px 60px rgba(0,0,0,.35);
}
    .map-card iframe {
        width: 100%;
        height: 500px;
        border: none;
        border-radius: 22px;
    }
.map-card {
    transition: .4s;
}

    .map-card:hover {
        transform: translateY(-8px);
        box-shadow: 0 35px 80px rgba(170,30,80,.25);
    }
/* ==========================================
   GLASS CARD
========================================== */

.glass {
    background: var(--glass);
    border: 1px solid var(--glass-border);
    backdrop-filter: blur(15px);
    border-radius: 24px;
}
.stat-card p {
    color: #cfcfcf;
    font-size: 18px;
}
/* ==========================================
   SECTION
========================================== */

section {
    padding: 120px 0;
}

.section-title {
    text-align: center;
    font-size: 44px;
    margin-bottom: 70px;
    color: #fff;
}

/* ==========================================
   FOOTER
========================================== */

footer {
    padding: 40px;
    text-align: center;
    border-top: 1px solid rgba(255,255,255,.08);
    color: #999;
}

/* ==========================================
   ANIMATIONS
========================================== */

@keyframes planetFloat {

    0% {
        transform: translateY(0px) rotate(0deg);
    }

    50% {
        transform: translateY(20px) rotate(4deg);
    }

    100% {
        transform: translateY(0px) rotate(0deg);
    }
}

/* ==========================================
   RESPONSIVE
========================================== */
@media(max-width:1000px) {

    .stats-grid {
        grid-template-columns: repeat(2,1fr);
    }
}

@media(max-width:700px) {

    .stats-grid {
        grid-template-columns: 1fr;
    }
}
@media(max-width:1200px) {

    .services-grid {
        grid-template-columns: repeat(2,1fr);
    }
}

@media(max-width:700px) {

    .services-grid {
        grid-template-columns: 1fr;
    }
}
@media(max-width:992px) {

    .hero .container {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .hero-image {
        order: -1;
    }

    .hero-text h1 {
        font-size: 64px;
    }

    nav {
        display: none;
    }
}

@media(max-width:768px) {

    .hero-text h1 {
        font-size: 48px;
    }

    .hero-text h3 {
        font-size: 26px;
    }

    .hero-text p {
        font-size: 18px;
    }

    .btn {
        padding: 14px 28px;
    }
}

@media(max-width:480px){

    .hero {
        width: 100%;
        height: auto;
        display:block;
    }
    .hero-right {
        ddisplay: none;
        width: 100%;
        height: auto;
    }
    .car-light {
        width: 100%;
        height: auto;
        
    }
    .floor{

    }
    .hero-left {
        width: 100%;
        display: block;
        padding:20px;
    }


    #heroCar{
        width:100%;
    }
    .reflection{
        width:100%;
    }
}
