/* ==========================================
   LUXURY SPA WEBSITE
   STYLE.CSS - PART 1
========================================== */

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');

/* RESET */

*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:'Poppins',sans-serif;
scroll-behavior:smooth;
}

html{
font-size:16px;
}

body{

background:#0b0b0b;
color:#fff;
overflow-x:hidden;
line-height:1.7;

}

/* VARIABLES */

:root{

--gold:#d4af37;
--black:#000;
--white:#fff;
--gray:#bfbfbf;
--card:#161616;
--border:rgba(255,255,255,.08);

}

/* CONTAINER */

.container{

width:90%;
max-width:1200px;
margin:auto;

}

/* LINKS */

a{

text-decoration:none;
color:inherit;

}

img{

width:100%;
display:block;

}

/* SCROLLBAR */

::-webkit-scrollbar{

width:8px;

}

::-webkit-scrollbar-thumb{

background:var(--gold);

}

::-webkit-scrollbar-track{

background:#111;

}

/* LOADER */

.loader{

position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background:#000;

display:flex;
flex-direction:column;
justify-content:center;
align-items:center;

z-index:99999;

}

.loader-circle{

width:70px;
height:70px;

border:6px solid #222;
border-top:6px solid var(--gold);

border-radius:50%;

animation:spin 1s linear infinite;

}

.loader h2{

margin-top:20px;
color:var(--gold);

}

@keyframes spin{

100%{

transform:rotate(360deg);

}

}

/* PROGRESS BAR */

#progressBar{

position:fixed;
top:0;
left:0;
height:4px;
width:0;

background:var(--gold);

z-index:99999;

}

/* HEADER */

.header{

position:fixed;
top:0;
left:0;
width:100%;

background:rgba(0,0,0,.55);

backdrop-filter:blur(15px);

padding:18px 0;

z-index:999;

transition:.4s;

}

.header .container{

display:flex;
justify-content:space-between;
align-items:center;

}

.logo{

font-size:30px;
font-weight:700;

}

.logo span{

color:var(--gold);

}

/* NAVBAR */

.navbar ul{

display:flex;
gap:35px;
list-style:none;

}

.navbar ul li a{

color:#fff;
font-weight:500;
transition:.3s;

}

.navbar ul li a:hover{

color:var(--gold);

}

/* HEADER BUTTON */

.call-btn{

padding:12px 25px;

background:var(--gold);

color:#000;

border-radius:50px;

font-weight:600;

transition:.3s;

display:inline-flex;
align-items:center;
gap:10px;

}

.call-btn:hover{

transform:translateY(-3px);

}

/* MENU */

#menuBtn{

display:none;
font-size:30px;
cursor:pointer;

}

/* HERO */

.hero{

min-height:100vh;

display:flex;
align-items:center;

background:linear-gradient(rgba(0,0,0,.70),rgba(0,0,0,.70)),
url("https://images.unsplash.com/photo-1544161515-4ab6ce6db874?auto=format&fit=crop&w=1600&q=80");

background-size:cover;
background-position:center;

padding-top:120px;

}

.hero-container{

display:grid;
grid-template-columns:1fr 1fr;
gap:60px;
align-items:center;

}

.tag{

display:inline-block;

background:rgba(212,175,55,.15);

padding:10px 22px;

border-radius:30px;

color:var(--gold);

margin-bottom:20px;

}

.hero-content h1{

font-size:58px;
line-height:1.2;
margin-bottom:20px;

}

.hero-content p{

color:#ddd;

margin-bottom:30px;

}

.hero-buttons{

display:flex;
gap:20px;
flex-wrap:wrap;

}

.btn-primary{

padding:15px 35px;

background:var(--gold);

color:#000;

border-radius:50px;

font-weight:600;

transition:.3s;

}

.btn-secondary{

padding:15px 35px;

border:2px solid var(--gold);

border-radius:50px;

color:#fff;

transition:.3s;

}

.btn-primary:hover,
.btn-secondary:hover{

transform:translateY(-4px);

}

.hero-image img{

border-radius:25px;

box-shadow:0 20px 50px rgba(0,0,0,.5);

}

/* SECTION TITLE */

.section-title{

text-align:center;

margin-bottom:60px;

}

.section-title span{

color:var(--gold);
letter-spacing:2px;

}

.section-title h2{

font-size:42px;

margin:15px 0;

}

.section-title p{

color:#cfcfcf;
max-width:700px;
margin:auto;

}
/* ==========================================
   ABOUT SECTION
========================================== */

#about{
    padding:100px 0;
    background:#111;
}

.about-wrapper{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:60px;
    align-items:center;
}

.about-image img{
    border-radius:20px;
    box-shadow:0 15px 40px rgba(0,0,0,.5);
}

.about-content h3{
    font-size:36px;
    margin-bottom:20px;
}

.about-content p{
    color:#ccc;
    margin-bottom:30px;
}

.about-features{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:20px;
    margin-bottom:35px;
}

.feature{
    display:flex;
    align-items:center;
    gap:12px;
    color:#fff;
}

.feature i{
    color:var(--gold);
    font-size:20px;
}

/* ==========================================
   EXPERIENCE
========================================== */

.experience{
    background:#0b0b0b;
    padding:80px 0;
}

.experience-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:25px;
}

.exp-box{
    background:var(--card);
    text-align:center;
    padding:35px;
    border-radius:18px;
    border:1px solid var(--border);
    transition:.4s;
}

.exp-box:hover{
    transform:translateY(-8px);
    border-color:var(--gold);
}

.exp-box h2{
    color:var(--gold);
    font-size:42px;
    margin-bottom:10px;
}

.exp-box p{
    color:#ccc;
}

/* ==========================================
   THERAPISTS
========================================== */

#therapists{
    background:#111;
    padding:100px 0;
}

.therapist-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:30px;
}

.therapist-card{
    background:#181818;
    border-radius:20px;
    overflow:hidden;
    border:1px solid var(--border);
    transition:.4s;
}

.therapist-card:hover{
    transform:translateY(-10px);
    border-color:var(--gold);
    box-shadow:0 15px 35px rgba(0,0,0,.5);
}

.therapist-card img{
    width:100%;
    height:320px;
    object-fit:cover;
}

.therapist-info{
    padding:25px;
    text-align:center;
}

.therapist-info h3{
    font-size:24px;
    margin-bottom:10px;
}

.therapist-info p{
    color:#ccc;
    margin:6px 0;
}

.card-buttons{
    display:flex;
    flex-direction:column;
    gap:12px;
    margin-top:20px;
}

/* Call Button */

.card-buttons .call-btn{
    display:block;
    width:100%;
    text-align:center;
    background:var(--gold);
    color:#000;
    padding:14px;
    border-radius:50px;
    font-weight:600;
}

/* Telegram Button */

.telegram-btn{
    display:block;
    width:100%;
    text-align:center;
    background:#229ED9;
    color:#fff;
    padding:14px;
    border-radius:50px;
    font-weight:600;
    transition:.3s;
}

.telegram-btn:hover{
    background:#1b8dc2;
}

/* ==========================================
   RESPONSIVE
========================================== */

@media(max-width:992px){

.about-wrapper{
    grid-template-columns:1fr;
}

.about-content{
    text-align:center;
}

.about-features{
    grid-template-columns:1fr;
}

.experience-grid{
    grid-template-columns:repeat(2,1fr);
}

.therapist-grid{
    grid-template-columns:repeat(2,1fr);
}

}

@media(max-width:768px){

.experience-grid{
    grid-template-columns:1fr;
}

.therapist-grid{
    grid-template-columns:1fr;
}

.about-content h3{
    font-size:30px;
}

}

/* ==========================================
   RESPONSIVE
========================================== */

@media(max-width:992px){

.services-grid{

grid-template-columns:repeat(2,1fr);

}

.pricing-grid{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:768px){

.services-grid,
.pricing-grid{

grid-template-columns:1fr;

}

.featured{

transform:none;

}

.booking-box h2{

font-size:32px;

}

.booking-box p{

font-size:16px;

}

}
/* ==========================================
   REVIEWS SECTION
========================================== */

#reviews{
    padding:100px 0;
    background:#0b0b0b;
}

.reviews-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
}

.review-card{

background:#181818;
padding:35px;
border-radius:20px;
text-align:center;
border:1px solid rgba(255,255,255,.08);
transition:.4s;

}

.review-card:hover{

transform:translateY(-10px);
border-color:var(--gold);
box-shadow:0 20px 40px rgba(0,0,0,.45);

}

.stars{

color:#FFD700;
font-size:24px;
margin-bottom:20px;

}

.review-card p{

color:#d5d5d5;
line-height:1.8;
margin-bottom:20px;

}

.review-card h3{

font-size:22px;
margin-bottom:5px;

}

.review-card span{

color:#999;

}

/* ==========================================
   FAQ SECTION
========================================== */

#faq{

padding:100px 0;
background:#111;

}

.faq-box{

background:#181818;
padding:30px;
margin-bottom:20px;
border-radius:15px;
border:1px solid rgba(255,255,255,.08);
transition:.3s;

}

.faq-box:hover{

border-color:var(--gold);

}

.faq-box h3{

font-size:22px;
margin-bottom:15px;
color:var(--gold);

}

.faq-box p{

color:#d0d0d0;
line-height:1.8;

}

/* ==========================================
   CONTACT
========================================== */

#contact{

padding:100px 0;
background:#0b0b0b;

}

.contact-box{

display:grid;
grid-template-columns:repeat(3,1fr);
gap:30px;

}

.contact-item{

background:#181818;
padding:35px;
border-radius:20px;
text-align:center;
border:1px solid rgba(255,255,255,.08);
transition:.3s;

}

.contact-item:hover{

transform:translateY(-8px);
border-color:var(--gold);

}

.contact-item i{

font-size:42px;
color:var(--gold);
margin-bottom:20px;

}

.contact-item h3{

font-size:24px;
margin-bottom:12px;

}

.contact-item p{

color:#cccccc;

}

.contact-item a{

color:#fff;

}

.contact-item a:hover{

color:var(--gold);

}

/* ==========================================
   FOOTER
========================================== */

footer{

background:#050505;
padding:60px 20px;
text-align:center;
border-top:1px solid rgba(255,255,255,.08);

}

footer h2{

font-size:34px;
margin-bottom:15px;

}

footer h2 span{

color:var(--gold);

}

footer p{

color:#aaaaaa;
font-size:15px;

}

/* ==========================================
   RESPONSIVE
========================================== */

@media(max-width:992px){

.reviews-grid{

grid-template-columns:repeat(2,1fr);

}

.contact-box{

grid-template-columns:1fr;

}

}

@media(max-width:768px){

.reviews-grid{

grid-template-columns:1fr;

}

.faq-box{

padding:20px;

}

.contact-item{

padding:25px;

}

footer h2{

font-size:28px;

}

}
/* ==========================================
   FLOATING CALL BUTTON
========================================== */

.floating-call{

position:fixed;
right:25px;
bottom:110px;

width:60px;
height:60px;

display:flex;
justify-content:center;
align-items:center;

background:#d4af37;
color:#000;

border-radius:50%;

font-size:24px;

z-index:9999;

box-shadow:0 10px 30px rgba(0,0,0,.35);

transition:.3s;

}

.floating-call:hover{

transform:scale(1.1);

}

/* ==========================================
   LEFT TELEGRAM BUTTON
========================================== */

.telegram-left{

position:fixed;

left:20px;
bottom:20px;

background:#229ED9;
color:#fff;

padding:15px 28px;

border-radius:50px;

font-weight:600;
font-size:16px;

z-index:9999;

box-shadow:0 10px 25px rgba(0,0,0,.35);

transition:.3s;

}

.telegram-left:hover{

background:#0b8fd3;

transform:translateY(-4px);

}

/* ==========================================
   RIGHT TELEGRAM BUTTON
========================================== */

.telegram-right{

position:fixed;

right:20px;
bottom:20px;

background:#229ED9;
color:#fff;

padding:15px 28px;

border-radius:50px;

font-weight:600;
font-size:16px;

z-index:9999;

box-shadow:0 10px 25px rgba(0,0,0,.35);

transition:.3s;

}

.telegram-right:hover{

background:#0b8fd3;

transform:translateY(-4px);

}

/* ==========================================
   BACK TO TOP
========================================== */

#topBtn{

position:fixed;

left:25px;
bottom:95px;

width:55px;
height:55px;

border:none;

border-radius:50%;

background:#d4af37;
color:#000;

font-size:20px;

cursor:pointer;

display:none;

z-index:9999;

transition:.3s;

}

#topBtn:hover{

transform:scale(1.1);

}

/* ==========================================
   ACTIVE MENU
========================================== */

.navbar a.active{

color:#d4af37;

}

/* ==========================================
   BUTTON EFFECTS
========================================== */

.btn-primary,
.btn-secondary,
.call-btn,
.telegram-btn{

transition:.35s ease;

}

.btn-primary:hover,
.btn-secondary:hover,
.call-btn:hover,
.telegram-btn:hover{

transform:translateY(-4px);

}

/* ==========================================
   IMAGE HOVER
========================================== */

img{

transition:.4s;

}

.therapist-card:hover img{

transform:scale(1.05);

}

/* ==========================================
   MOBILE RESPONSIVE
========================================== */

@media(max-width:991px){

.navbar{

position:absolute;

top:100%;
left:0;

width:100%;

background:#111;

display:none;

padding:25px;

}

.navbar.active{

display:block;

}

.navbar ul{

flex-direction:column;

gap:18px;

}

#menuBtn{

display:block;
color:#fff;

}

.header-btn{

display:none;

}

.hero-container,
.about-wrapper{

grid-template-columns:1fr;

text-align:center;

}

.hero-content h1{

font-size:42px;

}

.hero-buttons{

justify-content:center;

}

.hero-image{

margin-top:40px;

}

.telegram-left,
.telegram-right{

padding:12px 20px;

font-size:14px;

}

}

@media(max-width:768px){

.container{

width:94%;

}

.hero{

padding-top:120px;

}

.hero-content h1{

font-size:32px;

}

.section-title h2{

font-size:30px;

}

.telegram-left{

left:10px;
bottom:10px;

}

.telegram-right{

right:10px;
bottom:10px;

}

.floating-call{

right:15px;
bottom:80px;

width:55px;
height:55px;

}

#topBtn{

left:15px;
bottom:80px;

width:50px;
height:50px;

}

}

@media(max-width:480px){

.hero-content h1{

font-size:28px;

}

.btn-primary,
.btn-secondary{

width:100%;

text-align:center;

}

.telegram-left,
.telegram-right{

font-size:13px;

padding:10px 18px;

}

}

/* ==========================================
   END OF STYLE.CSS
========================================== */