/*==================================
Hamza Store V14
Professional Store CSS
Part 1/20
==================================*/

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

*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:'Cairo',sans-serif;
-webkit-tap-highlight-color:transparent;
}

html{
scroll-behavior:smooth;
}

img{
display:block;
width:100%;
height:auto;
}

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

button{
border:none;
outline:none;
cursor:pointer;
font-family:inherit;
background:none;
}

input,
textarea,
select{
font-family:inherit;
outline:none;
}

ul,
ol{
list-style:none;
}

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

:root{

--primary:#2563eb;
--primary-dark:#1d4ed8;
--secondary:#0f766e;
--gold:#f59e0b;
--success:#22c55e;
--danger:#ef4444;

--bg:#f4f7fb;
--card:#ffffff;

--text:#111827;
--text-light:#6b7280;

--border:#e5e7eb;

--radius:20px;

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

--transition:.3s;

}
/*========================
BODY
========================*/

body{

background:var(--bg);
color:var(--text);

transition:var(--transition);

overflow-x:hidden;

padding-bottom:90px;

}

body.dark{

--bg:#0f172a;
--card:#1e293b;

--text:#f8fafc;
--text-light:#cbd5e1;

--border:#334155;

}

.container{

width:min(1400px,94%);
margin:auto;

}

/*========================
COMMON ELEMENTS
========================*/

.section{

padding:40px 0;

}

.hidden{

display:none !important;

}

.text-center{

text-align:center;

}

.mt-20{

margin-top:20px;

}

.mb-20{

margin-bottom:20px;

}

/*========================
HEADER
========================*/

.header{

position:sticky;
top:0;
z-index:1000;

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

padding:14px 18px;

background:var(--card);

box-shadow:var(--shadow);

backdrop-filter:blur(12px);

}

.brand{

display:flex;
align-items:center;
gap:12px;

}

.brand img{

width:60px;
height:60px;

border-radius:50%;

object-fit:cover;

border:3px solid var(--gold);

}

.brand-info h1{

font-size:21px;
font-weight:900;

}

.brand-info p{

font-size:13px;
color:var(--text-light);
margin-top:2px;

}

.header-icons{

display:flex;
align-items:center;
gap:12px;

}

.header-btn{

width:48px;
height:48px;

display:flex;
align-items:center;
justify-content:center;

border-radius:50%;

background:var(--bg);

font-size:32px;

position:relative;

transition:var(--transition);

}

.header-btn:hover{

background:var(--primary);

color:#fff;

transform:translateY(-2px);

}

.cart-icon span{

position:absolute;

top:-5px;
left:-5px;

width:22px;
height:22px;

border-radius:50%;

display:flex;
align-items:center;
justify-content:center;

background:var(--danger);

color:#fff;

font-size:11px;
font-weight:700;

}
/*========================
SEARCH
========================*/

.search-box{

display:flex;
align-items:center;
gap:14px;

margin:20px;

padding:18px;

background:var(--card);

border-radius:22px;

box-shadow:var(--shadow);

}

.search-box input{

flex:1;

height:54px;

padding:0 18px;

border:2px solid var(--border);

border-radius:15px;

font-size:16px;

background:transparent;

color:var(--text);

outline:none;

transition:var(--transition);

}

.search-box input::placeholder{

color:var(--text-light);

}

.search-box input:focus{

border-color:var(--primary);

box-shadow:0 0 0 4px rgba(37,99,235,.10);

}

.search-btn,
.search-offer{

width:54px;
height:54px;

display:flex;
align-items:center;
justify-content:center;

border-radius:15px;

font-size:20px;

transition:var(--transition);

}

.search-btn{

background:var(--primary);

color:#fff;

}

.search-offer{

background:var(--gold);

color:#111;

}

.search-btn:hover{

background:var(--primary-dark);

transform:translateY(-3px);

}

.search-offer:hover{

transform:translateY(-3px);

}

.search-box button:active{

transform:scale(.96);

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

.hero-slider{

position:relative;

margin:20px;

border-radius:24px;

overflow:hidden;

box-shadow:var(--shadow);

}

.hero-slide{

display:none;

position:relative;

}

.hero-slide.active{

display:block;

animation:fade .5s;

}

.hero-slide img{

width:100%;

height:430px;

object-fit:cover;

display:block;

}

.hero-overlay{

position:absolute;

inset:0;

display:flex;

flex-direction:column;

justify-content:center;

padding:45px;

background:linear-gradient(
to left,
rgba(0,0,0,.20),
rgba(0,0,0,.65)
);

color:#fff;

}

.hero-badge{

display:inline-flex;

align-items:center;

justify-content:center;

width:max-content;

padding:8px 18px;

border-radius:30px;

background:var(--gold);

color:#111;

font-weight:800;

margin-bottom:18px;

}

.hero-overlay h2{

font-size:42px;

font-weight:900;

line-height:1.3;

margin-bottom:15px;

}

.hero-overlay p{

font-size:18px;

line-height:1.9;

margin-bottom:25px;

max-width:650px;

}

.hero-btn{

display:inline-flex;

align-items:center;

justify-content:center;

width:180px;

height:55px;

border-radius:14px;

background:var(--primary);

color:#fff;

font-weight:800;

transition:var(--transition);

}

.hero-btn:hover{

background:var(--gold);

color:#111;

transform:translateY(-3px);

}

.hero-dots{

position:absolute;

bottom:18px;

left:50%;

transform:translateX(-50%);

display:flex;

gap:10px;

z-index:10;

}

.hero-dot{

width:12px;

height:12px;

border-radius:50%;

background:#fff;

opacity:.45;

cursor:pointer;

transition:var(--transition);

}

.hero-dot.active{

opacity:1;

background:var(--gold);

}

@keyframes fade{

from{

opacity:0;

}

to{

opacity:1;

}

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

.features{

display:grid;

grid-template-columns:repeat(4,1fr);

gap:20px;

margin:30px 20px;

}

.feature-card{

background:var(--card);

border-radius:20px;

padding:24px;

text-align:center;

box-shadow:var(--shadow);

border:1px solid var(--border);

transition:var(--transition);

}

.feature-card:hover{

transform:translateY(-6px);

box-shadow:0 18px 35px rgba(0,0,0,.12);

}

.feature-card i{

font-size:34px;

color:var(--primary);

margin-bottom:15px;

}

.feature-card span{

display:block;

font-size:15px;

font-weight:800;

line-height:1.6;

color:var(--text);

}

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

.section-head{

display:flex;

align-items:center;

justify-content:space-between;

gap:15px;

margin:45px 20px 20px;

}

.section-head h2{

display:flex;

align-items:center;

gap:10px;

font-size:30px;

font-weight:900;

color:var(--text);

}

.section-head h2 i{

color:var(--gold);

}

.section-head a{

font-size:15px;

font-weight:800;

color:var(--primary);

transition:var(--transition);

}

.section-head a:hover{

color:var(--primary-dark);

}

.section-head a i{

margin-inline-start:6px;

font-size:13px;

}
/*========================
CATEGORIES
========================*/

.categories-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(140px,1fr));

gap:22px;

padding:0 20px 25px;

}

.category-card{

background:var(--card);

border-radius:22px;

padding:22px 12px;

text-align:center;

border:1px solid var(--border);

box-shadow:var(--shadow);

transition:var(--transition);

cursor:pointer;

}

.category-card:hover{

transform:translateY(-8px);

border-color:var(--primary);

box-shadow:0 18px 40px rgba(0,0,0,.12);

}

.category-image{

width:100px;

height:100px;

margin:auto;

border-radius:50%;

overflow:hidden;

background:#fff;

border:4px solid var(--gold);

display:flex;

align-items:center;

justify-content:center;

}

.category-image img{

width:100%;

height:100%;

object-fit:cover;

transition:.4s;

}

.category-card:hover .category-image img{

transform:scale(1.08);

}

.category-card h3{

margin-top:15px;

font-size:16px;

font-weight:800;

line-height:1.6;

color:var(--text);

}

.category-card p{

margin-top:6px;

font-size:13px;

color:var(--text-light);

}

.category-card.active{

border-color:var(--primary);

background:rgba(37,99,235,.05);

}

.category-card.active h3{

color:var(--primary);

}
/*========================
OFFERS
========================*/

.offers-banner{

display:grid;

grid-template-columns:1fr 1fr;

gap:30px;

align-items:center;

margin:20px;

padding:35px;

background:linear-gradient(
135deg,
var(--primary),
var(--primary-dark)
);

border-radius:24px;

color:#fff;

overflow:hidden;

box-shadow:var(--shadow);

}

.offer-content{

display:flex;

flex-direction:column;

justify-content:center;

}

.offer-badge{

display:inline-flex;

align-items:center;

justify-content:center;

width:max-content;

padding:8px 18px;

border-radius:30px;

background:var(--gold);

color:#111;

font-size:14px;

font-weight:800;

margin-bottom:18px;

}

.offer-content h2{

font-size:38px;

font-weight:900;

line-height:1.4;

margin-bottom:16px;

}

.offer-content p{

font-size:17px;

line-height:2;

opacity:.95;

margin-bottom:25px;

}

.offer-btn{

display:inline-flex;

align-items:center;

justify-content:center;

width:180px;

height:54px;

border-radius:14px;

background:#fff;

color:var(--primary);

font-weight:800;

transition:var(--transition);

}

.offer-btn:hover{

background:var(--gold);

color:#111;

transform:translateY(-3px);

}

.offer-image{

display:flex;

align-items:center;

justify-content:center;

}

.offer-image img{

width:100%;

height:320px;

object-fit:cover;

border-radius:20px;

transition:.4s;

}

.offers-banner:hover .offer-image img{

transform:scale(1.05);

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

.products-grid{

display:grid;

grid-template-columns:repeat(auto-fill,minmax(230px,1fr));

gap:22px;

padding:0 20px 35px;

}

.product-card{

position:relative;

background:var(--card);

border-radius:22px;

overflow:hidden;

border:1px solid var(--border);

box-shadow:var(--shadow);

transition:var(--transition);

}

.product-card:hover{

transform:translateY(-8px);

box-shadow:0 20px 45px rgba(0,0,0,.12);

}

.product-card::after{

content:"";

position:absolute;

left:0;

right:0;

bottom:0;

height:4px;

background:var(--primary);

transform:scaleX(0);

transform-origin:center;

transition:.3s;

}

.product-card:hover::after{

transform:scaleX(1);

}

.product-image{

position:relative;

width:100%;

height:250px;

overflow:hidden;

background: linear-gradient(135deg, #F4D03F, #C9A227);
}

.product-image img{

width:100%;

height:100%;

object-fit:cover;

transition:.4s;

}

.product-card:hover .product-image img{

transform:scale(1.08);

}

.product-badge{

position:absolute;

top:12px;

right:12px;

padding:6px 12px;

border-radius:30px;

background:var(--danger);

color:#fff;

font-size:12px;

font-weight:800;

z-index:5;

}

.favorite-btn{

position:absolute;

top:12px;

left:12px;

width:42px;

height:42px;

display:flex;

align-items:center;

justify-content:center;

border-radius:50%;

background:#fff;

color:var(--danger);

font-size:18px;

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

transition:.3s;

z-index:5;

}

.favorite-btn:hover{

transform:scale(1.1);

background:var(--danger);

color:#fff;

}
/*========================
PRODUCT INFO
========================*/

.product-info{

padding:18px;

display:flex;

flex-direction:column;

gap:12px;

}

.product-title{

font-size:17px;

font-weight:800;

line-height:1.6;

height:55px;

overflow:hidden;

color:var(--text);

}

.product-price{

display:flex;

align-items:center;

flex-wrap:wrap;

gap:8px;

font-size:24px;

font-weight:900;

color:var(--primary);

}

.product-old-price{

font-size:15px;

font-weight:700;

color:#9ca3af;

text-decoration:line-through;

}

.product-actions{

display:flex;

gap:10px;

margin-top:auto;

}

.product-actions button,
.product-actions a{

flex:1;

height:48px;

display:flex;

align-items:center;

justify-content:center;

border-radius:12px;

font-size:15px;

font-weight:800;

transition:var(--transition);

}

.add-cart{

background:var(--primary);

color:#fff;

}

.add-cart:hover{

background:var(--primary-dark);

transform:translateY(-2px);

}

.details-btn{

background:var(--gold);

color:#111;

}

.details-btn:hover{

transform:translateY(-2px);

background:#fbbf24;

}

.product-actions button:active,
.product-actions a:active{

transform:scale(.97);

}
/*========================
BRANDS
========================*/

.brands-slider{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(150px,1fr));

gap:22px;

padding:20px;

}

.brand-card{

background:var(--card);

border-radius:20px;

padding:22px;

height:120px;

display:flex;

align-items:center;

justify-content:center;

border:1px solid var(--border);

box-shadow:var(--shadow);

transition:var(--transition);

overflow:hidden;

}

.brand-card:hover{

transform:translateY(-6px);

box-shadow:0 18px 40px rgba(0,0,0,.12);

border-color:var(--primary);

}

.brand-card img{

max-width:100%;

max-height:75px;

object-fit:contain;

transition:.35s;

}

.brand-card:hover img{

transform:scale(1.08);

}

.brand-card a{

display:flex;

align-items:center;

justify-content:center;

width:100%;

height:100%;

}

.brand-title{

margin-top:12px;

font-size:15px;

font-weight:800;

text-align:center;

color:var(--text);

}

.brand-description{

margin-top:6px;

font-size:13px;

line-height:1.6;

color:var(--text-light);

text-align:center;

}

.brand-card:active{

transform:scale(.98);

}
/*========================
ABOUT
========================*/

.about-section{

padding:20px;

}

.about-card{

background:var(--card);

padding:40px;

border-radius:24px;

box-shadow:var(--shadow);

border:1px solid var(--border);

text-align:center;

transition:var(--transition);

}

.about-card:hover{

transform:translateY(-5px);

box-shadow:0 20px 45px rgba(0,0,0,.12);

}

.about-card h3{

font-size:32px;

font-weight:900;

margin-bottom:18px;

color:var(--text);

}

.about-card p{

font-size:17px;

line-height:2;

color:var(--text-light);

margin-bottom:30px;

max-width:900px;

margin-inline:auto;

}

.about-btn{

display:inline-flex;

align-items:center;

justify-content:center;

width:190px;

height:55px;

border-radius:14px;

background:var(--primary);

color:#fff;

font-weight:800;

transition:var(--transition);

}

.about-btn:hover{

background:var(--gold);

color:#111;

transform:translateY(-3px);

}

.about-btn:active{

transform:scale(.97);

}

.about-features{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(220px,1fr));

gap:20px;

margin-top:35px;

}

.about-feature{

background:var(--bg);

padding:20px;

border-radius:18px;

border:1px solid var(--border);

transition:var(--transition);

}

.about-feature:hover{

border-color:var(--primary);

transform:translateY(-4px);

}

.about-feature i{

font-size:32px;

color:var(--primary);

margin-bottom:12px;

}

.about-feature h4{

font-size:18px;

font-weight:800;

margin-bottom:10px;

}

.about-feature p{

font-size:14px;

line-height:1.8;

margin:0;

color:var(--text-light);

}
/*========================
FOOTER
========================*/

.footer{

margin-top:60px;

padding:50px 20px 120px;

background:#111827;

color:#fff;

text-align:center;

}

.footer-logo{

display:flex;

flex-direction:column;

align-items:center;

justify-content:center;

gap:16px;

margin-bottom:25px;

}

.footer-logo img{

width:90px;

height:90px;

border-radius:50%;

object-fit:cover;

border:4px solid var(--gold);

}

.footer-logo h3{

font-size:28px;

font-weight:900;

color:#fff;

}

.footer-description{

max-width:800px;

margin:0 auto 30px;

font-size:16px;

line-height:2;

color:rgba(255,255,255,.85);

}

.footer-social{

display:flex;

justify-content:center;

align-items:center;

gap:16px;

margin:30px 0;

}

.footer-social a{

width:54px;

height:54px;

display:flex;

align-items:center;

justify-content:center;

border-radius:50%;

background:#1f2937;

color:#fff;

font-size:22px;

transition:var(--transition);

}

.footer-social a:hover{

background:var(--gold);

color:#111;

transform:translateY(-4px);

}

.footer-links{

display:flex;

justify-content:center;

flex-wrap:wrap;

gap:20px;

margin:30px 0;

}

.footer-links a{

font-size:15px;

font-weight:700;

color:#d1d5db;

transition:var(--transition);

}

.footer-links a:hover{

color:var(--gold);

}

.footer-contact{

display:flex;

justify-content:center;

flex-wrap:wrap;

gap:20px;

margin:25px 0;

font-size:15px;

}

.footer-contact span{

display:flex;

align-items:center;

gap:8px;

color:#e5e7eb;

}

.footer-contact i{

color:var(--gold);

}

.copyright{

margin-top:30px;

padding-top:20px;

border-top:1px solid rgba(255,255,255,.1);

font-size:14px;

color:rgba(255,255,255,.7);

line-height:1.8;

}
/*========================
BOTTOM NAVIGATION
========================*/

.bottom-nav{

position:fixed;

left:0;
right:0;
bottom:0;

height:72px;

display:flex;
align-items:center;
justify-content:space-around;

background:var(--card);

box-shadow:0 -5px 20px rgba(0,0,0,.10);

z-index:999;

border-top:1px solid var(--border);

}

.bottom-nav a{

flex:1;

display:flex;
flex-direction:column;
align-items:center;
justify-content:center;

gap:5px;

height:100%;

color:var(--text-light);

font-size:13px;

font-weight:700;

transition:var(--transition);

}

.bottom-nav a i{

font-size:22px;

}

.bottom-nav a.active,
.bottom-nav a:hover{

color:var(--primary);

background:rgba(37,99,235,.06);

}

/*========================
WHATSAPP FLOAT
========================*/

.whatsapp-float{

position:fixed;

left:20px;

bottom:95px;

width:65px;
height:65px;

display:flex;
align-items:center;
justify-content:center;

border-radius:50%;

background:#25D366;

color:#fff;

font-size:34px;

box-shadow:0 12px 30px rgba(0,0,0,.25);

z-index:998;

transition:var(--transition);

}

.whatsapp-float:hover{

transform:scale(1.1);

}

.whatsapp-float:active{

transform:scale(.95);

}

/*========================
LOADER
========================*/

.loader{

position:fixed;

inset:0;

display:flex;
align-items:center;
justify-content:center;

background:#fff;

z-index:9999;

transition:.4s;

}

.loader.hidden{

opacity:0;

visibility:hidden;

pointer-events:none;

}

.loader-spinner{

width:65px;
height:65px;

border:6px solid #e5e7eb;

border-top:6px solid var(--primary);

border-radius:50%;

animation:spin 1s linear infinite;

}

@keyframes spin{

100%{

transform:rotate(360deg);

}

}
/*========================
CART PAGE
========================*/

.cart-page{

display:grid;

grid-template-columns:2fr 380px;

gap:30px;

padding:25px;

align-items:start;

}

.cart-items{

display:flex;

flex-direction:column;

gap:20px;

}

/*========================
CART CARD
========================*/

.cart-card{

display:flex;

align-items:center;

gap:20px;

padding:18px;

background:var(--card);

border:1px solid var(--border);

border-radius:22px;

box-shadow:var(--shadow);

transition:var(--transition);

}

.cart-card:hover{

transform:translateY(-4px);

box-shadow:0 18px 40px rgba(0,0,0,.12);

}

.cart-image{

width:200px;

height:200px;

min-width:200px;

display:flex;

align-items:center;

justify-content:center;

padding:10px;

background:#fff;

border-radius:20px;

overflow:hidden;

}

.cart-image img{

width:100%;

height:100%;

object-fit:contain;

display:block;

}

/*========================
CART DETAILS
========================*/

.cart-details{

flex:1;

}

.cart-details h3{

font-size:20px;

font-weight:800;

line-height:1.6;

margin-bottom:10px;

color:var(--text);

}

.cart-price{

font-size:22px;

font-weight:900;

color:var(--primary);

margin-bottom:15px;

}

.cart-qty{

display:flex;

align-items:center;

gap:12px;

}

.qty-btn{

width:42px;

height:42px;

display:flex;

align-items:center;

justify-content:center;

border-radius:50%;

background:var(--primary);

color:#fff;

font-size:18px;

transition:var(--transition);

}

.qty-btn:hover{

background:var(--primary-dark);

transform:scale(1.08);

}

.cart-qty span{

min-width:38px;

text-align:center;

font-size:20px;

font-weight:900;

}

.delete-btn{

width:48px;

height:48px;

display:flex;

align-items:center;

justify-content:center;

border-radius:50%;

background:#fee2e2;

color:var(--danger);

font-size:20px;

transition:var(--transition);

}

.delete-btn:hover{

background:var(--danger);

color:#fff;

}
/*========================
SUMMARY CARD
========================*/

.summary-card{

position:sticky;

top:100px;

background:var(--card);

border-radius:24px;

padding:24px;

border:1px solid var(--border);

box-shadow:var(--shadow);

}

.summary-card h3{

font-size:24px;

font-weight:900;

margin-bottom:22px;

padding-bottom:15px;

border-bottom:2px solid var(--border);

}

.summary-row{

display:flex;

justify-content:space-between;

align-items:center;

margin-bottom:16px;

font-size:17px;

}

.summary-row.total{

margin-top:20px;

padding-top:20px;

border-top:2px solid var(--border);

font-size:22px;

font-weight:900;

color:var(--primary);

}

/*========================
CUSTOMER FORM
========================*/

.customer-form{

display:flex;

flex-direction:column;

gap:16px;

margin:25px 0;

}

.customer-form input,
.customer-form textarea{

width:100%;

padding:15px 18px;

border:2px solid var(--border);

border-radius:16px;

background:var(--bg);

color:var(--text);

font-size:16px;

transition:var(--transition);

}

.customer-form textarea{

min-height:110px;

resize:vertical;

}

.customer-form input:focus,
.customer-form textarea:focus{

border-color:var(--primary);

box-shadow:0 0 0 4px rgba(37,99,235,.12);

}

/*========================
CHECKOUT BUTTONS
========================*/

.checkout-btn{

width:100%;

height:58px;

display:flex;

align-items:center;

justify-content:center;

gap:10px;

border-radius:16px;

background:#25D366;

color:#fff;

font-size:18px;

font-weight:900;

transition:var(--transition);

}

.checkout-btn:hover{

transform:translateY(-3px);

box-shadow:0 12px 25px rgba(37,211,102,.35);

}

.continue-shopping{

width:100%;

height:54px;

margin-top:15px;

display:flex;

align-items:center;

justify-content:center;

border-radius:16px;

background:var(--primary);

color:#fff;

font-weight:800;

transition:var(--transition);

}

.continue-shopping:hover{

background:var(--primary-dark);

transform:translateY(-2px);

}
/*========================
EMPTY CART
========================*/

.empty-cart{

display:flex;

flex-direction:column;

align-items:center;

justify-content:center;

text-align:center;

padding:60px 25px;

background:var(--card);

border-radius:24px;

border:1px dashed var(--border);

box-shadow:var(--shadow);

}

.empty-cart i{

font-size:70px;

color:var(--primary);

margin-bottom:20px;

}

.empty-cart h3{

font-size:28px;

font-weight:900;

margin-bottom:12px;

}

.empty-cart p{

font-size:16px;

line-height:1.8;

color:var(--text-light);

margin-bottom:25px;

}

.empty-cart a{

display:inline-flex;

align-items:center;

justify-content:center;

padding:14px 30px;

border-radius:16px;

background:var(--primary);

color:#fff;

font-weight:800;

transition:var(--transition);

}

.empty-cart a:hover{

background:var(--primary-dark);

transform:translateY(-2px);

}

/*========================
DETAILS PAGE
========================*/

.details-content{

display:flex;

flex-direction:column;

justify-content:center;

}

.details-content>*{

animation:fade .4s ease;

}

.details-image{

background:#fff;

border-radius:20px;

overflow:hidden;

}

.details-image.loading{

opacity:.5;

filter:blur(2px);

}

.option-list span{

cursor:pointer;

transition:var(--transition);

}

.option-list span:hover{

background:var(--primary);

color:#fff;

border-color:var(--primary);

}

.details-actions button:active,
.details-actions a:active{

transform:scale(.97);

}

/*========================
TOAST
========================*/

.toast{

position:fixed;

left:50%;

bottom:100px;

transform:translateX(-50%);

padding:14px 22px;

background:#111827;

color:#fff;

border-radius:12px;

font-weight:700;

opacity:0;

pointer-events:none;

transition:.3s;

z-index:99999;

}

.toast.show{

opacity:1;

}
/*========================
DARK MODE
========================*/

body.dark .loader{
background:#0f172a;
}

body.dark .feature-card,
body.dark .product-card,
body.dark .brand-card,
body.dark .about-card,
body.dark .summary-card,
body.dark .cart-card,
body.dark .empty-cart,
body.dark .category-card{
background:var(--card);
border-color:#334155;
}

body.dark .search-box{
background:var(--card);
}

body.dark .search-box input{
background:transparent;
color:#fff;
}

body.dark .customer-form input,
body.dark .customer-form textarea{
background:#1e293b;
border-color:#334155;
color:#fff;
}

body.dark .option-list span{
background:#1e293b;
border-color:#334155;
color:#fff;
}

body.dark .favorite-btn{
background:#273449;
color:#fff;
}

body.dark .delete-btn{
background:#3b1f24;
color:#ffb4b4;
}

body.dark .delete-btn:hover{
background:var(--danger);
color:#fff;
}

body.dark .toast{
background:var(--primary);
}

/*========================
SCROLLBAR
========================*/

::-webkit-scrollbar{
width:10px;
height:10px;
}

::-webkit-scrollbar-track{
background:var(--bg);
}

::-webkit-scrollbar-thumb{
background:var(--primary);
border-radius:20px;
}

::-webkit-scrollbar-thumb:hover{
background:var(--primary-dark);
}

/*========================
TEXT SELECTION
========================*/

::selection{
background:var(--primary);
color:#fff;
}

/*========================
IMAGE FIX
========================*/

.product-image,
.category-image,
.brand-card,
.offer-image,
.cart-image,
.details-image{
overflow:hidden;
}

.product-image img,
.category-image img,
.brand-card img,
.offer-image img,
.cart-image img,
.details-image img{
display:block;
width:100%;
height:100%;
image-rendering:auto;
}

.details-image img{
object-fit:cover;
}

/*========================
SMOOTH TRANSITIONS
========================*/

img,
button,
a,
input,
textarea,
.product-card,
.category-card,
.brand-card,
.cart-card{
transition:var(--transition);
}
/*========================
RESPONSIVE
TABLETS
========================*/

@media (max-width:992px){

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

.offers-banner{
grid-template-columns:1fr;
text-align:center;
}

.offer-image{
order:-1;
}

.offer-image img{
height:240px;
}

.hero-overlay{
padding:30px;
}

.hero-overlay h2{
font-size:30px;
}

.hero-overlay p{
font-size:16px;
}

.products-grid{
grid-template-columns:repeat(2,minmax(0,1fr));
gap:18px;
}

.categories-grid{
grid-template-columns:repeat(3,1fr);
}

.cart-page{
grid-template-columns:1fr;
}

.summary-card{
position:static;
margin-top:20px;
}

.cart-image{
width:170px;
height:170px;
min-width:170px;
}

.details-page{
grid-template-columns:1fr;
gap:25px;
}

.details-actions{
grid-template-columns:1fr;
}

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

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

.footer-links{
gap:16px;
}

.footer-contact{
flex-direction:column;
gap:12px;
}

}
/*========================
RESPONSIVE
MOBILE
========================*/

@media (max-width:768px){

.header{
padding:12px;
}

.brand img{
width:48px;
height:48px;
}

.brand-info h1{
font-size:17px;
}

.brand-info p{
display:none;
}

.search-box{
flex-wrap:wrap;
padding:15px;
gap:12px;
}

.search-box input{
width:100%;
height:50px;
}

.search-btn,
.search-offer{
width:50px;
height:50px;
}

.hero-slide img{
height:240px;
}

.hero-overlay{
padding:20px;
}

.hero-overlay h2{
font-size:24px;
}

.hero-overlay p{
font-size:15px;
line-height:1.8;
}

.hero-btn{
width:100%;
}

.products-grid{
grid-template-columns:repeat(2,minmax(0,1fr));
gap:12px;
padding:12px;
}

.product-image{
aspect-ratio:1/1;
height:auto;
}

.product-title{
font-size:15px;
height:auto;
min-height:46px;
}

.product-price{
font-size:20px;
}

.product-actions{
flex-direction:column;
gap:8px;
}

.product-actions button,
.product-actions a{
height:42px;
font-size:14px;
}

.categories-grid{
grid-template-columns:repeat(2,1fr);
gap:15px;
}

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

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

.cart-card{
flex-direction:column;
text-align:center;
padding:20px;
}

.cart-image{
width:160px;
height:160px;
min-width:160px;
}

.cart-details h3{
font-size:22px;
}

.cart-price{
font-size:24px;
}

.cart-qty{
justify-content:center;
}

.delete-btn{
margin-top:18px;
}

.checkout-btn,
.continue-shopping{
height:56px;
font-size:17px;
}

.footer{
padding-bottom:110px;
}

.footer-logo img{
width:75px;
height:75px;
}

.footer-logo h3{
font-size:24px;
}

.footer-links{
flex-direction:column;
gap:14px;
}

.footer-social{
gap:12px;
}

.bottom-nav{
height:68px;
}

.bottom-nav i{
font-size:20px;
}

.bottom-nav a{
font-size:12px;
}

.whatsapp-float{
width:58px;
height:58px;
font-size:30px;
left:15px;
bottom:88px;
}

}
/*========================
RESPONSIVE
SMALL MOBILE
========================*/

@media (max-width:480px){

.container{
width:95%;
}

.products-grid{
grid-template-columns:repeat(2,minmax(0,1fr));
gap:10px;
padding:10px;
}

.product-card{
border-radius:16px;
}

.product-info{
padding:10px;
}

.product-title{
font-size:14px;
min-height:42px;
}

.product-price{
font-size:18px;
}

.product-actions button,
.product-actions a{
height:40px;
font-size:13px;
border-radius:10px;
}

.categories-grid{
grid-template-columns:repeat(2,1fr);
gap:10px;
}

.category-image{
width:80px;
height:80px;
}

.category-card h3{
font-size:14px;
}

.section-head{
margin:30px 10px 15px;
}

.section-head h2{
font-size:22px;
}

.hero-slide img{
height:200px;
}

.hero-overlay{
padding:15px;
}

.hero-overlay h2{
font-size:20px;
}

.hero-overlay p{
font-size:14px;
margin-bottom:15px;
}

.hero-btn{
height:48px;
font-size:14px;
}

.cart-page{
padding:15px;
gap:18px;
}

.cart-card{
padding:16px;
border-radius:18px;
}

.cart-image{
width:130px;
height:130px;
min-width:130px;
}

.customer-form input,
.customer-form textarea{
padding:14px;
font-size:15px;
}

.summary-card{
padding:18px;
}

.summary-card h3{
font-size:20px;
}

.summary-row{
font-size:15px;
}

.summary-row.total{
font-size:20px;
}

.bottom-nav{
height:65px;
}

.bottom-nav i{
font-size:18px;
}

.bottom-nav a{
font-size:11px;
}

.whatsapp-float{
width:54px;
height:54px;
font-size:28px;
left:12px;
bottom:82px;
}

}

/*========================
PRINT
========================*/

@media print{

.header,
.search-box,
.bottom-nav,
.whatsapp-float,
.footer,
.loader,
.toast{
display:none !important;
}

body{
background:#fff !important;
padding:0;
color:#000;
}

.container{
width:100%;
}

.product-card,
.cart-card,
.summary-card{
box-shadow:none;
border:1px solid #ddd;
}

}

/*========================
GLOBAL FIXES
========================*/

html,
body{
max-width:100%;
overflow-x:hidden;
}

img{
max-width:100%;
}

button,
a,
input,
textarea{
-webkit-tap-highlight-color:transparent;
}

:focus-visible{
outline:2px solid var(--primary);
outline-offset:2px;
}

.lazy-image{
opacity:0;
transition:opacity .3s;
}

.lazy-image.loaded{
opacity:1;
}

/*==================================
END OF FILE
Hamza Store V14 Clean CSS
==================================*/

/* ===== ترتيب المنتجات بشكل متساوي ===== */

.products-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
    align-items:stretch;
}

.product-card{
    display:flex;
    flex-direction:column;
    height:100%;
}

.product-image{
    aspect-ratio:1/1;
    height:auto;
}

.product-info{
    display:flex;
    flex-direction:column;
    flex:1;
}

.product-title{
    min-height:60px;
    max-height:60px;
    overflow:hidden;
    line-height:1.5;
}

.product-price{
    margin-top:auto;
}

.product-actions{
    margin-top:12px;
}

.cart-image{
    width:220px !important;
    height:220px !important;
    min-width:200px !important;

    display:flex;
    align-items:center;
    justify-content:center;

    overflow:hidden;
    background:transparent;
   padding:0; 
    border-radius:18px;
    flex-shrink:0;
}

.cart-image img{
    width:100% !important;
    height:100% !important;
    object-fit:cover;
    border-radius:18px;
}

/*=========================
Header جديد
=========================*/

.header-container{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
}

.back-header-btn{
    width:48px;
    height:48px;
    border:none;
    border-radius:50%;
    background:#2563eb;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:20px;
    cursor:pointer;
    transition:.3s;
    flex-shrink:0;
}

.back-header-btn:hover{
    background:#1d4ed8;
    transform:scale(1.05);
}

.logo{
    display:flex;
    align-items:center;
    gap:10px;
    color:#fff;
    text-decoration:none;
    font-size:18px;
    font-weight:700;
}

.header-actions{
    display:flex;
    align-items:center;
    gap:12px;
}

.main-header{
    position: sticky;
    top: 0;
    z-index: 1000;
    background: var(--card);
    box-shadow: var(--shadow);
    padding: 14px 0;
}

.dark-mode .main-header{
    background: var(--card);
}

/* إخفاء صور أحدث المنتجات في الصفحة الرئيسية فقط */

#latestProducts .product-image,
#latestProducts .product-card img{
    display: none !important;
}

/* تقليل ارتفاع الكارت بعد حذف الصورة */
#latestProducts .product-card{
    padding-top:15px;
    min-height:auto;
}

/* رفع اسم المنتج للأعلى */
#latestProducts .product-info{
    padding-top:0;
}

/*==================================
DETAILS BACK BUTTON
==================================*/

#detailsBackBtn{
    position:fixed !important;
    top:110px !important;
    right:15px !important;
    z-index:999999 !important;

    width:90px !important;
    height:50px !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:10px !important;

    padding:0 !important;
    margin:0 !important;

    background:#111827 !important;
    color:#ffffff !important;

    border:none !important;
    border-radius:15px !important;

    font-size:18px !important;
    font-weight:800 !important;

    box-shadow:0 5px 15px rgba(0,0,0,.25) !important;
}

#detailsBackBtn span{
    color:#fff !important;
    font-size:18px !important;
    font-weight:800 !important;
}

#detailsBackBtn i{
    color:#fff !important;
    font-size:15px !important;
}

#detailsBackBtn:active{
    transform:scale(.95) !important;
}
