@import url('https://fonts.googleapis.com/css2?family=Tajawal:wght@400;500;700;800&display=swap');

:root{

--primary:#198754;
--primary-dark:#146c43;
--bg:#f7f8fa;
--white:#fff;
--text:#222;
--muted:#777;
--border:#e8e8e8;
--shadow:0 15px 40px rgba(0,0,0,.08);

}

*{

margin:0;
padding:0;
box-sizing:border-box;
font-family:'Tajawal',sans-serif;

}

body{

background:var(--bg);
color:var(--text);

}

.container{

width:1400px;
max-width:95%;
margin:auto;

}

/*==========================
NAVBAR
==========================*/

.navbar{

background:#fff;
position:sticky;
top:0;
z-index:1000;
box-shadow:0 4px 18px rgba(0,0,0,.05);

}

.navbar .container{

height:82px;
display:flex;
align-items:center;
justify-content:space-between;
flex-wrap:wrap;
gap:15px;

}

img{

display:block;
max-width:100%;

}

a{

text-decoration:none;

}

/*==========================
Breadcrumb
==========================*/

.breadcrumb{

background:#fff;
border-bottom:1px solid var(--border);
padding:18px 0;

}

.breadcrumb .container{

display:flex;
align-items:center;
gap:12px;
font-size:15px;

}

.breadcrumb a{

color:#555;

}

.breadcrumb span{

color:var(--primary);
font-weight:700;

}

/*==========================
Product Page
==========================*/

.product-page{

padding:60px 0;

}

.product-layout{

display:grid;
grid-template-columns:620px 1fr;
gap:60px;
align-items:start;

}

/*==========================
Gallery
==========================*/

.gallery{

display:flex;
flex-direction:column;
gap:20px;

}

.main-image{

background:#fff;
border-radius:24px;
overflow:hidden;
box-shadow:var(--shadow);
height:560px;

}

.main-image img{

width:100%;
height:100%;
object-fit:cover;

}

.thumbnails{

display:grid;
grid-template-columns:repeat(4,1fr);
gap:15px;

}

.thumbnails img{

height:120px;
border-radius:16px;
cursor:pointer;
object-fit:cover;
border:3px solid transparent;
transition:.25s;

}

.thumbnails img:hover{

border-color:var(--primary);

}

/*==========================
Product Info
==========================*/

.product-info{

background:#fff;
padding:35px;
border-radius:24px;
box-shadow:var(--shadow);

}

.category{

display:inline-block;
background:#eef8f2;
color:var(--primary);
padding:8px 18px;
border-radius:30px;
font-size:14px;
font-weight:700;
margin-bottom:20px;

}

.product-info h1{

font-size:42px;
font-weight:800;
margin-bottom:18px;

}

.rating{

display:flex;
align-items:center;
gap:6px;
color:#f6b100;
margin-bottom:25px;

}

.rating span{

margin-right:10px;
color:#666;
font-weight:700;

}

.rating .rating-count{

font-weight:500;
font-size:14px;
color:#999;
margin-right:0;

}

.price{

font-size:42px;
font-weight:800;
color:var(--primary);
margin-bottom:30px;

}

.description{

font-size:18px;
line-height:2;
color:#555;
margin-bottom:35px;

}

/*==========================
DETAILS
==========================*/

.details{

display:grid;
grid-template-columns:repeat(3,1fr);
gap:18px;
margin-bottom:35px;

}

.details div{

background:#f8fafb;
border:1px solid var(--border);
border-radius:16px;
padding:20px;
text-align:center;

}

.details strong{

display:block;
font-size:15px;
margin-bottom:10px;
color:#888;

}

.details span{

font-size:22px;
font-weight:800;
color:#222;

}

/*==========================
CONTACT BUTTONS
==========================*/

.contact-buttons{

display:flex;
gap:15px;
flex-wrap:wrap;

}

.contact-buttons a{

flex:1;
height:56px;
display:flex;
align-items:center;
justify-content:center;
gap:12px;
border-radius:14px;
font-size:17px;
font-weight:700;
transition:.25s;

}

.whatsapp{

background:#25D366;
color:#fff;

}

.whatsapp:hover{

background:#1fb458;

}

.call{

background:#198754;
color:#fff;

}

.call:hover{

background:#146c43;

}

.location{

background:#fff;
border:2px solid #198754;
color:#198754;

}

.location:hover{

background:#198754;
color:#fff;

}

/*==========================
STORE SECTION
==========================*/

.store-section{

padding-bottom:80px;

}

.store-grid{

display:grid;
grid-template-columns:420px 1fr;
gap:30px;

}

.store-card,
.map-card{

background:#fff;
border-radius:24px;
padding:35px;
box-shadow:var(--shadow);

}

.store-header{

display:flex;
align-items:center;
gap:18px;
margin-bottom:25px;

}

.store-header img{

width:90px;
height:90px;
border-radius:50%;
object-fit:cover;

}

.store-header h2{

font-size:28px;
margin-bottom:8px;

}

.store-header span{

color:#777;

}

.store-card p{

font-size:17px;
line-height:2;
color:#555;
margin-bottom:30px;

}

.store-actions{

display:flex;
gap:15px;

}

.store-actions a{

flex:1;
height:52px;
display:flex;
align-items:center;
justify-content:center;
border-radius:14px;
font-weight:700;

}

.btn-whatsapp{

background:#25D366;
color:#fff;

}

.btn-call{

background:#198754;
color:#fff;

}

/*==========================
MAP
==========================*/

.map-card h2{

font-size:30px;
font-weight:800;
margin-bottom:25px;

}

.map-placeholder{

height:420px;
background:#f6f7f9;
border:2px dashed #d9dde3;
border-radius:20px;

display:flex;
flex-direction:column;
align-items:center;
justify-content:center;

margin-bottom:25px;

}

.family-map{

height:420px;
width:100%;
border-radius:20px;
margin-bottom:25px;
z-index:1;

}

.map-popup-card{

display:flex;
align-items:center;
gap:10px;
min-width:170px;

}

.map-popup-card img{

width:46px;
height:46px;
border-radius:50%;
object-fit:cover;
flex-shrink:0;

}

.map-popup-card h4{

font-size:15px;
margin:0 0 4px;

}

.map-popup-card span{

font-size:12px;
color:#777;

}

.map-placeholder i{

font-size:70px;
color:#198754;
margin-bottom:18px;

}

.map-placeholder p{

font-size:18px;
color:#666;

}

.open-map{

height:56px;

display:flex;
align-items:center;
justify-content:center;
gap:12px;

background:#198754;
color:#fff;

border-radius:16px;

font-size:17px;
font-weight:700;

transition:.25s;

}

.open-map:hover{

background:#146c43;

}

/*==========================
RELATED PRODUCTS
==========================*/

.related-products{

padding-bottom:80px;

}

.section-title{

margin-bottom:35px;

}

.section-title h2{

font-size:34px;
font-weight:800;

}

.section-subtitle{

margin-top:8px;
color:#777;
font-size:15px;

}

.section-subtitle:empty{

display:none;

}

.products-grid{

display:grid;
grid-template-columns:repeat(4,1fr);
gap:30px;

}

.product-card{

background:#fff;
border-radius:22px;
overflow:hidden;
box-shadow:0 12px 35px rgba(0,0,0,.08);
transition:.3s;

}

.product-card:hover{

transform:translateY(-8px);

}

.product-image{

height:250px;
overflow:hidden;

}

.product-image img{

width:100%;
height:100%;
object-fit:cover;
transition:.35s;

}

.product-card:hover img{

transform:scale(1.08);

}

.product-body{

padding:22px;

}

.product-body h3{

font-size:22px;
margin:18px 0;

}

.product-body .price{

font-size:28px;
font-weight:800;
color:#198754;
margin-bottom:20px;

}

.details-btn{

display:flex;
align-items:center;
justify-content:center;

height:52px;

background:#198754;
color:#fff;

border-radius:14px;

font-size:16px;
font-weight:700;

transition:.25s;

}

.details-btn:hover{

background:#146c43;

}

/*==========================
FOOTER
==========================*/

.footer{

background:#fff;
border-top:1px solid var(--border);
padding:40px 0;
margin-top:80px;

}

.footer-content{

display:flex;
justify-content:space-between;
align-items:center;
gap:30px;

}

.footer-content h3{

font-size:28px;
margin-bottom:8px;

}

.footer-content p{

color:#777;

}

.footer-links{

display:flex;
gap:30px;

}

.footer-links a{

font-size:16px;
font-weight:700;
color:#444;
transition:.25s;

}

.footer-links a:hover{

color:var(--primary);

}

.footer-social{

display:flex;
gap:15px;

}

.footer-social a{

width:48px;
height:48px;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
background:#eef8f2;
color:var(--primary);
font-size:20px;
transition:.25s;

}

.footer-social a:hover{

background:var(--primary);
color:#fff;

}

/*==========================
RESPONSIVE
==========================*/

@media(max-width:1200px){

.product-layout{

grid-template-columns:1fr;

}

.store-grid{

grid-template-columns:1fr;

}

.products-grid{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:768px){

.navbar .container{

height:auto;
padding:15px 0;

}

.products-grid{

grid-template-columns:1fr;

}

.details{

grid-template-columns:1fr;

}

.contact-buttons{

flex-direction:column;

}

.store-actions{

flex-direction:column;

}

.main-image{

height:380px;

}

.product-info h1{

font-size:32px;

}

.price{

font-size:34px;

}

.footer-content{

flex-direction:column;
text-align:center;

}

}