/* ===========================
   HAYNA STORE PAGE
=========================== */

@import url('https://fonts.googleapis.com/css2?family=Tajawal:wght@300;400;500;700;800&display=swap');

*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:'Tajawal',sans-serif;
}

body{
background:#f5f7fb;
color:#222;
}

/* Cover */

.store-cover{
height:320px;
overflow:hidden;
position:relative;
}

.store-cover img{
width:100%;
height:100%;
object-fit:cover;
}

/* Overlay */

.store-overlay{

position:absolute;

left:0;

right:0;

top:0;

bottom:0;

background:linear-gradient(to top,rgba(0,0,0,.65),transparent);

}

/* Store Header */

.store-header{

margin-top:-90px;

position:relative;

z-index:20;

}

.store-card{

background:#fff;

border-radius:20px;

padding:25px;

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

}

.store-logo{

width:140px;

height:140px;

border-radius:50%;

overflow:hidden;

border:6px solid #fff;

margin:auto;

margin-top:-100px;

background:#fff;

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

}

.store-logo img{

width:100%;

height:100%;

object-fit:cover;

}

.store-name{

font-size:34px;

font-weight:800;

margin-top:20px;

}

.store-category{

color:#666;

font-size:18px;

}

.store-location{

margin-top:8px;

color:#777;

}

/* Rating */

.rating{

font-size:22px;

color:#ffc107;

margin-top:15px;

}

/* Buttons */

.store-buttons{

margin-top:25px;

display:flex;

gap:12px;

flex-wrap:wrap;

justify-content:center;

}

.btn-store{

padding:12px 26px;

border-radius:12px;

text-decoration:none;

font-weight:700;

transition:.3s;

}

.btn-call{

background:#16a34a;

color:#fff;

}

.btn-call:hover{

background:#0f8f3f;

}

.btn-whatsapp{

background:#25d366;

color:#fff;

}

.btn-map{

background:#2563eb;

color:#fff;

}

.btn-share{

background:#444;

color:#fff;

}

/* Sections */

.section{

margin-top:35px;

background:#fff;

padding:25px;

border-radius:18px;

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

}

.section-title{

font-size:24px;

font-weight:700;

margin-bottom:20px;

}

/* Gallery */

.gallery{

display:grid;

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

gap:15px;

}

.gallery img{

width:100%;

height:180px;

object-fit:cover;

border-radius:12px;

transition:.3s;

cursor:pointer;

}

.gallery img:hover{

transform:scale(1.05);

}

/* Offers */

.offer{

display:flex;

gap:20px;

margin-bottom:20px;

padding-bottom:20px;

border-bottom:1px solid #eee;

}

.offer img{

width:180px;

height:130px;

border-radius:12px;

object-fit:cover;

}

/* Review */

.review{

padding:18px;

border:1px solid #eee;

border-radius:14px;

margin-bottom:15px;

}

.review-name{

font-weight:700;

}

.review-date{

font-size:13px;

color:#999;

}

/* Similar Stores */

.similar-grid{

display:grid;

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

gap:20px;

}

.similar-card{

background:#fff;

border-radius:16px;

overflow:hidden;

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

transition:.3s;

}

.similar-card:hover{

transform:translateY(-6px);

}

.similar-card img{

width:100%;

height:170px;

object-fit:cover;

}

.similar-body{

padding:18px;

}

/* Map */

.map iframe{

width:100%;

height:420px;

border:none;

border-radius:15px;

}

/* Mobile */

@media(max-width:768px){

.store-cover{

height:220px;

}

.store-logo{

width:110px;

height:110px;

margin-top:-70px;

}

.store-name{

font-size:27px;

}

.store-buttons{

flex-direction:column;

}

.btn-store{

width:100%;

text-align:center;

}

.gallery{

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

}

.offer{

flex-direction:column;

}

.offer img{

width:100%;

height:220px;

}

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

.store-hero{

position:relative;

margin-bottom:60px;

}

.store-cover{

height:420px;

position:relative;

overflow:hidden;

}

.store-cover img{

width:100%;

height:100%;

object-fit:cover;

}

.store-overlay{

position:absolute;

inset:0;

background:linear-gradient(to top,
rgba(0,0,0,.75),
rgba(0,0,0,.15));

}

.store-hero-card{

position:relative;

margin-top:-90px;

background:#fff;

border-radius:30px;

padding:35px;

display:grid;

grid-template-columns:140px 1fr auto;

gap:30px;

align-items:center;

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

z-index:5;

}

.store-logo{

width:140px;

height:140px;

border-radius:28px;

overflow:hidden;

background:#fff;

border:6px solid #fff;

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

}

.store-logo img{

width:100%;

height:100%;

object-fit:cover;

}

.store-category{

display:inline-block;

padding:8px 18px;

background:#F4F0FF;

color:var(--primary);

border-radius:50px;

font-weight:700;

margin-bottom:15px;

}

.store-info h1{

font-size:42px;

font-weight:800;

margin-bottom:18px;

}

.store-meta{

display:flex;

gap:25px;

flex-wrap:wrap;

color:#666;

margin-bottom:18px;

}

.store-meta i{

color:#F5B301;

}

.status-open{

color:#16A34A;

font-weight:700;

}

.status-close{

color:#DC2626;

font-weight:700;

}

.store-actions{

display:flex;

gap:12px;

align-items:center;

flex-wrap:wrap;

}

.action-btn{

width:52px;

height:52px;

display:flex;

align-items:center;

justify-content:center;

border-radius:16px;

border:1px solid #E5E7EB;

background:#fff;

cursor:pointer;

transition:.3s;

}

.action-btn:hover{

background:var(--primary);

color:#fff;

border-color:var(--primary);

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

.store-about{

margin-bottom:80px;

}

.store-layout{

display:grid;

grid-template-columns:2fr 380px;

gap:30px;

align-items:start;

}

.card{

background:#fff;

border-radius:24px;

border:1px solid #ECECEC;

box-shadow:0 10px 35px rgba(0,0,0,.05);

overflow:hidden;

}

.card-header{

padding:24px 30px;

border-bottom:1px solid #F1F1F1;

}

.card-header h2{

font-size:24px;

font-weight:800;

display:flex;

align-items:center;

gap:10px;

}

.card-body{

padding:30px;

}

.store-description{

line-height:2.2;

color:#555;

font-size:16px;

}

.store-info-list{

list-style:none;

padding:0;

margin:0;

}

.store-info-list li{

display:flex;

align-items:center;

gap:15px;

padding:16px 0;

border-bottom:1px solid #F3F3F3;

}

.store-info-list li:last-child{

border-bottom:none;

}

.store-info-list i{

width:22px;

color:var(--primary);

font-size:18px;

}

.store-info-list a{

color:#333;

text-decoration:none;

}

.service-grid{

display:flex;

flex-wrap:wrap;

gap:12px;

}

.service-item{

display:flex;

align-items:center;

gap:8px;

padding:12px 18px;

background:#F7F5FF;

border-radius:14px;

font-weight:600;

color:#555;

}

.service-item i{

color:#22C55E;

}
/*==================================================
STORE GALLERY
==================================================*/

.store-gallery-section{

margin:80px 0;

}

.gallery-grid{

display:grid;

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

gap:18px;

}

.gallery-item{

position:relative;

overflow:hidden;

border-radius:22px;

display:block;

height:260px;

}

.gallery-item img{

width:100%;

height:100%;

object-fit:cover;

transition:.4s;

}

.gallery-item:hover img{

transform:scale(1.08);

}

.gallery-overlay{

position:absolute;

inset:0;

display:flex;

align-items:center;

justify-content:center;

background:rgba(91,61,245,.45);

opacity:0;

transition:.3s;

}

.gallery-overlay i{

font-size:34px;

color:#fff;

}

.gallery-item:hover .gallery-overlay{

opacity:1;

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

.store-offers{

padding:80px 0;

background:#faf9ff;

}

.offers-grid{

display:grid;

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

gap:28px;

}

.offer-card{

background:#fff;

border-radius:24px;

overflow:hidden;

border:1px solid #eee;

transition:.35s;

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

}

.offer-card:hover{

transform:translateY(-8px);

box-shadow:0 20px 45px rgba(91,61,245,.15);

}

.offer-image{

position:relative;

height:220px;

overflow:hidden;

}

.offer-image img{

width:100%;

height:100%;

object-fit:cover;

transition:.4s;

}

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

transform:scale(1.08);

}

.offer-discount{

position:absolute;

top:18px;

left:18px;

background:#ef4444;

color:#fff;

padding:8px 16px;

border-radius:50px;

font-weight:700;

font-size:14px;

}

.offer-content{

padding:24px;

}

.offer-content h3{

font-size:22px;

margin-bottom:14px;

font-weight:800;

}

.offer-content p{

line-height:1.9;

color:#666;

margin-bottom:20px;

}

.offer-expire{

display:flex;

align-items:center;

gap:10px;

margin-bottom:22px;

color:#666;

font-size:15px;

}
/*==================================================
STORE MAP
==================================================*/

.store-map-section{

padding:90px 0;

}

.map-wrapper{

background:#fff;

border-radius:28px;

overflow:hidden;

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

border:1px solid #ECECEC;

}

#storeMap{

height:500px;

width:100%;

}

.map-info{

padding:35px;

display:flex;

justify-content:space-between;

align-items:center;

gap:30px;

flex-wrap:wrap;

}

.map-info h3{

font-size:28px;

font-weight:800;

margin-bottom:10px;

}

.map-info p{

color:#666;

display:flex;

gap:10px;

align-items:center;

}

.map-buttons{

display:flex;

gap:15px;

flex-wrap:wrap;

}
/*==================================================
REVIEWS
==================================================*/

.store-reviews{

padding:90px 0;

background:#faf9ff;

}

.reviews-summary{

display:grid;

grid-template-columns:320px 1fr;

gap:40px;

margin-bottom:50px;

}

.average-box{

background:#fff;

padding:35px;

border-radius:24px;

text-align:center;

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

}

.average-number{

font-size:64px;

font-weight:800;

color:var(--primary);

}

.average-stars{

margin:15px 0;

color:#FFC107;

font-size:22px;

}

.rating-bars{

display:flex;

flex-direction:column;

gap:16px;

}

.rating-row{

display:grid;

grid-template-columns:55px 1fr 55px;

gap:15px;

align-items:center;

}

.progress{

height:10px;

background:#ECECEC;

border-radius:20px;

overflow:hidden;

}

.progress-fill{

height:100%;

background:var(--primary);

}

.review-list{

display:flex;

flex-direction:column;

gap:22px;

}

.review-card{

background:#fff;

padding:30px;

border-radius:22px;

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

}

.review-head{

display:flex;

justify-content:space-between;

align-items:center;

margin-bottom:20px;

}

.avatar{

width:60px;

height:60px;

border-radius:50%;

background:linear-gradient(135deg,#6D5EF7,#8D7BFF);

color:#fff;

display:flex;

align-items:center;

justify-content:center;

font-size:24px;

font-weight:bold;

}

.review-stars{

color:#FFC107;

margin-top:8px;

}

.review-stars i{

opacity:.25;

}

.review-stars .active{

opacity:1;

}

.review-text{

line-height:2;

color:#555;

margin-top:15px;

}

.verified{

font-size:13px;

background:#E8FFF1;

color:#16A34A;

padding:4px 10px;

border-radius:20px;

margin-right:8px;

}

.review-date{

color:#888;

font-size:14px;

}
/*==================================================
SIMILAR STORES
==================================================*/

.similar-section{

padding:90px 0;

background:#fff;

}

.similarSwiper{

padding-bottom:50px;

}

.similarSwiper .swiper-slide{

height:auto;

}

.swiper-pagination{

margin-top:20px;

position:relative;

}