body{
margin:0;
font-family:'Segoe UI',sans-serif;
background:linear-gradient(135deg,#0f2027,#203a43,#2c5364);
color:white;
overflow-x:hidden;
min-height:100vh;
}

/* container */

.container{
  text-align:center;
  padding:35px 20px;
  max-width:900px;
  margin: auto; /* يوسّطه أفقياً */
  display:flex;
  flex-direction:column;
  justify-content:center; /* يوسّطه عمودياً */
  min-height:80vh; /* على الأقل 80% من ارتفاع الشاشة */
}

/* glass card */

.glass-card{
background:linear-gradient(
145deg,
rgba(255,255,255,0.10),
rgba(255,255,255,0.03)
);

backdrop-filter:blur(18px);
-webkit-backdrop-filter:blur(18px);

padding:42px;
border-radius:26px;

max-width:700px;
margin:auto;

border:1px solid rgba(255,255,255,0.12);

box-shadow:
0 15px 45px rgba(0,0,0,0.45),
0 5px 15px rgba(0,0,0,0.25);

position:relative;
transition:all .35s ease;
}

.glass-card:hover{
transform:translateY(-4px);
box-shadow:
0 20px 55px rgba(0,0,0,0.55),
0 8px 20px rgba(0,0,0,0.35);
}
.glass-card::before{
content:"";
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
border-radius:26px;
background:linear-gradient(
120deg,
rgba(255,255,255,0.15),
transparent
);
opacity:0.4;
pointer-events:none;
}
/* title */

h1{
font-size:20px;
margin-bottom:10px;
letter-spacing:1px;
}

/* description */

p{
opacity:.85;
line-height:1.5;
}

/* language button */

.langBtn{
position:absolute;
top:15px;
right:15px;
background:white;
color:black;
padding:6px 14px;
border-radius:20px;
font-size:13px;
box-shadow:0 4px 10px rgba(0,0,0,.2);
}

/* buttons container */

.buttons{
margin-top:25px;
display:grid;
grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
gap:12px;
max-width:600px;
margin-left:auto;
margin-right:auto;
}

/* main buttons */

button{
padding:13px 18px;
border:none;
border-radius:40px;
background:linear-gradient(135deg,#00c6ff,#0072ff);
color:white;
font-weight:600;
font-size:14px;
cursor:pointer;
transition:.25s;
box-shadow:0 6px 20px rgba(0,0,0,.25);
}

button:hover{
transform:translateY(-2px) scale(1.04);
box-shadow:0 10px 25px rgba(0,0,0,.35);
}

button:active{
transform:scale(.97);
}

/* map */

#map{
height:520px;
margin-top:15px;
border-radius:20px;
display:none;
box-shadow:0 20px 50px rgba(0,0,0,.4);
overflow:hidden;
width:100%;
max-width:900px;
margin-left:auto;
margin-right:auto;
}

/* loader */

.loader{
margin-top:25px;
display:none;
text-align:center;
}
.loader p {
  margin-top: 12px;
  font-size: 15px;
  font-weight: 600;
  color: #00c6ff;
  text-shadow: 0 0 5px rgba(0,198,255,0.5);
}
.spinner{
border:5px solid rgba(255,255,255,0.15);
border-top:5px solid #00c6ff;
border-radius:50%;
width:45px;
height:45px;
animation:spin 1s linear infinite;
margin:auto;
}

@keyframes spin{
100%{transform:rotate(360deg);}
}

/* location alert */

.location-alert{
animation:fadeIn .4s ease;
background:rgba(0,0,0,.3);
padding:15px;
border-radius:12px;
margin-top:15px;
}

.location-btn{
margin-top:10px;
padding:10px 18px;
border:none;
border-radius:10px;
background:linear-gradient(135deg,#00c6ff,#0072ff);
color:white;
font-weight:bold;
cursor:pointer;
transition:.25s;
}

.location-btn:hover{
transform:scale(1.05);
}

/* footer */

footer{
margin-top:40px;
opacity:0.7;
font-size:13px;
text-align:center;
padding-bottom:20px;
}

/* animation */

@keyframes fadeIn{
from{
opacity:0;
transform:translateY(10px);
}
to{
opacity:1;
transform:translateY(0);
}
}

/* mobile optimization */

@media(max-width:600px){


.glass-card{
padding:30px 20px;
}

h1{
font-size:26px;
}

.buttons{
grid-template-columns:repeat(2,1fr);
}

#map{
height:420px;
}

}