/* ===============================
   VARIABLES
=================================*/
:root{
--bg:#f5f6f8;
--card:#ffffff;
--text:#1c1e21;
--border:#e4e6eb;
--primary:#E1306C;
--footer:#f0f2f5;
}

body.dark{
--bg:#121212;
--card:#1e1e1e;
--text:#ffffff;
--border:#333;
--footer:#1a1a1a;
}

/* ===============================
   GLOBAL
=================================*/
body{
margin:0;
font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
background:var(--bg);
color:var(--text);
transition:0.3s;
}

a{
text-decoration:none;
color:inherit;
}

/* ===============================
   HEADER
=================================*/
header{
display:flex;
justify-content:space-between;
align-items:center;
padding:15px 30px;
border-bottom:1px solid var(--border);
background:var(--card);
position:sticky;
top:0;
z-index:100;
}

.logo{
font-weight:600;
font-size:18px;
}

.search input{
width:320px;
padding:10px 18px;
border-radius:25px;
border:1px solid var(--border);
background:var(--bg);
outline:none;
}

.search input:focus{
border-color:var(--primary);
}

.actions{
font-size:18px;
cursor:pointer;
}

/* ===============================
   CONTAINER
=================================*/
.container{
max-width:1200px;
margin:auto;
padding:25px 20px;
}

/* ===============================
   CATEGORÍAS
=================================*/
.categorias{
margin-bottom:20px;
}

.categorias a{
margin-right:15px;
font-size:14px;
color:gray;
transition:0.2s;
}

.categorias a:hover{
color:var(--primary);
}

/* ===============================
   GRID CARDS
=================================*/
.cards{
display:grid;
grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
gap:20px;
}

/* ===============================
   CARD
=================================*/
.card{
background:var(--card);
border:1px solid var(--border);
border-radius:12px;
overflow:hidden;
transition:0.3s;
}

.card:hover{
transform:translateY(-5px);
box-shadow:0 8px 20px rgba(0,0,0,0.08);
}

/* ===============================
   COVER (PORTADA)
=================================*/
.cover{
height:130px;
background:repeating-linear-gradient(
45deg,
#f0f0f0,
#f0f0f0 10px,
#e6e6e6 10px,
#e6e6e6 20px
);
}

/* ===============================
   AVATAR
=================================*/
.avatar{
width:110px;
height:110px;
border-radius:50%;
margin:-55px auto 10px;
display:block;
object-fit:cover;
border:4px solid white;
background:#ccc;
}

/* ===============================
   CARD BODY
=================================*/
.card-body{
text-align:center;
padding:10px 15px 25px;
}

.card-body h3{
margin:8px 0 5px;
font-size:18px;
}

.card-body p{
font-size:14px;
color:gray;
margin:4px 0;
}

/* ===============================
   FOOTER
=================================*/
footer{
margin-top:60px;
background:var(--footer);
padding:45px 20px 25px;
border-top:1px solid var(--border);
}

.footer-grid{
display:grid;
grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
gap:30px;
max-width:1200px;
margin:auto;
}

.footer-grid h4{
margin-bottom:12px;
font-size:15px;
}

.footer-grid a{
display:block;
font-size:14px;
margin-bottom:8px;
color:var(--text);
transition:0.2s;
}

.footer-grid a:hover{
color:var(--primary);
}

.footer-bottom{
text-align:center;
margin-top:35px;
font-size:13px;
color:gray;
}

/* ===============================
   RESPONSIVE
=================================*/
@media(max-width:768px){
.search input{
width:200px;
}
}

@media(max-width:500px){
header{
flex-direction:column;
gap:10px;
}

.search input{
width:100%;
}
}