/* ==========================================
   RESET
========================================== */

*{
margin:0;
padding:0;
box-sizing:border-box;
}

html{
scroll-behavior:smooth;
}

body{
font-family:Inter, Arial, sans-serif;
background:#f7f8fa;
color:#1f2937;
line-height:1.6;
}

img{
max-width:100%;
display:block;
}

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

button{
font-family:inherit;
cursor:pointer;
}

/* ==========================================
   VARIABLES
========================================== */

:root{

--primary:#0f766e;
--primary-dark:#115e59;

--accent:#14b8a6;

--text:#1f2937;

--light:#ffffff;

--background:#f7f8fa;

--border:#e5e7eb;

--shadow:
0 10px 30px rgba(0,0,0,.06);

--radius:16px;

}

/* ==========================================
   LAYOUT
========================================== */

.container{
width:100%;
max-width:1400px;
margin:auto;
padding:0 24px;
}

/* ==========================================
   NAVBAR
========================================== */

.top-nav{
background:white;
border-bottom:1px solid var(--border);
position:sticky;
top:0;
z-index:1000;
}

.top-nav__inner{
height:80px;
display:flex;
align-items:center;
justify-content:space-between;
gap:30px;
}

.top-nav__logo{
font-size:30px;
font-weight:800;
letter-spacing:-1px;
}

.top-nav__logo span{
color:var(--primary);
}

.top-nav__search{
flex:1;
max-width:600px;
}

.search-input{
width:100%;
height:48px;
padding:0 18px;
border:1px solid var(--border);
border-radius:50px;
font-size:15px;
outline:none;
background:white;
}

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

.top-nav__actions{
display:flex;
align-items:center;
gap:25px;
}

.nav-action{
font-size:14px;
}

.nav-cart{
display:flex;
align-items:center;
gap:8px;
font-weight:600;
}

.nav-cart__icon{
position:relative;
font-size:22px;
}

.nav-cart__count{
position:absolute;
top:-10px;
right:-12px;
background:var(--primary);
color:white;
width:20px;
height:20px;
border-radius:50%;
font-size:12px;
display:flex;
align-items:center;
justify-content:center;
}

/* ==========================================
   HERO
========================================== */

.hero{
margin:30px 0;
border-radius:24px;
overflow:hidden;
position:relative;
min-height:520px;

background:
linear-gradient(
rgba(0,0,0,.35),
rgba(0,0,0,.35)
),

url("https://images.unsplash.com/photo-1519389950473-47ba0277781c?w=1600")
center/cover;
}

.hero-content{
position:absolute;
left:60px;
top:50%;
transform:translateY(-50%);
max-width:600px;
color:white;
}

.hero h1{
font-size:58px;
line-height:1.1;
margin-bottom:20px;
font-weight:700;
}

.hero p{
font-size:18px;
margin-bottom:30px;
}

.btn-primary{
display:inline-block;
padding:14px 30px;
background:var(--primary);
color:white;
border-radius:999px;
font-weight:600;
transition:.2s;
}

.btn-primary:hover{
background:var(--primary-dark);
}

/* ==========================================
   SECTION
========================================== */

.section{
margin:70px 0;
}

.section-header{
display:flex;
justify-content:space-between;
align-items:center;
margin-bottom:25px;
}

.section-title{
font-size:34px;
font-weight:700;
}

/* ==========================================
   CATEGORY GRID
========================================== */

.category-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:20px;
}

.category-card{
position:relative;
height:280px;
overflow:hidden;
border-radius:var(--radius);
}

.category-card img{
width:100%;
height:100%;
object-fit:cover;
transition:.4s;
}

.category-card:hover img{
transform:scale(1.05);
}

.category-overlay{
position:absolute;
inset:0;
background:linear-gradient(
transparent,
rgba(0,0,0,.65)
);
display:flex;
align-items:flex-end;
padding:25px;
}

.category-overlay h3{
color:white;
font-size:24px;
font-weight:600;
}

/* ==========================================
   PRODUCTS
========================================== */

.product-grid{
display:grid;
grid-template-columns:
repeat(auto-fill,minmax(250px,1fr));
gap:24px;
}

.product-card{
background:white;
border-radius:var(--radius);
overflow:hidden;
box-shadow:var(--shadow);
transition:.25s;
}

.product-card:hover{
transform:translateY(-5px);
}

.product-card__img-wrap{
height:280px;
overflow:hidden;
background:#fff;
}

.product-card__img-wrap img{
width:100%;
height:100%;
object-fit:cover;
}

.product-card__body{
padding:20px;
}

.product-card__name{
font-size:17px;
font-weight:600;
margin-bottom:12px;
min-height:48px;
}

.price-main{
font-size:24px;
font-weight:700;
color:var(--text);
}

.price-was{
margin-top:6px;
font-size:14px;
color:#6b7280;
text-decoration:line-through;
}

.btn-basket{
width:100%;
margin-top:16px;
height:46px;
border:none;
border-radius:12px;
background:var(--primary);
color:white;
font-weight:600;
}

.btn-basket:hover{
background:var(--primary-dark);
}

/* ==========================================
   FEATURES
========================================== */

.features{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:25px;
}

.feature-card{
background:white;
padding:35px;
border-radius:var(--radius);
text-align:center;
box-shadow:var(--shadow);
}

.feature-card h3{
margin-bottom:10px;
}
/* ==========================
   FOOTER
========================== */
.site-footer{
    background:#0f172a;
    color:white;
    margin-top:80px;
}

.footer-row{
    max-width:1300px;
    margin:auto;

    padding:30px 25px;

    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:40px;

    flex-wrap:wrap;
}

.footer-brand{
    max-width:320px;
}

.footer-brand h3{
    margin-bottom:10px;
}

.footer-brand p{
    color:#cbd5e1;
    line-height:1.5;
}

.footer-links{
    display:flex;
    gap:30px;
}

.footer-links a{
    color:white;
    text-decoration:none;
    font-weight:500;
}

.footer-links a:hover{
    opacity:.8;
}

.footer-apps{
    display:flex;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
}

.footer-apps span{
    font-weight:600;
}

.footer-apps img{
    height:42px;
    width:auto;
    border-radius:6px;
    background:white;
}

.footer-bottom{
    text-align:center;
    border-top:1px solid rgba(255,255,255,.1);
    padding:15px;
    color:#94a3b8;
}

/* ==========================================
   PRODUCT PAGE
========================================== */

.product-page,
.buy-box,
.product-info,
.product-gallery-main{
background:white;
}

.buy-price{
color:var(--primary);
}


/* Toast Notification */

.toast{
position:fixed;
bottom:30px;
right:30px;

background:#0f766e;
color:white;

padding:14px 22px;

border-radius:12px;

font-weight:600;

box-shadow:
0 10px 25px rgba(0,0,0,.15);

opacity:0;
visibility:hidden;

transform:translateY(20px);

transition:
opacity .3s,
transform .3s,
visibility .3s;

z-index:9999;
}

.toast.show{
opacity:1;
visibility:visible;
transform:translateY(0);
}



/* ==========================================
   MOBILE
========================================== */

@media(max-width:1000px){

.category-grid{
grid-template-columns:repeat(2,1fr);
}

.features{
grid-template-columns:1fr;
}

.hero{
min-height:420px;
}

.hero-content{
left:30px;
right:30px;
}

.hero h1{
font-size:42px;
}

}

@media(max-width:700px){

.top-nav__inner{
flex-wrap:wrap;
height:auto;
padding:15px 0;
}

.top-nav__search{
order:3;
width:100%;
max-width:none;
}

.category-grid{
grid-template-columns:1fr;
}

.hero h1{
font-size:34px;
}

.hero-content{
left:25px;
right:25px;
}

}




.page-header{
    text-align:center;
    padding:50px 20px;
}

.page-header h1{
    margin-bottom:10px;
    font-size:2.2rem;
}

.page-header p{
    color:#666;
    max-width:700px;
    margin:auto;
}

.faq-container{
    max-width:900px;
    margin:0 auto 60px;
}

.faq-item{
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:12px;
    padding:25px;
    margin-bottom:20px;
}

.faq-item h2{
    margin-bottom:12px;
    font-size:1.2rem;
}

.faq-item p{
    color:#555;
    line-height:1.7;
}

.faq-link{
    color:#2563eb;
    text-decoration:none;
    font-weight:600;
}

.faq-link:hover{
    text-decoration:underline;
}

.hero-brands{
    position:relative;
    min-height:650px;

    background-image:
    linear-gradient(
        rgba(0,0,0,.55),
        rgba(0,0,0,.55)
    ),
    url("logos/robots-vacuums-cleaners-on-carpet-in-living-room.webp");

    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;

    display:flex;
    align-items:center;
}

.hero-content{
    position:relative;
    z-index:2;
    color:white;
}

.hero-content h1{
    color:white;
    font-size:3.5rem;
}

.hero-content p{
    color:white;
    max-width:700px;
}