@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

:root {
    --bg:#111111;
    --card:#1d1d1d;
    --card-hover:#242424;
    --gold:#d4af37;
    --gold-light:#f0d477;
    --text:#ffffff;
    --muted:#aaaaaa;
}

* {
    box-sizing:border-box;
}

body {
    margin:0;
    background:var(--bg);
    color:var(--text);
    font-family:'Inter',Arial,sans-serif;
}

a {
    text-decoration:none;
    color:inherit;
}


/* ==================================
   HEADER
   ================================== */

header {
    height:80px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 6%;
    background:#0c0c0c;
}

.logo {
    font-size:28px;
    font-weight:700;
    color:var(--gold);
}

nav a {
    margin-left:30px;
    color:#ddd;
    font-size:15px;
}

nav a:hover {
    color:var(--gold);
}



/* ==================================
   HERO
   ================================== */

.hero {
    min-height:360px;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:40px 6%;
    background:
    linear-gradient(
        rgba(0,0,0,.75),
        rgba(0,0,0,.9)
    ),
    url("../images/background.jpg")
    center/cover;
}

.hero-content {
    max-width:700px;
}

.hero h1 {
    font-size:48px;
    margin:0 0 20px;
}

.hero h1 span {
    color:var(--gold);
}

.hero p {
    color:var(--muted);
    font-size:20px;
}

.main-button {
    display:inline-block;
    margin-top:25px;
    background:var(--gold);
    color:#111;
    padding:14px 35px;
    border-radius:30px;
    font-weight:600;
}



/* ==================================
   SECTIONS
   ================================== */

section {
    padding:45px 6%;
}

.section-title {
    text-align:center;
    font-size:32px;
    margin-bottom:35px;
}

.section-title span {
    color:var(--gold);
}



/* ==================================
   KATEGORIEN
   ================================== */

.category-grid {
    display:grid;
    grid-template-columns:repeat(6,1fr);
    gap:15px;
}

.category {
    background:var(--card);
    padding:25px 10px;
    border-radius:15px;
    text-align:center;
    border:1px solid #333;
    transition:.3s;
}

.category:hover {
    border-color:var(--gold);
    transform:translateY(-5px);
}



/* ==================================
   PROFILE GRID HOMEPAGE
   ================================== */

.profile-grid {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:22px;
}

.profile-card {
    background:var(--card);
    border-radius:18px;
    overflow:hidden;
    border:1px solid #333;
    transition:.3s;
}

.profile-card:hover {
    transform:translateY(-7px);
    border-color:var(--gold);
    background:var(--card-hover);
}


.profile-card img {

    width:100%;

    aspect-ratio:3 / 4;

    object-fit:cover;

    display:block;

}


.profile-content {

    padding:18px;

}


.profile-content h3 {

    margin:0;

    color:var(--gold);

    font-size:22px;

}


.stars {

    color:var(--gold);

    letter-spacing:2px;

    margin:8px 0;

}


.status {

    color:#5ed35e;

    font-size:14px;

    margin-bottom:12px;

}


.profile-content p {

    color:#ddd;

    line-height:1.5;

    min-height:48px;

}


.phone {

    margin-top:15px;

    font-size:18px;

    font-weight:600;

}


.phone a {

    color:var(--gold-light);

}


/* ==================================
   TELEFONNUMMERN PROFILKARTEN
   ================================== */

.phone-number {

    background:rgba(230,202,101,.08);

    border:1px solid rgba(230,202,101,.25);

    border-radius:20px;

    padding:10px 15px;

    margin-top:12px;

    font-size:20px;

    font-weight:700;

    color:var(--gold-light);

    display:flex;

    align-items:center;

    gap:8px;

}


.phone-number a {

    color:var(--gold-light);

    font-weight:700;

    letter-spacing:.5px;

}


.phone-number a:hover {

    color:var(--gold);

}



.price {

    color:var(--muted);

    font-size:14px;

    margin-top:5px;

}


.profile-button,
.call-button {

    display:block;

    text-align:center;

    padding:11px;

    border-radius:25px;

    margin-top:12px;

    font-weight:600;

}


.profile-button {

    background:#333;

    color:#fff;

}


.profile-button:hover {

    background:#444;

}


.call-button {

    border:1px solid var(--gold);

    color:var(--gold);

}


.call-button:hover {

    background:var(--gold);

    color:#111;

}



/* ==================================
   INFO / FAQ
   ================================== */

.info {

    max-width:900px;

    margin:auto;

    text-align:center;

    color:#bbb;

    line-height:1.8;

}


.faq div {

    max-width:800px;

    margin:15px auto;

    padding:20px;

    background:var(--card);

    border-radius:15px;

}



/* ==================================
   FOOTER
   ================================== */

footer {

    background:#090909;

    padding:35px;

    text-align:center;

    color:#777;

}



/* ==================================
   RESPONSIVE
   ================================== */


@media(max-width:1100px){

    .profile-grid {

        grid-template-columns:repeat(3,1fr);

    }


    .category-grid {

        grid-template-columns:repeat(3,1fr);

    }

}



@media(max-width:700px){

    header {

        height:auto;

        padding:20px;

    }


    nav {

        display:none;

    }


    .hero h1 {

        font-size:34px;

    }


    .profile-grid {

        grid-template-columns:repeat(2,1fr);

    }


    .category-grid {

        grid-template-columns:repeat(2,1fr);

    }


    section {

        padding:35px 20px;

    }

}



@media(max-width:450px){

    .profile-grid {

        grid-template-columns:1fr;

    }

}