/*
 * style.css — Security Cameras & Networking Website
 * ملف CSS الموحّد — كل الصفحات تستخدم هذا الملف
 * =========================================================
 * 01. Variables & Reset          09. Sections (index)
 * 02. Base & Typography          10. Contact Page
 * 03. Navbar                     11. Shared Utilities
 * 04. WhatsApp Float             12. ADMIN — Login
 * 05. Footer                     13. ADMIN — Layout
 * 06. Page Header (inner pages)  14. ADMIN — Components
 * 07. Filter Buttons             15. Responsive
 * 08. Cards
 * =========================================================
 */

/* ── 01. Variables & Reset ── */
:root {
    --pri:     #1a3a5c;
    --pri-dk:  #0f2b44;
    --pri-lt:  #2c5f8a;
    --acc:     #00b4d8;
    --acc2:    #0096c7;
    --bg:      #f0f4f8;
    --card-shadow:       0 4px 20px rgba(0,0,0,.07);
    --card-shadow-hover: 0 12px 40px rgba(0,0,0,.13);
    --sidebar: 240px;
}
*,*::before,*::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }

/* ── 02. Base & Typography ── */
body {
    font-family: 'Cairo', Tahoma, Arial, sans-serif;
    background: var(--bg);
    color: #2c3e50;
    line-height: 1.7;
    direction: rtl;
    text-align: right;
}
h1,h2,h3,h4,h5,h6 { font-weight: 700; }
img { max-width: 100%; height: auto; }
a   { text-decoration: none; }

/* ── 03. Navbar ── */
.navbar { background: var(--pri); padding: .85rem 0; box-shadow: 0 2px 15px rgba(0,0,0,.15); }
.navbar-brand { font-size: 1.45rem; font-weight: 800; color: #fff !important; letter-spacing: -.3px; display:flex; align-items:center; gap:8px; }
.navbar-brand i { color: var(--acc); margin-left: 6px; }
.nav-link { color: rgba(255,255,255,.88) !important; font-weight: 600; padding: .4rem .9rem !important; border-radius: 6px; transition: .25s; }
.nav-link:hover, .nav-link.active { color: #fff !important; background: rgba(255,255,255,.12); }
.navbar-toggler { border: 1px solid rgba(255,255,255,.4); }
.navbar-toggler-icon { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255,255,255,.9%29' stroke-width='2' stroke-linecap='round' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); }

/* ── 04. WhatsApp Float ── */
.wa-float {
    position: fixed; bottom: 28px; right: 28px;
    background: #25d366; color: #fff;
    width: 58px; height: 58px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.9rem;
    box-shadow: 0 4px 20px rgba(37,211,102,.4);
    z-index: 999; transition: .3s;
}
.wa-float:hover { background: #20b859; color: #fff; transform: scale(1.1); }
.wa-float::before {
    content: ''; position: absolute;
    width: 100%; height: 100%; border-radius: 50%;
    background: rgba(37,211,102,.3);
    animation: waPulse 2s infinite;
}
@keyframes waPulse { 0%{transform:scale(1);opacity:.8} 70%,100%{transform:scale(1.5);opacity:0} }

/* ── 05. Footer ── */
.footer { background: var(--pri-dk); color: rgba(255,255,255,.8); padding: 55px 0 22px; }
.footer h5 { color: #fff; font-weight: 700; margin-bottom: 18px; font-size: 1.05rem; }
.footer p  { font-size: .9rem; line-height: 1.8; }
.footer-link { color: rgba(255,255,255,.7); display: block; font-size: .9rem; padding: 3px 0; transition: .2s; }
.footer-link:hover { color: var(--acc); padding-right: 6px; }
.footer-link.d-inline { display: inline; }
.footer-social a { display: inline-flex; width: 36px; height: 36px; border-radius: 50%; background: rgba(255,255,255,.1); align-items: center; justify-content: center; color: rgba(255,255,255,.8); margin-left: 8px; transition: .3s; }
.footer-social a:hover { background: var(--acc); color: #fff; }
.footer hr { border-color: rgba(255,255,255,.1); margin: 30px 0 18px; }
.footer-bottom { font-size: .85rem; opacity: .6; }

/* ── 06. Page Header ── */
.page-header { background: linear-gradient(135deg,var(--pri-dk),var(--pri-lt)); color: #fff; padding: 50px 0; text-align: center; }
.page-header h1 { font-size: clamp(1.6rem,4vw,2.3rem); font-weight: 800; margin-bottom: 8px; }
.page-header p  { opacity: .85; font-size: .95rem; margin: 0; }
.breadcrumb-item a { color: rgba(255,255,255,.7); }
.breadcrumb-item.active { color: var(--acc); }
.breadcrumb-item+.breadcrumb-item::before { color: rgba(255,255,255,.5); }

/* ── 07. Filter Buttons ── */
.filter-wrap { background: #fff; border-radius: 14px; padding: 18px 22px; box-shadow: 0 2px 12px rgba(0,0,0,.06); margin-bottom: 30px; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.filter-label { font-weight: 700; color: var(--pri); font-size: .9rem; margin-left: 8px; white-space: nowrap; }
.filter-btn { background: transparent; border: 2px solid #dde3ea; color: #7f8c8d; padding: 7px 20px; border-radius: 30px; transition: .25s; font-family: 'Cairo',sans-serif; font-weight: 600; font-size: .88rem; cursor: pointer; line-height: 1; }
.filter-btn:hover  { border-color: var(--pri-lt); color: var(--pri-lt); }
.filter-btn.active { background: var(--pri); border-color: var(--pri); color: #fff; }

/* ── 08. Cards ── */

/* Product Card */
.product-card { background: #fff; border-radius: 14px; overflow: hidden; box-shadow: var(--card-shadow); transition: .3s; height: 100%; border: 1px solid #e8edf3; display: flex; flex-direction: column; }
.product-card:hover { transform: translateY(-5px); box-shadow: var(--card-shadow-hover); }
.product-img-wrap  { position: relative; overflow: hidden; }
.product-img       { height: 220px; object-fit: cover; width: 100%; transition: .4s; display: block; }
.product-card:hover .product-img { transform: scale(1.04); }
.product-badge     { position: absolute; top: 12px; right: 12px; background: var(--pri); color: #fff; font-size: .72rem; font-weight: 700; padding: 4px 10px; border-radius: 20px; }
.product-body      { padding: 18px; flex: 1; display: flex; flex-direction: column; }
.product-cat       { font-size: .73rem; font-weight: 700; color: var(--acc); background: rgba(0,180,216,.1); padding: 3px 10px; border-radius: 20px; display: inline-block; margin-bottom: 9px; }
.product-title     { font-size: 1.05rem; font-weight: 700; color: var(--pri); margin-bottom: 8px; }
.product-desc      { font-size: .87rem; color: #7f8c8d; flex: 1; line-height: 1.65; }
.product-price     { font-size: 1.1rem; font-weight: 800; color: var(--pri); margin: 12px 0; }
.product-price span{ font-size: .78rem; font-weight: 500; color: #7f8c8d; }
.btn-wa            { background: #25d366; color: #fff; border: none; border-radius: 8px; padding: 10px; font-size: .9rem; font-weight: 700; transition: .3s; display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: auto; }
.btn-wa:hover      { background: #20b859; color: #fff; }

/* Gallery Item */
.gallery-item { position: relative; overflow: hidden; border-radius: 13px; cursor: pointer; aspect-ratio: 4/3; background: #dde3ea; }
.gallery-item img { width: 100%; height: 100%; object-fit: cover; transition: .4s; display: block; }
.gallery-item:hover img { transform: scale(1.06); }
.gallery-overlay { position: absolute; inset: 0; background: linear-gradient(transparent 40%,rgba(15,43,68,.88)); color: #fff; display: flex; flex-direction: column; justify-content: flex-end; padding: 16px; opacity: 0; transition: .3s; }
.gallery-item:hover .gallery-overlay { opacity: 1; }
.gallery-overlay h5    { font-size: .95rem; font-weight: 700; margin: 0 0 4px; }
.gallery-overlay small { opacity: .8; font-size: .78rem; }
.zoom-icon { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%) scale(.5); opacity: 0; transition: .3s; font-size: 2rem; color: #fff; }
.gallery-item:hover .zoom-icon { opacity: 1; transform: translate(-50%,-50%) scale(1); }

/* Lightbox */
#lightboxModal .modal-content { background: #000; border: none; border-radius: 16px; overflow: hidden; }
#lightboxModal .modal-header  { background: rgba(255,255,255,.05); border-bottom: 1px solid rgba(255,255,255,.1); padding: 14px 20px; }
#lightboxModal .modal-title   { color: #fff; font-family: 'Cairo',sans-serif; font-weight: 700; }
#lightboxModal .btn-close     { filter: invert(1); }
#lightboxImg                   { width: 100%; max-height: 70vh; object-fit: contain; display: block; }

/* Service Card */
.service-card { background: #fff; border-radius: 16px; padding: 32px 24px; text-align: center; transition: .3s; box-shadow: var(--card-shadow); height: 100%; border: 1px solid #e8edf3; position: relative; overflow: hidden; }
.service-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg,var(--acc),var(--pri-lt)); }
.service-card:hover { transform: translateY(-6px); box-shadow: var(--card-shadow-hover); }
.svc-icon { width: 74px; height: 74px; background: linear-gradient(135deg,var(--pri),var(--pri-lt)); border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto 20px; color: #fff; font-size: 1.9rem; transition: .3s; }
.service-card:hover .svc-icon { background: linear-gradient(135deg,var(--acc),var(--pri-lt)); transform: scale(1.07); }
.service-card h4 { color: var(--pri); font-size: 1.1rem; margin-bottom: 10px; }
.service-card p  { color: #7f8c8d; font-size: .92rem; }

/* Empty State */
.empty-state   { text-align: center; padding: 70px 20px; color: #95a5a6; }
.empty-state i { font-size: 4rem; margin-bottom: 20px; opacity: .4; display: block; }

/* ── 09. Sections (index.php) ── */

/* Hero */
.hero { background: linear-gradient(135deg,var(--pri-dk) 0%,var(--pri) 50%,var(--pri-lt) 100%); color: #fff; padding: 90px 0 70px; text-align: center; position: relative; overflow: hidden; }
.hero::before { content: ''; position: absolute; inset: 0; background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.04'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"); }
.hero-badge { display: inline-block; background: rgba(0,180,216,.25); color: #fff; border: 1px solid rgba(0,180,216,.55); padding: 7px 20px; border-radius: 30px; font-size: 1rem; font-weight: 700; margin-bottom: 18px; letter-spacing: .01em; }
.hero h1 { font-size: clamp(1.9rem,5vw,3.2rem); font-weight: 800; margin-bottom: 16px; line-height: 1.3; }
.hero p  { font-size: 1.1rem; opacity: .92; max-width: 580px; margin: 0 auto 30px; }
/* Hero Buttons */

/* Stats Bar */
.stats-bar { background: #fff; border-bottom: 3px solid var(--acc); box-shadow: 0 4px 20px rgba(0,0,0,.07); }
.stat-item { text-align: center; padding: 22px 10px; border-left: 1px solid #eee; }
.stat-item:last-child { border-left: none; }
.stat-num  { font-size: 1.9rem; font-weight: 800; color: var(--pri); line-height: 1; }
.stat-lbl  { font-size: .82rem; color: #7f8c8d; font-weight: 600; margin-top: 4px; }

/* Section Titles */
.sec-title { text-align: center; margin-bottom: 50px; }
.sec-title h2 { font-size: clamp(1.5rem,3vw,2rem); color: var(--pri); margin-bottom: 12px; }
.sec-title p  { color: #7f8c8d; max-width: 500px; margin: 0 auto; }
.sec-title::after { content: ''; display: block; width: 50px; height: 3px; background: linear-gradient(90deg,var(--acc),var(--pri-lt)); border-radius: 3px; margin: 14px auto 0; }

/* About */
.about-feature { display: flex; align-items: flex-start; gap: 14px; margin-bottom: 18px; }
.about-icon    { width: 44px; height: 44px; background: linear-gradient(135deg,var(--pri),var(--pri-lt)); border-radius: 10px; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 1.1rem; flex-shrink: 0; }
.about-img     { border-radius: 16px; box-shadow: 0 10px 40px rgba(26,58,92,.18); }

/* Gallery Mini (index) */
.gallery-mini .gm-item    { position: relative; border-radius: 12px; overflow: hidden; aspect-ratio: 4/3; display: block; box-shadow: var(--card-shadow); }
.gallery-mini .gm-item img { width: 100%; height: 100%; object-fit: cover; transition: .35s; }
.gallery-mini .gm-item:hover img { transform: scale(1.06); }
.gallery-mini .gm-overlay { position: absolute; inset: 0; background: linear-gradient(transparent 50%,rgba(26,58,92,.85)); color: #fff; display: flex; align-items: flex-end; padding: 14px; opacity: 0; transition: .3s; }
.gallery-mini .gm-item:hover .gm-overlay { opacity: 1; }

/* Why Us */
.why-us   { background: linear-gradient(135deg,var(--pri-dk),var(--pri)); color: #fff; padding: 70px 0; }
.why-card { text-align: center; padding: 20px; }
.why-num  { font-size: 2.5rem; font-weight: 800; color: var(--acc); line-height: 1; }
.why-lbl  { font-size: .9rem; opacity: .85; margin-top: 6px; }

/* CTA */
.cta-section    { background: #fff; padding: 60px 0; text-align: center; border-top: 1px solid #e8edf3; }
.cta-section h2 { color: var(--pri); font-size: 1.8rem; margin-bottom: 12px; }
.cta-section p  { color: #7f8c8d; max-width: 520px; margin: 0 auto 28px; }
.btn-cta        { background: var(--pri); color: #fff; border: none; border-radius: 30px; padding: 13px 36px; font-size: 1rem; font-weight: 700; transition: .3s; display: inline-block; }
.btn-cta:hover  { background: var(--pri-lt); color: #fff; transform: translateY(-2px); }
.btn-cta-wa     { background: #25d366; color: #fff; margin-right: 12px; }
.btn-cta-wa:hover { background: #20b859; color: #fff; }

/* ── 10. Contact Page ── */
.info-card { background: #fff; border-radius: 16px; padding: 30px 22px; text-align: center; box-shadow: var(--card-shadow); height: 100%; transition: .3s; border: 1px solid #e8edf3; position: relative; overflow: hidden; }
.info-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg,var(--acc),var(--pri-lt)); }
.info-card:hover   { transform: translateY(-5px); box-shadow: var(--card-shadow-hover); }
.info-icon { width: 68px; height: 68px; background: linear-gradient(135deg,var(--pri),var(--pri-lt)); border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto 16px; color: #fff; font-size: 1.75rem; transition: .3s; }
.info-card:hover .info-icon { background: linear-gradient(135deg,var(--acc),var(--pri-lt)); transform: scale(1.07); }
.info-card h5 { color: var(--pri); font-weight: 700; margin-bottom: 8px; }
.info-card p  { color: #7f8c8d; font-size: .9rem; margin-bottom: 14px; }
.info-card .btn-action { border-radius: 30px; padding: 7px 22px; font-size: .87rem; font-weight: 700; transition: .3s; display: inline-block; }
.btn-wa-sm       { background: #25d366; color: #fff; border: none; }
.btn-wa-sm:hover { background: #20b859; color: #fff; }
.btn-call        { background: var(--pri); color: #fff; border: none; }
.btn-call:hover  { background: var(--pri-lt); color: #fff; }

.form-card { background: #fff; border-radius: 16px; padding: 36px; box-shadow: var(--card-shadow); border: 1px solid #e8edf3; }
.form-card h3 { color: var(--pri); font-weight: 800; margin-bottom: 6px; }
.form-card .subtitle { color: #7f8c8d; font-size: .9rem; margin-bottom: 24px; }
.form-label { font-weight: 600; font-size: .9rem; color: var(--pri); margin-bottom: 5px; display: block; }
.form-control, .form-select { border-radius: 10px; padding: 11px 14px; border: 1.5px solid #dde3ea; font-family: 'Cairo',sans-serif; transition: .25s; font-size: .93rem; width: 100%; background: #fff; }
.form-control:focus, .form-select:focus { border-color: var(--pri-lt); box-shadow: 0 0 0 3px rgba(44,95,138,.15); outline: none; }
.input-group-text { background: var(--bg); border: 1.5px solid #dde3ea; color: var(--pri-lt); border-radius: 10px 0 0 10px; }
.btn-submit { background: linear-gradient(135deg,var(--pri),var(--pri-lt)); color: #fff; border: none; border-radius: 10px; padding: 12px 36px; font-size: 1rem; font-weight: 700; font-family: 'Cairo',sans-serif; transition: .3s; width: 100%; cursor: pointer; }
.btn-submit:hover { background: linear-gradient(135deg,var(--pri-lt),var(--acc)); color: #fff; transform: translateY(-1px); }

.map-card        { background: #fff; border-radius: 16px; overflow: hidden; box-shadow: var(--card-shadow); border: 1px solid #e8edf3; }
.map-card iframe { width: 100%; height: 300px; border: 0; display: block; }
.map-header      { padding: 18px 22px; border-bottom: 1px solid #f0f4f8; }
.map-header h5   { color: var(--pri); font-weight: 700; margin: 0; }

.wa-cta     { background: linear-gradient(135deg,#128C7E,#25d366); color: #fff; border-radius: 16px; padding: 30px; text-align: center; margin-bottom: 30px; }
.wa-cta h4  { font-weight: 800; margin-bottom: 8px; }
.wa-cta p   { opacity: .9; font-size: .92rem; margin-bottom: 18px; }
.btn-wa-big { background: #fff; color: #128C7E; border: none; border-radius: 30px; padding: 12px 32px; font-size: 1rem; font-weight: 800; font-family: 'Cairo',sans-serif; transition: .3s; display: inline-block; }
.btn-wa-big:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(0,0,0,.2); color: #128C7E; }

/* ── 11. Shared Utilities ── */
.text-acc { color: var(--acc) !important; }
.text-pri { color: var(--pri) !important; }

/* ── 12. ADMIN — Login ── */
.login-wrap { min-height: 100vh; background: linear-gradient(135deg,var(--pri-dk),var(--pri-lt)); display: flex; align-items: center; justify-content: center; padding: 20px; }
.login-card { background: #fff; border-radius: 20px; padding: 44px; width: 100%; max-width: 420px; box-shadow: 0 20px 60px rgba(0,0,0,.25); }
.login-logo   { text-align: center; margin-bottom: 28px; }
.login-logo i { font-size: 3rem; color: var(--pri); }
.login-logo h2{ color: var(--pri); font-weight: 800; margin-top: 10px; font-size: 1.5rem; }
.login-logo p { color: #7f8c8d; font-size: .9rem; }
.login-card .form-control { border-radius: 10px; padding: 11px 14px; border: 1.5px solid #dde3ea; font-family: 'Cairo',sans-serif; transition: .25s; }
.login-card .form-control:focus { border-color: var(--pri-lt); box-shadow: 0 0 0 3px rgba(44,95,138,.15); }
.login-card label { font-weight: 600; font-size: .9rem; color: var(--pri); margin-bottom: 4px; display: block; }
.btn-login { background: linear-gradient(135deg,var(--pri),var(--pri-lt)); color: #fff; border: none; border-radius: 10px; padding: 12px; font-size: 1rem; font-weight: 700; font-family: 'Cairo',sans-serif; width: 100%; transition: .3s; cursor: pointer; }
.btn-login:hover { opacity: .92; color: #fff; }
.login-hint { text-align: center; font-size: .82rem; color: #95a5a6; margin-top: 16px; }

/* ── 13. ADMIN — Layout ── */
.admin-sidebar { background: linear-gradient(180deg,var(--pri-dk) 0%,var(--pri) 100%); width: var(--sidebar); min-height: 100vh; position: fixed; top: 0; right: 0; z-index: 100; display: flex; flex-direction: column; box-shadow: 2px 0 20px rgba(0,0,0,.15); }
.sidebar-brand { padding: 22px 20px; border-bottom: 1px solid rgba(255,255,255,.1); text-align: center; }
.sidebar-brand i     { font-size: 2rem; color: var(--acc); display: block; margin-bottom: 6px; }
.sidebar-brand h6    { color: #fff; font-weight: 800; font-size: 1rem; margin: 0; }
.sidebar-brand small { color: rgba(255,255,255,.5); font-size: .75rem; }
.sidebar-nav { padding: 16px 12px; flex: 1; overflow-y: auto; }
.sidebar-nav a { display: flex; align-items: center; gap: 10px; color: rgba(255,255,255,.75); padding: 11px 14px; border-radius: 10px; font-weight: 600; font-size: .9rem; transition: .25s; margin-bottom: 4px; position: relative; }
.sidebar-nav a:hover  { background: rgba(255,255,255,.12); color: #fff; }
.sidebar-nav a.active { background: rgba(0,180,216,.25); color: var(--acc); }
.sidebar-nav a.active::before { content: ''; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 3px; height: 24px; background: var(--acc); border-radius: 0 3px 3px 0; }
.sidebar-nav a i { width: 20px; text-align: center; }
.sidebar-badge   { background: #e74c3c; color: #fff; font-size: .65rem; font-weight: 700; padding: 2px 7px; border-radius: 20px; margin-right: auto; }
.sidebar-section { padding: 10px 14px 4px; font-size: .68rem; text-transform: uppercase; letter-spacing: .07em; color: rgba(255,255,255,.35); font-weight: 700; }
.sidebar-footer  { padding: 14px; border-top: 1px solid rgba(255,255,255,.1); }
.sidebar-footer a { display: flex; align-items: center; gap: 10px; color: rgba(255,255,255,.6); font-size: .87rem; padding: 9px 14px; border-radius: 8px; transition: .25s; }
.sidebar-footer a:hover { background: rgba(255,255,255,.1); color: #fff; }

.admin-main   { margin-right: var(--sidebar); min-height: 100vh; }
.admin-topbar { background: #fff; padding: 14px 24px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #e8edf3; box-shadow: 0 1px 8px rgba(0,0,0,.05); position: sticky; top: 0; z-index: 50; }
.topbar-title { font-size: 1.05rem; font-weight: 700; color: var(--pri); }
.topbar-user  { display: flex; align-items: center; gap: 10px; color: #7f8c8d; font-size: .87rem; }
.topbar-user strong { color: var(--pri); }
.admin-body   { padding: 24px; }
.sidebar-toggle { display: none; background: none; border: none; color: var(--pri); font-size: 1.4rem; cursor: pointer; }

/* ── 14. ADMIN — Components ── */

/* Role Badge */
.role-badge         { display: inline-block; padding: 2px 10px; border-radius: 20px; font-size: .72rem; font-weight: 700; }
.role-badge.admin   { background: #dbeafe; color: #1d4ed8; }
.role-badge.manager { background: #fef3c7; color: #92400e; }
.role-badge.editor  { background: #d1fae5; color: #065f46; }

/* Toast */
.admin-toast { position: fixed; top: 20px; left: 50%; transform: translateX(-50%); z-index: 9999; min-width: 300px; max-width: 500px; border-radius: 12px; padding: 14px 20px; font-weight: 600; font-size: .93rem; display: flex; align-items: center; gap: 10px; box-shadow: 0 8px 24px rgba(0,0,0,.15); animation: slideDown .3s ease; }
.admin-toast.success { background: #d1fae5; color: #065f46; border-left: 4px solid #10b981; }
.admin-toast.danger  { background: #fee2e2; color: #991b1b; border-left: 4px solid #ef4444; }
@keyframes slideDown { from{opacity:0;top:-20px} to{opacity:1;top:20px} }

/* Stat Cards */
.stat-card       { background: #fff; border-radius: 14px; padding: 22px; box-shadow: 0 2px 12px rgba(0,0,0,.06); display: flex; align-items: center; gap: 18px; border: 1px solid #e8edf3; text-decoration: none; color: inherit; transition: .25s; }
.stat-card:hover { transform: translateY(-3px); box-shadow: var(--card-shadow-hover); color: inherit; }
.stat-icon       { width: 56px; height: 56px; border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: 1.5rem; flex-shrink: 0; }
.stat-icon.blue   { background: #dbeafe; color: #2563eb; }
.stat-icon.green  { background: #d1fae5; color: #059669; }
.stat-icon.orange { background: #ffedd5; color: #ea580c; }
.stat-icon.red    { background: #fee2e2; color: #dc2626; }
.stat-icon.purple { background: #ede9fe; color: #7c3aed; }
/* Note: .stat-num and .stat-lbl are shared with stats-bar above */

/* Section Card */
.sec-card        { background: #fff; border-radius: 14px; box-shadow: 0 2px 12px rgba(0,0,0,.06); border: 1px solid #e8edf3; overflow: hidden; margin-bottom: 24px; }
.sec-card-header { padding: 16px 22px; border-bottom: 1px solid #f0f4f8; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; }
.sec-card-header h5 { font-weight: 700; color: var(--pri); margin: 0; font-size: 1rem; }
.sec-card-body   { padding: 20px; }

/* Admin Search */
.admin-search     { position: relative; max-width: 280px; }
.admin-search input { border-radius: 8px; border: 1.5px solid #dde3ea; padding: 8px 36px 8px 12px; font-family: 'Cairo',sans-serif; font-size: .88rem; width: 100%; transition: .25s; }
.admin-search input:focus { border-color: var(--pri-lt); outline: none; box-shadow: 0 0 0 3px rgba(44,95,138,.12); }
.admin-search i { position: absolute; left: 10px; top: 50%; transform: translateY(-50%); color: #aab; }

/* Tables */
.admin-table    { width: 100%; border-collapse: collapse; font-size: .9rem; }
.admin-table th { background: #f8fafc; color: var(--pri); padding: 12px 14px; font-weight: 700; border-bottom: 2px solid #e8edf3; text-align: right; white-space: nowrap; }
.admin-table td { padding: 11px 14px; border-bottom: 1px solid #f0f4f8; vertical-align: middle; }
.admin-table tr:hover td { background: #fafbfc; }
.admin-table .thumb  { width: 48px; height: 48px; object-fit: cover; border-radius: 8px; border: 2px solid #e8edf3; }
.admin-table .no-img { width: 48px; height: 48px; border-radius: 8px; background: #f0f4f8; display: inline-flex; align-items: center; justify-content: center; color: #bdc3c7; font-size: 1.2rem; }
.badge-status    { display: inline-flex; align-items: center; gap: 4px; padding: 3px 10px; border-radius: 20px; font-size: .75rem; font-weight: 700; }
.badge-status.on { background: #d1fae5; color: #065f46; }
.badge-status.off{ background: #f0f4f8; color: #7f8c8d; }
.actions-wrap    { display: flex; gap: 6px; flex-wrap: nowrap; }
.btn-act         { border: none; border-radius: 7px; padding: 6px 12px; font-size: .8rem; font-weight: 700; font-family: 'Cairo',sans-serif; cursor: pointer; transition: .2s; display: inline-flex; align-items: center; gap: 5px; }
.btn-act.edit         { background: #dbeafe; color: #2563eb; }
.btn-act.edit:hover   { background: #bfdbfe; }
.btn-act.del          { background: #fee2e2; color: #dc2626; }
.btn-act.del:hover    { background: #fecaca; }
.btn-act.toggle-on    { background: #d1fae5; color: #059669; }
.btn-act.toggle-on:hover  { background: #a7f3d0; }
.btn-act.toggle-off   { background: #f0f4f8; color: #7f8c8d; }
.btn-act.toggle-off:hover { background: #e5e7eb; }

/* Gallery Grid (admin) */
.gal-grid       { display: grid; grid-template-columns: repeat(auto-fill,minmax(150px,1fr)); gap: 14px; }
.gal-item       { border-radius: 10px; overflow: hidden; position: relative; border: 1px solid #e8edf3; background: #f0f4f8; }
.gal-item img   { width: 100%; height: 110px; object-fit: cover; display: block; }
.gal-item-info  { padding: 8px 10px; }
.gal-item-info p{ font-size: .78rem; font-weight: 700; color: var(--pri); margin: 0 0 6px; }
.gal-item-actions { display: flex; gap: 5px; }

/* Modal & Forms */
.modal-header      { background: var(--pri); color: #fff; }
.modal-header .btn-close { filter: invert(1); }
.modal-title       { font-family: 'Cairo',sans-serif; font-weight: 700; }
.admin-form-label  { font-weight: 600; font-size: .88rem; color: var(--pri); margin-bottom: 4px; display: block; }
.admin-form-ctrl   { border-radius: 8px; padding: 9px 12px; border: 1.5px solid #dde3ea; font-family: 'Cairo',sans-serif; transition: .25s; font-size: .9rem; width: 100%; }
.admin-form-ctrl:focus { border-color: var(--pri-lt); box-shadow: 0 0 0 3px rgba(44,95,138,.12); outline: none; }
.btn-save { background: linear-gradient(135deg,var(--pri),var(--pri-lt)); color: #fff; border: none; border-radius: 8px; padding: 10px 28px; font-family: 'Cairo',sans-serif; font-weight: 700; transition: .3s; cursor: pointer; }
.btn-save:hover { opacity: .92; color: #fff; }
.btn-add  { background: linear-gradient(135deg,var(--pri),var(--pri-lt)); color: #fff; border: none; border-radius: 8px; padding: 9px 20px; font-family: 'Cairo',sans-serif; font-weight: 700; font-size: .9rem; display: inline-flex; align-items: center; gap: 8px; cursor: pointer; transition: .3s; }
.btn-add:hover { opacity: .92; color: #fff; }

/* Contacts */
.msg-card        { background: #fff; border-radius: 12px; border: 1px solid #e8edf3; padding: 18px 22px; margin-bottom: 12px; transition: .2s; }
.msg-card:hover  { box-shadow: 0 4px 16px rgba(0,0,0,.08); }
.msg-card.unread { border-right: 4px solid var(--acc); }
.msg-meta        { display: flex; gap: 16px; font-size: .82rem; color: #7f8c8d; margin-top: 8px; flex-wrap: wrap; }
.msg-meta i      { color: var(--acc); }
.msg-text        { margin-top: 10px; padding: 12px; background: #f8fafc; border-radius: 8px; font-size: .9rem; color: #2c3e50; }

/* Activity Log */
.activity-item      { display: flex; gap: 14px; padding: 12px 0; border-bottom: 1px solid #f0f4f8; align-items: flex-start; }
.activity-item:last-child { border-bottom: none; }
.activity-icon      { width: 36px; height: 36px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: .85rem; flex-shrink: 0; }
.activity-icon.add  { background: #d1fae5; color: #059669; }
.activity-icon.edit { background: #dbeafe; color: #2563eb; }
.activity-icon.del  { background: #fee2e2; color: #dc2626; }
.activity-icon.auth { background: #fef3c7; color: #d97706; }
.activity-icon.cfg  { background: #ede9fe; color: #7c3aed; }
.activity-body      { flex: 1; min-width: 0; }
.activity-action    { font-size: .9rem; font-weight: 600; color: #2c3e50; }
.activity-time      { font-size: .78rem; color: #95a5a6; margin-top: 2px; }

/* Users Table */
.user-avatar { width: 36px; height: 36px; border-radius: 50%; background: var(--pri); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-weight: 700; font-size: .9rem; }

/* ── 15. Banner Slider ── */
.banners-section { background: #fff; border-top: 1px solid #e8edf3; border-bottom: 1px solid #e8edf3; overflow: hidden; }
.banner-slider   { position: relative; overflow: hidden; background: var(--bg); }
.banner-slide    { display: none; position: relative; }
.banner-slide.active { display: block; animation: bannerIn .5s ease; }
@keyframes bannerIn { from{opacity:0;transform:scale(1.01)} to{opacity:1;transform:scale(1)} }
.banner-slide img     { width: 100%; max-height: 380px; object-fit: cover; display: block; }
.banner-caption       { position: absolute; bottom: 0; right: 0; left: 0; background: linear-gradient(transparent,rgba(15,43,68,.75)); color: #fff; padding: 28px 24px 16px; font-size: 1rem; font-weight: 700; }
.banner-dots          { position: absolute; bottom: 14px; left: 50%; transform: translateX(-50%); display: flex; gap: 8px; z-index: 5; }
.banner-dot           { width: 10px; height: 10px; border-radius: 50%; background: rgba(255,255,255,.5); border: 2px solid rgba(255,255,255,.7); cursor: pointer; transition: .25s; padding: 0; }
.banner-dot.active    { background: #fff; width: 24px; border-radius: 5px; }
.banner-arrow         { position: absolute; top: 50%; transform: translateY(-50%); background: rgba(255,255,255,.85); color: var(--pri); border: none; width: 38px; height: 38px; border-radius: 50%; display: flex; align-items: center; justify-content: center; cursor: pointer; z-index: 5; transition: .2s; font-size: .9rem; }
.banner-arrow:hover   { background: #fff; box-shadow: 0 4px 16px rgba(0,0,0,.15); }
.banner-arrow.prev    { right: 14px; }
.banner-arrow.next    { left: 14px; }
@media(max-width:576px) {
    .banner-slide img   { max-height: 200px; }
    .banner-arrow       { width: 30px; height: 30px; font-size: .75rem; }
    .banner-caption     { font-size: .85rem; padding: 20px 14px 12px; }
}

/* ── 16. Responsive ── */
@media(max-width:991px) { :root { --sidebar: 200px; } }
@media(max-width:767px) {
    .admin-sidebar { transform: translateX(100%); transition: .3s; }
    .admin-sidebar.open { transform: translateX(0); }
    .admin-main { margin-right: 0; }
    .admin-topbar { padding: 12px 16px; }
    .sidebar-toggle { display: flex !important; }
    .hero { padding: 60px 0 50px; }
    .hero h1 { font-size: 1.75rem; }
    .stat-item { padding: 16px 6px; }
    .stat-num  { font-size: 1.5rem; }
    .wa-float  { width: 50px; height: 50px; font-size: 1.6rem; bottom: 20px; right: 16px; }
    .form-card { padding: 22px; }
    .admin-body { padding: 14px; }
}
@media(max-width:576px) {
    .gallery-item { aspect-ratio: 1/1; }
    .product-img  { height: 180px; }
    .admin-search { max-width: 100%; }
}

/* ── Brand + Nav WA Button + Img Placeholder ── */
.brand-name { font-size:1.1rem; font-weight:800; letter-spacing:-.2px; }
.nav-wa-btn { display:inline-flex; align-items:center; gap:5px; background:#25d366; color:#fff !important; border-radius:20px; padding:7px 18px; font-weight:700; font-size:.88rem; transition:.25s; }
.nav-wa-btn:hover { background:#1ebe57; color:#fff !important; transform:translateY(-1px); }
.img-no-image { background:linear-gradient(135deg,var(--pri) 0%,var(--pri-lt) 100%); display:flex; flex-direction:column; align-items:center; justify-content:center; color:rgba(255,255,255,.3); gap:8px; }
.img-no-image i { font-size:2.2rem; }
.img-no-image span { font-size:.75rem; font-weight:600; text-transform:uppercase; letter-spacing:.05em; }
@media(max-width:991px) { .nav-wa-btn { margin:6px 0; justify-content:center; } }

/* ── Legal Pages ── */
.legal-page { max-width: 860px; margin: 0 auto; }
.legal-content { background:#fff; border-radius:14px; padding:36px; box-shadow:0 2px 12px rgba(0,0,0,.06); border:1px solid #e8edf3; font-size:.95rem; line-height:1.9; color:#2c3e50; }
.legal-content h2 { color:var(--pri); margin:24px 0 10px; }

/* ── Hero Buttons ── */
.hero-btns { display:flex; justify-content:center; align-items:center; gap:14px; flex-wrap:wrap; direction:rtl; }
.hero-btns .btn { display:inline-flex; align-items:center; justify-content:center; white-space:nowrap; }
.btn-hero-primary { background:var(--acc); color:#fff !important; border:none; border-radius:30px; padding:11px 26px; font-weight:700; font-size:1rem; text-decoration:none !important; transition:.3s; display:inline-flex; align-items:center; gap:6px; }
.btn-hero-primary:hover { background:var(--acc2,#0096b7); color:#fff !important; transform:translateY(-2px); }
.btn-hero-outline { background:transparent; color:#fff !important; border:2px solid rgba(255,255,255,.8); border-radius:30px; padding:11px 26px; font-weight:700; font-size:1rem; text-decoration:none !important; transition:.3s; display:inline-flex; align-items:center; gap:6px; }
.btn-hero-outline:hover { background:rgba(255,255,255,.12); border-color:#fff; color:#fff !important; transform:translateY(-2px); }