*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:Arial,sans-serif;
}

body{
background:#070707;
color:#fff;
}

/* HEADER */

header{
position:fixed;
top:0;
left:0;
width:100%;
height:75px;
display:flex;
justify-content:space-between;
align-items:center;
padding:0 40px;
background:rgba(0,0,0,.85);
backdrop-filter:blur(12px);
border-bottom:1px solid #222;
z-index:1000;
}

.logo{
font-size:28px;
font-weight:900;
letter-spacing:2px;
}

.logo span{
color:#ff003c;
}

nav{
display:flex;
gap:15px;
}

nav button{
padding:12px 22px;
background:#111;
border:1px solid #333;
color:#fff;
border-radius:12px;
cursor:pointer;
transition:.3s;
font-size:15px;
}

nav button:hover{
background:#ff003c;
border-color:#ff003c;
}

/* HERO */

.hero{
height:70vh;
display:flex;
justify-content:center;
align-items:center;
text-align:center;
padding-top:75px;
background:
radial-gradient(circle at center,#ff003c22,transparent 60%),
linear-gradient(#090909,#050505);
}

.hero h1{
font-size:80px;
line-height:.9;
margin-bottom:25px;
}

.hero h1 span{
color:#ff003c;
}

.hero p{
font-size:20px;
color:#bbb;
line-height:1.8;
}

/* SHOP */

.shop{
padding:60px 40px;
}

.category{
display:none;
animation:fade .3s;
}

.category.active{
display:block;
}

@keyframes fade{
from{
opacity:0;
transform:translateY(10px);
}
to{
opacity:1;
transform:none;
}
}

.category h2{
margin-bottom:30px;
font-size:34px;
}

/* GRID */

.grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
gap:20px;
}

/* CARD */

.card{
background:#111;
border:1px solid #222;
border-radius:18px;
padding:25px;
text-align:center;
transition:.25s;
}

.card:hover{
transform:translateY(-6px);
border-color:#ff003c;
box-shadow:0 0 20px rgba(255,0,60,.25);
}

.card h3{
font-size:24px;
margin-bottom:15px;
}

.card p{
color:#aaa;
margin-bottom:15px;
}

.card span{
display:block;
font-size:22px;
font-weight:bold;
color:#00ff88;
margin-bottom:20px;
}

.card a{
display:block;
padding:12px;
border-radius:12px;
background:#ff003c;
color:white;
text-decoration:none;
font-weight:bold;
transition:.25s;
}

.card a:hover{
background:#ff1f55;
}

/* HIDDEN COUNTRIES */

.hidden-country{
display:none;
}

/* BUTTON */

.show-btn{
margin:35px auto 0;
display:block;
padding:15px 28px;
background:#111;
color:white;
border:1px solid #333;
border-radius:14px;
cursor:pointer;
transition:.3s;
font-size:16px;
}

.show-btn:hover{
background:#ff003c;
}

/* FOOTER */

footer{
margin-top:70px;
padding:30px;
text-align:center;
border-top:1px solid #222;
color:#888;
}

/* MOBILE */

@media(max-width:800px){

header{
flex-direction:column;
height:auto;
padding:15px;
gap:15px;
}

nav{
flex-wrap:wrap;
justify-content:center;
}

.hero{
padding:120px 20px 50px;
}

.hero h1{
font-size:52px;
}

.hero p{
font-size:17px;
}

.shop{
padding:30px 20px;
}

.grid{
grid-template-columns:1fr;
}

}
.gift-image{

width:100%;
height:180px;

object-fit:contain;

background:#0d0d0d;

border-radius:15px;

padding:15px;

margin-bottom:15px;

transition:.3s;

}

.card:hover .gift-image{

transform:scale(1.05);

}
/* ========================= */
/* Адаптация под телефон */
/* ========================= */

@media (max-width: 768px){

header{
    flex-direction:column;
    gap:15px;
    padding:15px;
    height:auto;
}

nav{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:10px;
}

nav button{
    width:45%;
}

.hero{
    min-height:70vh;
    padding:120px 20px 50px;
    text-align:center;
}

.hero h1{
    font-size:48px;
}

.hero p{
    font-size:18px;
}

.shop{
    padding:20px;
}

.grid{
    display:grid;
    grid-template-columns:1fr;
    gap:20px;
}

.card{
    width:100%;
}

.card img{
    width:90px;
    height:90px;
}

.show-btn{
    width:100%;
}

footer{
    text-align:center;
    padding:20px;
}

}