/* =============================================
   OKOK Projects - Premium Light Pink Theme
   ============================================= */
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&display=swap');

:root {
  --primary: #e91e8c;
  --primary-dark: #c2185b;
  --primary-light: #fce4ec;
  --primary-glow: rgba(233,30,140,0.1);
  --bg: #ffffff;
  --bg2: #f8f9fa;
  --bg3: #f1f3f5;
  --card: #ffffff;
  --card2: #fcfcfc;
  --border: rgba(233,30,140,0.15);
  --text: #1a1a2e;
  --text-muted: #6c757d;
  --accent: #ff6bbd;
  --success: #2e7d32;
  --warning: #f57c00;
  --danger: #d32f2f;
  --radius: 16px;
  --shadow: 0 10px 30px rgba(0,0,0,0.05);
  --shadow-pink: 0 8px 25px rgba(233,30,140,0.15);
}

*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:'Outfit',sans-serif;background:var(--bg);color:var(--text);min-height:100vh;overflow-x:hidden;}
a{color:var(--primary);text-decoration:none;transition:color .2s;}
a:hover{color:var(--primary-dark);}
img{max-width:100%;height:auto;}

/* Scrollbar */
::-webkit-scrollbar{width:8px;}
::-webkit-scrollbar-track{background:var(--bg2);}
::-webkit-scrollbar-thumb{background:var(--primary-light);border-radius:4px;}
::-webkit-scrollbar-thumb:hover{background:var(--primary);}

/* ---- NAVBAR ---- */
.navbar{background:rgba(255,255,255,0.9);border-bottom:1px solid var(--border);backdrop-filter:blur(15px);padding:14px 0;position:sticky;top:0;z-index:1000;box-shadow:0 2px 15px rgba(0,0,0,0.02);}
.navbar-brand{font-weight:800;font-size:1.7rem;background:linear-gradient(135deg,var(--primary),var(--accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;}
.navbar-brand span{color:var(--text);-webkit-text-fill-color:var(--text);}
.nav-link{color:var(--text)!important;font-weight:600;transition:all .2s;padding:8px 16px!important;border-radius:8px;}
.nav-link:hover,.nav-link.active{color:var(--primary)!important;background:var(--primary-glow);}
.navbar-toggler{border:none;padding:0;}

.cart-badge{background:var(--primary);color:#fff;font-size:.7rem;padding:2px 7px;border-radius:10px;margin-left:4px;font-weight:700;}

/* ---- BUTTONS ---- */
.btn-pink{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;border:none;border-radius:10px;padding:12px 28px;font-weight:700;transition:all .3s;box-shadow:0 4px 15px rgba(233,30,140,0.25);}
.btn-pink:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(233,30,140,0.35);color:#fff;}
.btn-outline-pink{background:transparent;color:var(--primary);border:2px solid var(--primary);border-radius:10px;padding:10px 26px;font-weight:700;transition:all .3s;}
.btn-outline-pink:hover{background:var(--primary);color:#fff;box-shadow:var(--shadow-pink);}
.btn-sm-pink{padding:8px 18px;font-size:.85rem;}
.btn-youtube{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:.8rem;color:var(--text-muted);transition:all .2s;padding:5px 0;}
.btn-youtube:hover{color:red;transform:translateX(3px);}

/* ---- BREADCRUMB ---- */
.breadcrumb{margin:0;}
.breadcrumb-item + .breadcrumb-item::before{content:"\f054";font-family:"Font Awesome 6 Free";font-weight:900;font-size:.6rem;color:var(--border);padding:0 12px;}
.breadcrumb-item a{text-decoration:none;transition:all .2s;}
.breadcrumb-item a:hover{color:var(--primary)!important;}

/* ---- SIDEBAR FILTER ---- */
.filter-sidebar{background:#fff;border:1px solid var(--border);border-radius:24px;padding:30px;position:sticky;top:100px;box-shadow:var(--shadow);backdrop-filter:blur(10px);}
.filter-title{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:1.5px;color:var(--primary);margin-bottom:20px;display:block;opacity:0.8;}
.filter-item{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid rgba(0,0,0,0.03);}
.filter-item:last-child{border-bottom:none;}
.filter-item label{font-size:.92rem;color:var(--text);cursor:pointer;font-weight:600;transition:all .2s;flex:1;}
.filter-item:hover label{color:var(--primary);padding-left:5px;}
.filter-item input[type=radio]{width:18px;height:18px;cursor:pointer;accent-color:var(--primary);}
.filter-item .badge{font-size:.7rem;font-weight:700;opacity:0.6;}

/* ---- CARDS ---- */
.card-dark{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);transition:all .3s;overflow:hidden;box-shadow:var(--shadow);}
.card-dark:hover{border-color:var(--primary);box-shadow:0 15px 40px rgba(0,0,0,0.08);transform:translateY(-5px);}

/* ---- PRODUCT CARD ---- */
.product-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:all .4s ease;position:relative;box-shadow:var(--shadow);}
.product-card:hover{border-color:var(--primary);box-shadow:0 20px 45px rgba(233,30,140,0.12);transform:translateY(-8px);}
.product-card .thumb{width:100%;aspect-ratio:290/300;object-fit:cover;background:var(--bg3);transition:transform .5s;}
.product-card:hover .thumb{transform:scale(1.05);}
.product-card .thumb-placeholder{width:100%;aspect-ratio:290/300;background:linear-gradient(135deg,var(--bg3),#fff);display:flex;align-items:center;justify-content:center;font-size:3.5rem;color:var(--primary);}
.product-card .body{padding:20px;}
.product-card .cat-badge{font-size:.7rem;background:var(--primary-light);color:var(--primary-dark);padding:4px 12px;border-radius:20px;display:inline-block;margin-bottom:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.5px;}
.product-card .title{font-size:1.1rem;font-weight:700;color:var(--text);line-height:1.4;margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;transition:color .2s;}
.product-card .title:hover{color:var(--primary);}
.product-card .desc{font-size:.88rem;color:var(--text-muted);line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:15px;}
.product-card .price-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.product-card .price{font-size:1.3rem;font-weight:800;color:var(--primary);}
.product-card .old-price{font-size:.9rem;color:var(--text-muted);text-decoration:line-through;}
.product-card .discount-badge{font-size:.75rem;background:var(--success);color:#fff;padding:3px 10px;border-radius:20px;font-weight:700;}
.product-card .actions{padding:0 20px 20px;display:flex;gap:10px;}
.product-card .actions .btn{flex:1;font-size:.85rem;padding:10px;border-radius:10px;font-weight:700;}

/* ---- HERO ---- */
.hero{background:linear-gradient(135deg,#fff8fb 0%,#ffffff 50%,#fff0f7 100%);padding:100px 0 80px;position:relative;overflow:hidden;border-bottom:1px solid var(--border);}
.hero::before{content:'';position:absolute;top:-10%;right:-5%;width:500px;height:500px;background:radial-gradient(circle,rgba(233,30,140,0.06),transparent 70%);pointer-events:none;}
.hero h1{font-size:clamp(2.5rem,6vw,4rem);font-weight:800;line-height:1.1;color:var(--text);margin-bottom:20px;}
.hero h1 span{background:linear-gradient(135deg,var(--primary),var(--accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;}
.hero p.lead{color:var(--text-muted);font-size:1.2rem;max-width:550px;line-height:1.7;}
.hero .search-box{background:#fff;border:2px solid var(--border);border-radius:16px;padding:8px;display:flex;max-width:520px;margin-top:35px;box-shadow:0 15px 35px rgba(0,0,0,0.05);transition:all .3s;}
.hero .search-box:focus-within{border-color:var(--primary);box-shadow:0 15px 35px rgba(233,30,140,0.1);}
.hero .search-box input{background:transparent;border:none;outline:none;color:var(--text);flex:1;padding:10px 18px;font-size:1rem;font-family:'Outfit',sans-serif;}
.hero .search-box button{background:var(--primary);color:#fff;border:none;border-radius:10px;padding:12px 28px;font-weight:700;cursor:pointer;}

.hero-stats{display:flex;gap:40px;margin-top:45px;flex-wrap:wrap;}
.hero-stats .stat .num{font-size:2.2rem;font-weight:800;color:var(--primary);}
.hero-stats .stat .label{font-size:.9rem;color:var(--text-muted);font-weight:500;}

/* ---- CATEGORY GRID ---- */
.category-card{background:#fff;border:1px solid var(--border);border-radius:20px;padding:30px 20px;text-align:center;transition:all .3s;cursor:pointer;box-shadow:0 5px 15px rgba(0,0,0,0.02);}
.category-card:hover{border-color:var(--primary);box-shadow:var(--shadow-pink);transform:translateY(-6px);}
.category-card .icon{width:65px;height:65px;border-radius:18px;background:var(--primary-glow);display:flex;align-items:center;justify-content:center;font-size:1.8rem;margin:0 auto 15px;color:var(--primary);transition:all .3s;}
.category-card:hover .icon{background:var(--primary);color:#fff;}
.category-card .name{font-weight:700;font-size:1rem;color:var(--text);}
.category-card .count{font-size:.85rem;color:var(--text-muted);margin-top:5px;}

/* ---- SECTION ---- */
.section-title{font-size:2.2rem;font-weight:800;color:var(--text);margin-bottom:10px;}
.section-title span{color:var(--primary);}
.section-sub{color:var(--text-muted);font-size:1rem;margin-bottom:35px;}
.section-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:15px;margin-bottom:30px;}

/* ---- BADGES ---- */
.badge-pink{background:var(--primary);color:#fff;padding:5px 15px;border-radius:20px;font-size:.8rem;font-weight:700;}
.badge-success{background:rgba(46,125,50,0.1);color:#2e7d32;border:1px solid rgba(46,125,50,0.2);padding:5px 15px;border-radius:20px;font-size:.8rem;font-weight:700;}
.badge-warning{background:rgba(245,124,0,0.1);color:#f57c00;border:1px solid rgba(245,124,0,0.2);padding:5px 15px;border-radius:20px;font-size:.8rem;font-weight:700;}
.badge-danger{background:rgba(211,47,47,0.1);color:#d32f2f;border:1px solid rgba(211,47,47,0.2);padding:5px 15px;border-radius:20px;font-size:.8rem;font-weight:700;}

/* ---- FORMS ---- */
.form-dark{background:#fff;border:1px solid var(--border);border-radius:20px;padding:40px;box-shadow:var(--shadow);}
.form-label{color:var(--text);font-size:.9rem;font-weight:700;margin-bottom:8px;}
.form-control-dark{background:var(--bg2);border:2px solid transparent;border-radius:12px;color:var(--text);padding:12px 16px;width:100%;font-family:'Outfit',sans-serif;font-size:.95rem;transition:all .2s;}
.form-control-dark:focus{outline:none;border-color:var(--primary);background:#fff;box-shadow:0 0 0 4px var(--primary-glow);}
.form-control-dark::placeholder{color:var(--text-muted);opacity:0.6;}
.form-group{margin-bottom:22px;}

/* ---- TABLE ---- */
.table-dark-custom{width:100%;border-collapse:separate;border-spacing:0 8px;}
.table-dark-custom th{background:var(--bg2);color:var(--text);font-weight:700;padding:15px 20px;font-size:.85rem;text-transform:uppercase;letter-spacing:1px;border-bottom:none;}
.table-dark-custom th:first-child{border-radius:12px 0 0 12px;}
.table-dark-custom th:last-child{border-radius:0 12px 12px 0;}
.table-dark-custom td{padding:18px 20px;background:#fff;border-top:1px solid var(--border);border-bottom:1px solid var(--border);font-size:.95rem;vertical-align:middle;}
.table-dark-custom td:first-child{border-left:1px solid var(--border);border-radius:12px 0 0 12px;}
.table-dark-custom td:last-child{border-right:1px solid var(--border);border-radius:0 12px 12px 0;}
.table-dark-custom tr:hover td{background:var(--bg2);}

/* ---- SIDEBAR FILTER ---- */
.filter-sidebar{background:#fff;border:1px solid var(--border);border-radius:24px;padding:30px;position:sticky;top:100px;box-shadow:var(--shadow);backdrop-filter:blur(10px);}
.filter-title{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:1.5px;color:var(--primary);margin-bottom:20px;display:block;opacity:0.8;}
.filter-item{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid rgba(0,0,0,0.03);}
.filter-item:last-child{border-bottom:none;}
.filter-item label{font-size:.92rem;color:var(--text);cursor:pointer;font-weight:600;transition:all .2s;flex:1;}
.filter-item:hover label{color:var(--primary);padding-left:5px;}
.filter-item input[type=radio]{width:18px;height:18px;cursor:pointer;accent-color:var(--primary);}
.filter-item .badge{font-size:.7rem;font-weight:700;opacity:0.6;}

/* ---- PAGINATION ---- */
.pagination-pink .page-link{background:#fff;border:1px solid var(--border);color:var(--text);border-radius:10px!important;margin:0 4px;padding:10px 18px;font-weight:700;transition:all .2s;}
.pagination-pink .page-link:hover,.pagination-pink .page-item.active .page-link{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:var(--shadow-pink);}

/* ---- CART ---- */
.cart-item{background:#fff;border:1px solid var(--border);border-radius:20px;padding:20px;display:flex;gap:20px;align-items:center;margin-bottom:15px;box-shadow:var(--shadow);}
.cart-item img{width:90px;height:90px;border-radius:12px;box-shadow:0 4px 10px rgba(0,0,0,0.05);}

/* ---- ADMIN ---- */
.admin-sidebar{background:#fff;border-right:1px solid var(--border);box-shadow:5px 0 25px rgba(0,0,0,0.02);width:260px;height:100vh;position:fixed;top:0;left:0;z-index:1001;overflow-y:auto;transition:all .3s;}
.admin-logo{padding:30px 25px;border-bottom:1px solid var(--border);margin-bottom:15px;}
.admin-logo .brand{font-size:1.4rem;font-weight:800;color:var(--text);}
.admin-logo .sub{font-size:.65rem;text-transform:uppercase;letter-spacing:1px;color:var(--primary);font-weight:700;margin-top:2px;}

.admin-nav .nav-section{font-size:.65rem;text-transform:uppercase;letter-spacing:1.5px;color:var(--text-muted);font-weight:800;padding:20px 25px 8px;opacity:0.6;}
.admin-nav a{color:var(--text-muted);font-weight:600;border-radius:12px;margin:3px 15px;display:flex;align-items:center;gap:12px;padding:12px 18px;font-size:.92rem;transition:all .2s;}
.admin-nav a i{font-size:1.05rem;width:24px;text-align:center;opacity:0.7;}
.admin-nav a:hover{background:var(--primary-glow);color:var(--primary);}
.admin-nav a.active{background:var(--primary);color:#fff!important;box-shadow:var(--shadow-pink);}
.admin-nav a.active i{opacity:1;}

.admin-topbar{background:rgba(255,255,255,0.95);backdrop-filter:blur(10px);box-shadow:0 2px 15px rgba(0,0,0,0.02);padding:15px 30px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:1000;border-bottom:1px solid var(--border);}
.admin-topbar .page-title{font-size:1.2rem;font-weight:800;color:var(--text);}
.admin-content{margin-left:260px;background:#f8f9fa;min-height:100vh;transition:all .3s;}
.admin-main{padding:30px;}

/* KPI CARDS */
.kpi-card{background:#fff;border:1px solid var(--border);box-shadow:var(--shadow);border-radius:20px;padding:24px;display:flex;align-items:center;gap:20px;transition:transform .3s;}
.kpi-card:hover{transform:translateY(-5px);}
.kpi-icon{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;}
.kpi-val{font-size:1.6rem;font-weight:800;color:var(--text);line-height:1.2;}
.kpi-label{font-size:.85rem;color:var(--text-muted);font-weight:600;margin-top:2px;}
.kpi-change{font-size:.7rem;margin-top:6px;font-weight:700;}

.kpi-icon-pink{background:rgba(233,30,140,0.1);color:#e91e8c;}
.kpi-icon-green{background:rgba(46,125,50,0.1);color:#2e7d32;}
.kpi-icon-orange{background:rgba(245,124,0,0.1);color:#f57c00;}
.kpi-icon-blue{background:rgba(2,136,209,0.1);color:#0288d1;}

/* CHARTS */
.chart-container{background:#fff;border:1px solid var(--border);border-radius:24px;padding:30px;box-shadow:var(--shadow);}
.chart-title{font-size:1rem;font-weight:800;color:var(--text);margin-bottom:20px;display:flex;align-items:center;gap:10px;}
.chart-title::before{content:'';width:4px;height:16px;background:var(--primary);border-radius:4px;}

@media(max-width:991px){
  .admin-sidebar{left:-260px;}
  .admin-sidebar.open{left:0;}
  .admin-content{margin-left:0;}
}

/* ---- FOOTER ---- */
footer{background:#fff;border-top:1px solid var(--border);padding:80px 0 30px;}
footer h6{color:var(--text);font-size:1rem;margin-bottom:20px;}
footer ul li a{color:var(--text-muted);font-weight:500;}
footer .social-links a{background:#f8f9fa;border-color:var(--border);border-radius:12px;width:42px;height:42px;}
footer .social-links a:hover{background:var(--primary);color:#fff;}
footer .copyright{border-top:1px solid var(--bg3);margin-top:50px;color:var(--text-muted);}

/* ---- ANIMATIONS ---- */
.animate-on-scroll{opacity:0;transform:translateY(30px);transition:all 0.6s cubic-bezier(0.2, 0.8, 0.2, 1);}

@media(max-width:991px){
  .hero{padding:60px 0;}
  .admin-sidebar{box-shadow:20px 0 50px rgba(0,0,0,0.15);}
}
