
/* ===== Cinematic Entrance Keyframes ===== */
@keyframes heroCinemaZoom{0%{opacity:0;transform:scale(1.4);}40%{opacity:1;}60%{transform:scale(1.05);}100%{opacity:1;transform:scale(1);}}
@keyframes heroCinemaZoomOut{0%{transform:scale(1.4);opacity:0;}40%{opacity:1;}100%{transform:scale(1);opacity:1;}}
@keyframes heroBgKenBurns{0%{transform:scale(1.6) translateY(0);opacity:0;}30%{opacity:0.12;}50%{transform:scale(1.2) translateY(-10px);opacity:0.15;}100%{transform:scale(1.1) translateY(0);opacity:0.10;}}
@keyframes heroBadgePop{0%{opacity:0;transform:translateY(20px) scale(0.8);}60%{opacity:1;transform:translateY(-2px) scale(1.05);}100%{opacity:1;transform:translateY(0) scale(1);}}
@keyframes heroTitleReveal{0%{opacity:0;transform:translateY(40px) scale(0.9);filter:blur(8px);}50%{opacity:1;}70%{filter:blur(0px);transform:translateY(-3px) scale(1.02);}100%{opacity:1;transform:translateY(0) scale(1);filter:blur(0);}}
@keyframes heroDescReveal{0%{opacity:0;transform:translateY(20px);}100%{opacity:1;transform:translateY(0);}}
@keyframes heroMetaSlide{0%{opacity:0;transform:translateX(-30px);}100%{opacity:1;transform:translateX(0);}}
@keyframes heroBtnSlide{0%{opacity:0;transform:translateY(20px) scale(0.95);}100%{opacity:1;transform:translateY(0) scale(1);}}
@keyframes heroImageMainEnter{0%{opacity:0;transform:scale(0.6) rotate(-3deg);filter:blur(10px);}50%{opacity:1;}70%{transform:scale(1.03) rotate(0.5deg);filter:blur(0);}100%{opacity:1;transform:scale(1) rotate(0);filter:blur(0);}}
@keyframes heroImageFloat1Enter{0%{opacity:0;transform:translateX(40px) translateY(-20px) scale(0.7);}60%{opacity:1;}100%{opacity:1;transform:translateX(0) translateY(0) scale(1);}}
@keyframes heroImageFloat2Enter{0%{opacity:0;transform:translateX(-40px) translateY(20px) scale(0.7);}60%{opacity:1;}100%{opacity:1;transform:translateX(0) translateY(0) scale(1);}}
@keyframes heroBadgeFloatEnter{0%{opacity:0;transform:scale(0) rotate(-15deg);}60%{opacity:1;transform:scale(1.1) rotate(5deg);}100%{opacity:1;transform:scale(1) rotate(0);}}
@keyframes heroWaveSlide{0%{transform:translateY(40px);opacity:0;}100%{transform:translateY(0);opacity:1;}}
@keyframes heroParticleFade{0%{opacity:0;}100%{opacity:1;}}
@keyframes heroShineSweep{0%{transform:translateX(-100%) skewX(-15deg);}100%{transform:translateX(200%) skewX(-15deg);}}
@keyframes heroGradientShift{0%{background-position:0% 50%;}50%{background-position:100% 50%;}100%{background-position:0% 50%;}}
:root{--primary:#e8590c;--primary-dark:#d9480f;--primary-light:#ffa94d;--dark:#1a1a2e;--dark-card:#16213e;--darker:#0f0f1a;--light:#f8f9fa;--gray:#6c757d;--success:#2f9e44;--danger:#e03131;--warning:#f08c00;--radius:12px;--shadow:0 4px 20px rgba(0,0,0,0.08);--shadow-lg:0 8px 40px rgba(0,0,0,0.12);--transition:all 0.3s ease;}*{margin:0;padding:0;box-sizing:border-box;}body{font-family:'Poppins', sans-serif;background:var(--light);color:#333;line-height:1.6;overflow-x:hidden;}a{text-decoration:none;color:inherit;}ul{list-style:none;}img{max-width:100%;display:block;}.container{max-width:1200px;margin:0 auto;padding:0 20px;}@keyframes flowIn{0%{opacity:0;transform:translateX(-60px);}100%{opacity:1;transform:translateX(0);}}@keyframes flowInRight{0%{opacity:0;transform:translateX(60px);}100%{opacity:1;transform:translateX(0);}}@keyframes zoomIn{0%{opacity:0;transform:scale(0.5);}60%{opacity:1;transform:scale(1.08);}100%{opacity:1;transform:scale(1);}}@keyframes zoomInBg{0%{transform:scale(1.3);}100%{transform:scale(1);}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px);}100%{opacity:1;transform:translateY(0);}}@keyframes glowPulse{0%, 100%{text-shadow:0 0 20px rgba(255, 169, 77, 0.3);}50%{text-shadow:0 0 40px rgba(255, 169, 77, 0.6), 0 0 60px rgba(232, 89, 12, 0.3);}}@keyframes shimmerSlide{0%{transform:translateX(-100%);}100%{transform:translateX(200%);}}.navbar{position:sticky;top:0;z-index:1000;background:rgba(26, 26, 46, 0.98);backdrop-filter:blur(10px);padding:14px 0;border-bottom:1px solid rgba(255,255,255,0.05);animation:fadeInUp 0.6s ease-out;}.navbar .container{display:flex;align-items:center;justify-content:space-between;}.nav-logo{display:flex;align-items:center;gap:10px;font-size:1.35rem;font-weight:800;color:#fff;}.nav-logo span{color:var(--primary-light);}.nav-links{display:flex;align-items:center;gap:28px;}.nav-links a{color:rgba(255,255,255,0.8);font-weight:500;transition:var(--transition);font-size:0.95rem;}.nav-links a:hover, .nav-links a.active{color:var(--primary-light);}.cart-link{position:relative;}.cart-badge{position:absolute;top:-8px;right:-10px;background:var(--primary);color:#fff;font-size:0.7rem;font-weight:700;min-width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;padding:0 4px;}.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;}.hamburger span{width:24px;height:2px;background:#fff;border-radius:2px;transition:var(--transition);}.hero{background:linear-gradient(135deg,#0f0f1a 0%,#1a1a2e 40%,#16213e 100%);background-size:200% 200%;animation:heroGradientShift 8s ease-in-out infinite;color:#fff;padding:60px 0 120px;position:relative;overflow:hidden;}
.hero-bg-overlay{position:absolute;inset:0;background:url('https://images.unsplash.com/photo-1546069901-ba9599a7e63c?w=1600') center/cover;opacity:0;z-index:0;background-attachment:fixed;will-change:transform;animation:heroBgKenBurns 5s ease-out forwards;}
.hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 80% 20%,rgba(232,89,12,0.15) 0%,transparent 50%);z-index:0;}.hero::after{content:'';position:absolute;top:0;left:0;width:60%;height:100%;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,0.08) 50%,transparent 60%);animation:heroShineSweep 2.5s ease-out 0.5s 1 both;pointer-events:none;z-index:1;}
.hero-particles{position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,169,77,0.08) 1px,transparent 1px);background-size:40px 40px;z-index:0;will-change:transform;animation:heroParticleFade 2s ease 0.5s both;}
.hero .container{position:relative;z-index:2;display:grid;grid-template-columns:1.1fr 0.9fr;gap:50px;align-items:center;will-change:transform;}
/* Hero badge */
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(255,169,77,0.12);border:1px solid rgba(255,169,77,0.25);color:var(--primary-light);padding:8px 18px;border-radius:50px;font-size:0.85rem;font-weight:600;margin-bottom:24px;animation:heroBadgePop 1.2s cubic-bezier(0.34,1.56,0.64,1) 0.3s both;backdrop-filter:blur(10px);}
.hero-badge i{color:var(--primary-light);}
/* Hero title */
.hero-title{font-size:3.5rem;font-weight:900;line-height:1.05;letter-spacing:-1.5px;margin-bottom:20px;animation:heroTitleReveal 1.5s cubic-bezier(0.25,0.46,0.45,0.94) 0.5s both;}
.hero-title-accent{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
/* Hero description */
.hero-desc{font-size:1.05rem;color:rgba(255,255,255,0.7);line-height:1.7;margin-bottom:28px;max-width:520px;animation:heroDescReveal 1s ease 1.2s both;font-weight:400;}
/* Hero meta bar */
.hero-meta{display:flex;align-items:center;gap:16px;margin-bottom:32px;animation:heroMetaSlide 1s ease 1.5s both;flex-wrap:wrap;}
.hero-meta-item{display:flex;align-items:center;gap:8px;font-size:0.88rem;color:rgba(255,255,255,0.75);}
.hero-meta-item i{color:var(--primary-light);font-size:0.95rem;}
.hero-meta-item strong{color:#fff;font-weight:700;}
.hero-meta-divider{width:1px;height:20px;background:rgba(255,255,255,0.15);}
/* Hero CTAs */
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;animation:heroBtnSlide 1s cubic-bezier(0.34,1.56,0.64,1) 1.8s both;}
.btn-hero{padding:16px 36px;border-radius:50px;font-weight:700;font-size:1rem;background:var(--primary);color:#fff;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:all 0.3s ease;box-shadow:0 8px 30px rgba(232,89,12,0.35);}
.btn-hero:hover{transform:translateY(-3px);box-shadow:0 12px 40px rgba(232,89,12,0.5);background:var(--primary-dark);}
.btn-hero-outline{padding:16px 36px;border-radius:50px;font-weight:600;font-size:1rem;background:rgba(255,255,255,0.08);color:#fff;border:1.5px solid rgba(255,255,255,0.2);cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:all 0.3s ease;backdrop-filter:blur(10px);text-decoration:none;}
.btn-hero-outline:hover{background:rgba(255,255,255,0.12);border-color:rgba(255,255,255,0.4);transform:translateY(-3px);}
/* Hero visual stack */
.hero-visual{display:flex;justify-content:center;animation:heroCinemaZoom 1.5s ease 0.3s both;}
.hero-image-stack{position:relative;width:100%;max-width:480px;height:440px;will-change:transform;}
.hero-image-main{position:absolute;top:0;left:20px;width:85%;height:85%;border-radius:24px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,0.4);z-index:1;animation:heroImageMainEnter 1.8s cubic-bezier(0.25,0.46,0.45,0.94) 0.5s both;}
.hero-image-main img{width:100%;height:100%;object-fit:cover;}
.hero-image-float-1{position:absolute;top:-20px;right:0;width:42%;height:38%;border-radius:16px;overflow:hidden;box-shadow:0 12px 40px rgba(0,0,0,0.3);z-index:2;border:3px solid rgba(26,26,46,0.8);animation:heroImageFloat1Enter 1.5s cubic-bezier(0.34,1.56,0.64,1) 1s both;}
.hero-image-float-1 img{width:100%;height:100%;object-fit:cover;}
.hero-image-float-2{position:absolute;bottom:-10px;left:0;width:38%;height:34%;border-radius:16px;overflow:hidden;box-shadow:0 12px 40px rgba(0,0,0,0.3);z-index:2;border:3px solid rgba(26,26,46,0.8);animation:heroImageFloat2Enter 1.5s cubic-bezier(0.34,1.56,0.64,1) 1.3s both;}
.hero-image-float-2 img{width:100%;height:100%;object-fit:cover;}
.hero-float-badge{position:absolute;display:flex;align-items:center;gap:10px;background:rgba(255,255,255,0.95);backdrop-filter:blur(20px);padding:12px 16px;border-radius:14px;box-shadow:0 8px 30px rgba(0,0,0,0.2);z-index:3;animation:heroBadgeFloatEnter 1.2s cubic-bezier(0.34,1.56,0.64,1) both;}
.hero-float-badge i{width:36px;height:36px;border-radius:10px;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:0.95rem;}
.hero-float-badge strong{display:block;font-size:0.85rem;color:#1a1a2e;font-weight:700;line-height:1.2;}
.hero-float-badge span{font-size:0.72rem;color:#999;font-weight:500;}
.hero-float-badge-1{bottom:10%;right:-5%;animation-delay:1.8s;}
.hero-float-badge-2{top:15%;left:-8%;animation-delay:2.1s;}
/* Hero wave */
.hero-wave{position:absolute;bottom:0;left:0;right:0;z-index:1;line-height:0;will-change:transform;animation:heroWaveSlide 1.5s ease 2s both;}
.hero-wave svg{width:100%;height:80px;}
/* Keep btn classes for other pages */
.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 32px;border-radius:var(--radius);font-weight:600;font-size:1rem;cursor:pointer;border:none;transition:var(--transition);}
.btn-primary{background:var(--primary);color:#fff;}
.btn-primary:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:0 6px 20px rgba(232,89,12,0.4);}
.btn-outline{background:transparent;color:#fff;border:2px solid rgba(255,255,255,0.3);}
.btn-outline:hover{border-color:var(--primary-light);color:var(--primary-light);}.section{padding:70px 0;}.section-title{text-align:center;font-size:2.2rem;font-weight:800;margin-bottom:12px;}.section-title span{color:var(--primary);}.section-subtitle{text-align:center;color:var(--gray);margin-bottom:50px;font-size:1.05rem;}.featured-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(260px, 1fr));gap:24px;}.food-card{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:var(--transition);animation:fadeInUp 0.6s ease-out both;}.food-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);}.food-card img{height:200px;width:100%;object-fit:cover;}.food-card-body{padding:18px;}.food-card-body h3{font-size:1.1rem;font-weight:700;margin-bottom:6px;}.food-card-body p{color:var(--gray);font-size:0.875rem;margin-bottom:14px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}.food-card-footer{display:flex;align-items:center;justify-content:space-between;}.food-price{font-size:1.3rem;font-weight:800;color:var(--primary);}.btn-add{background:var(--dark);color:#fff;padding:8px 18px;border-radius:8px;font-weight:600;font-size:0.85rem;border:none;cursor:pointer;transition:var(--transition);}.btn-add:hover{background:var(--primary);}.about{background:#fff;}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;}.about-text h2{font-size:2.1rem;font-weight:800;margin-bottom:16px;}.about-text h2 span{color:var(--primary);}.about-text p{color:#555;margin-bottom:16px;font-size:1.05rem;}.about-stats{display:grid;grid-template-columns:repeat(3, 1fr);gap:20px;margin-top:28px;}.stat{text-align:center;}.stat-num{font-size:1.8rem;font-weight:800;color:var(--primary);}.stat-label{font-size:0.8rem;color:var(--gray);}.about-image img{border-radius:20px;box-shadow:var(--shadow-lg);}.contact{background:var(--dark);color:#fff;}.contact-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(250px, 1fr));gap:40px;}.contact-item{margin-bottom:16px;display:flex;align-items:flex-start;gap:12px;}.contact-item .icon{font-size:1.3rem;color:var(--primary-light);flex-shrink:0;}.contact-item h4{font-size:0.9rem;font-weight:600;margin-bottom:4px;}.contact-item p{color:rgba(255,255,255,0.6);font-size:0.9rem;}.footer-bottom{text-align:center;padding-top:30px;margin-top:30px;border-top:1px solid rgba(255,255,255,0.08);color:rgba(255,255,255,0.5);font-size:0.82rem;}.footer-bottom span{color:var(--primary-light);}.menu-hero{background:linear-gradient(135deg, #1a1a2e, #16213e);color:#fff;text-align:center;padding:50px 0;}.menu-hero h1{font-size:2.4rem;font-weight:800;}.menu-hero p{color:rgba(255,255,255,0.7);margin-top:8px;}.category-tabs{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:40px;}.category-tab{padding:10px 24px;border-radius:50px;border:2px solid #e0e0e0;background:#fff;font-weight:600;font-size:0.9rem;cursor:pointer;transition:var(--transition);}.category-tab.active, .category-tab:hover{background:var(--primary);color:#fff;border-color:var(--primary);}.menu-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(280px, 1fr));gap:24px;}.cart-page{padding:40px 0;min-height:60vh;}.cart-layout{display:grid;grid-template-columns:1fr 380px;gap:30px;align-items:start;}.cart-items{background:#fff;border-radius:var(--radius);padding:24px;box-shadow:var(--shadow);}.cart-item{display:flex;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid #eee;}.cart-item img{width:70px;height:70px;border-radius:10px;object-fit:cover;}.cart-item-info{flex:1;}.cart-item-info h4{font-size:1rem;font-weight:700;}.cart-item-info .price{color:var(--primary);font-weight:700;}.qty-controls{display:flex;align-items:center;gap:10px;}.qty-btn{width:30px;height:30px;border-radius:8px;border:1px solid #ddd;background:#fff;cursor:pointer;font-weight:700;font-size:1rem;transition:var(--transition);}.qty-btn:hover{background:var(--dark);color:#fff;border-color:var(--dark);}.cart-item-remove{color:var(--danger);cursor:pointer;font-size:1.3rem;padding:4px 8px;background:none;border:none;}.cart-summary{background:#fff;border-radius:var(--radius);padding:24px;box-shadow:var(--shadow);position:sticky;top:80px;}.cart-summary h3{font-size:1.2rem;font-weight:800;margin-bottom:20px;}.summary-row{display:flex;justify-content:space-between;margin-bottom:10px;color:#555;}.summary-row.total{font-size:1.3rem;font-weight:800;color:#333;border-top:1px solid #eee;padding-top:14px;margin-top:14px;}.form-group{margin-bottom:16px;}.form-group label{display:block;font-weight:600;font-size:0.9rem;margin-bottom:6px;color:#444;}.form-group input, .form-group textarea, .form-group select{width:100%;padding:12px 14px;border:2px solid #e0e0e0;border-radius:8px;font-size:0.95rem;font-family:inherit;transition:var(--transition);}.form-group input:focus, .form-group textarea:focus, .form-group select:focus{outline:none;border-color:var(--primary);}.payment-options{display:flex;flex-direction:column;gap:12px;margin:16px 0;}.payment-option{display:flex;align-items:center;gap:12px;padding:14px;border:2px solid #e0e0e0;border-radius:10px;cursor:pointer;transition:var(--transition);}.payment-option:hover, .payment-option.selected{border-color:var(--primary);background:#fff8f3;}.payment-option input{accent-color:var(--primary);}.payment-option .pay-icon{font-size:1.5rem;}.payment-option .pay-label{font-weight:600;font-size:0.95rem;}.payment-option .pay-desc{font-size:0.8rem;color:var(--gray);}.btn-block{width:100%;justify-content:center;}.btn-success{background:var(--success);color:#fff;}.empty-state{text-align:center;padding:60px 20px;}.empty-state .emoji{font-size:3rem;margin-bottom:16px;}.empty-state h3{font-size:1.3rem;margin-bottom:8px;}.empty-state p{color:var(--gray);margin-bottom:20px;}.confirmation{text-align:center;padding:80px 20px;}.confirmation .check{width:80px;height:80px;background:var(--success);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 24px;font-size:2.5rem;color:#fff;}.confirmation h1{font-size:2rem;margin-bottom:12px;}.confirmation .order-id{display:inline-block;background:#fff;padding:10px 24px;border-radius:50px;font-weight:700;color:var(--primary);margin:16px 0;box-shadow:var(--shadow);}.admin-page{min-height:100vh;background:#f0f1f5;}.admin-header{background:var(--dark);color:#fff;padding:16px 0;display:flex;align-items:center;justify-content:space-between;}.admin-header .container{display:flex;align-items:center;justify-content:space-between;}.admin-header h1{font-size:1.3rem;font-weight:800;}.admin-header h1 span{color:var(--primary-light);}.admin-logout{background:rgba(255,255,255,0.1);color:#fff;padding:8px 20px;border-radius:8px;border:none;cursor:pointer;font-weight:600;transition:var(--transition);}.admin-logout:hover{background:var(--danger);}.admin-login{max-width:400px;margin:80px auto;background:#fff;border-radius:var(--radius);padding:40px;box-shadow:var(--shadow-lg);animation:fadeInUp 0.5s ease-out;}.admin-login h2{text-align:center;margin-bottom:24px;font-weight:800;}.admin-login .logo{text-align:center;font-size:1.6rem;font-weight:800;margin-bottom:8px;}.admin-login .logo span{color:var(--primary);}.admin-tabs{display:flex;gap:4px;background:#fff;padding:8px;border-radius:10px;margin-bottom:24px;box-shadow:var(--shadow);}.admin-tab{flex:1;padding:10px 16px;border-radius:8px;border:none;background:transparent;font-weight:600;cursor:pointer;transition:var(--transition);font-size:0.9rem;}.admin-tab.active{background:var(--primary);color:#fff;}.admin-panel{padding:24px 0;}.admin-stats{display:grid;grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));gap:20px;margin-bottom:30px;}.stat-card{background:#fff;border-radius:var(--radius);padding:24px;box-shadow:var(--shadow);}.stat-card .label{font-size:0.85rem;color:var(--gray);margin-bottom:8px;}.stat-card .value{font-size:2rem;font-weight:800;color:var(--dark);}.stat-card .value.green{color:var(--success);}.stat-card .value.orange{color:var(--primary);}.admin-table{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);overflow-x:auto;}.admin-table table{width:100%;border-collapse:collapse;}.admin-table th{background:var(--dark);color:#fff;text-align:left;padding:14px 16px;font-size:0.8rem;text-transform:uppercase;letter-spacing:0.5px;}.admin-table td{padding:14px 16px;border-bottom:1px solid #eee;font-size:0.9rem;}.admin-table tr:hover{background:#fafafa;}.status-badge{display:inline-block;padding:4px 12px;border-radius:50px;font-size:0.75rem;font-weight:700;}.status-new{background:#e7f5ff;color:#1971c2;}.status-preparing{background:#fff9db;color:#f08c00;}.status-ready{background:#e6fcf5;color:#0ca678;}.status-delivered{background:#ebfbee;color:#2f9e44;}.status-select{padding:6px 12px;border-radius:8px;border:1px solid #ddd;font-size:0.8rem;cursor:pointer;}.product-form{background:#fff;border-radius:var(--radius);padding:28px;box-shadow:var(--shadow);margin-bottom:24px;}.product-form h3{font-weight:800;margin-bottom:20px;}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}.file-upload{border:2px dashed #ddd;border-radius:10px;padding:20px;text-align:center;cursor:pointer;transition:var(--transition);margin-bottom:16px;}.file-upload:hover{border-color:var(--primary);background:#fff8f3;}.file-upload input{display:none;}.file-upload .upload-text{color:var(--gray);font-size:0.9rem;}.file-preview img{max-height:120px;border-radius:8px;margin:10px auto;}.product-list-item{display:flex;align-items:center;gap:16px;padding:14px;border-bottom:1px solid #eee;}.product-list-item img{width:50px;height:50px;border-radius:8px;object-fit:cover;}.product-list-item .info{flex:1;}.product-list-item .info h4{font-size:0.95rem;font-weight:700;}.product-list-item .info p{font-size:0.8rem;color:var(--gray);}.btn-icon{padding:6px 10px;border-radius:6px;border:none;cursor:pointer;font-size:0.85rem;transition:var(--transition);}.btn-edit{background:#e7f5ff;color:#1971c2;}.btn-delete{background:#fff5f5;color:#e03131;}.btn-edit:hover{background:#1971c2;color:#fff;}.btn-delete:hover{background:#e03131;color:#fff;}.toast{position:fixed;bottom:24px;right:24px;background:var(--dark);color:#fff;padding:14px 24px;border-radius:10px;font-weight:600;font-size:0.9rem;box-shadow:var(--shadow-lg);transform:translateY(100px);opacity:0;transition:var(--transition);z-index:9999;}.toast.show{transform:translateY(0);opacity:1;}.toast.success{background:var(--success);}.toast.error{background:var(--danger);}.loading{text-align:center;padding:60px;color:var(--gray);}.spinner{width:40px;height:40px;border:4px solid #eee;border-top-color:var(--primary);border-radius:50%;animation:spin 0.8s linear infinite;margin:0 auto 16px;}@keyframes spin{to{transform:rotate(360deg);}}@media (max-width:768px){.nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--dark);flex-direction:column;padding:20px;gap:16px;}.nav-links.open{display:flex;}.hamburger{display:flex;}.hero .container{grid-template-columns:1fr;}.hero-brand h1 .brand-line-1{font-size:2.2rem;}.hero-brand h1 .brand-line-2{font-size:3rem;}.hero-image{display:none;}.about-grid{grid-template-columns:1fr;}.cart-layout{grid-template-columns:1fr;}.cart-summary{position:static;}.form-row{grid-template-columns:1fr;}.admin-tabs{flex-wrap:wrap;}.section-title{font-size:1.6rem;}}.social-links{display:flex;gap:14px;margin-top:28px;padding-top:20px;border-top:1px solid rgba(255,255,255,0.1);}.social-links a{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,0.08);color:#fff;font-size:1.1rem;transition:var(--transition);border:1px solid rgba(255,255,255,0.12);}.social-links a:hover{background:var(--primary);border-color:var(--primary);transform:translateY(-3px);box-shadow:0 6px 20px rgba(232,89,12,0.4);}.footer-social{display:flex;gap:14px;justify-content:center;margin-bottom:20px;}.footer-social a{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,0.08);color:#fff;font-size:1.05rem;transition:var(--transition);border:1px solid rgba(255,255,255,0.12);}.footer-social a:hover{background:var(--primary);border-color:var(--primary);transform:translateY(-3px);box-shadow:0 6px 20px rgba(232,89,12,0.4);}.nav-logo i, .admin-header h1 i, .logo i{color:var(--primary);}.contact-item .icon i{font-size:1.2rem;}.btn i{margin-right:6px;}.btn-add i{margin-right:4px;}.admin-tab i{margin-right:6px;}.stat-card .label i{margin-right:5px;}.file-upload .upload-text i{margin-right:6px;}.confirmation .check i{font-size:3rem;color:#fff;}



/* ===== Gallery Page (Card Grid Layout) ===== */
.gallery-section{margin-bottom:60px;}
.gallery-section-header{display:flex;align-items:center;gap:16px;margin-bottom:28px;padding-bottom:16px;border-bottom:2px solid #f0f0f0;}
.gallery-section-icon{width:52px;height:52px;border-radius:12px;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.3rem;flex-shrink:0;box-shadow:0 4px 14px rgba(232,89,12,0.3);}
.gallery-section-title{font-size:1.5rem;font-weight:800;color:#1a1a2e;margin:0;}
.gallery-section-desc{font-size:0.9rem;color:var(--gray);margin:4px 0 0;}
.gallery-section-count{margin-left:auto;background:#f0f0f0;color:#666;padding:6px 16px;border-radius:50px;font-size:0.8rem;font-weight:600;white-space:nowrap;}

/* Uniform card grid */
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}

/* Individual card */
.gallery-card{border-radius:16px;overflow:hidden;box-shadow:0 2px 12px rgba(0,0,0,0.08);cursor:pointer;transition:all 0.35s ease;background:#fff;border:1px solid #eee;}
.gallery-card:hover{box-shadow:0 8px 30px rgba(0,0,0,0.15);transform:translateY(-4px);}
.gallery-card-image-wrap{position:relative;overflow:hidden;height:240px;background:#f5f5f5;}
.gallery-card-image-wrap img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.5s ease;}
.gallery-card:hover .gallery-card-image-wrap img{transform:scale(1.08);}
.gallery-card-zoom-icon{position:absolute;top:12px;right:12px;width:38px;height:38px;border-radius:50%;background:rgba(0,0,0,0.5);color:#fff;display:flex;align-items:center;justify-content:center;font-size:0.85rem;backdrop-filter:blur(4px);opacity:0;transition:opacity 0.3s ease;z-index:2;}
.gallery-card:hover .gallery-card-zoom-icon{opacity:1;}

/* Info section under image */
.gallery-card-info{padding:16px 18px 18px;}
.gallery-card-info-top{display:flex;align-items:center;gap:8px;margin-bottom:10px;}
.gallery-card-cat-badge{display:inline-flex;align-items:center;gap:5px;background:#fff5ed;color:var(--primary);padding:4px 12px;border-radius:50px;font-size:0.72rem;font-weight:700;text-transform:uppercase;letter-spacing:0.5px;}
.gallery-card-caption{font-size:1.05rem;font-weight:700;color:#1a1a2e;margin:0 0 8px;line-height:1.3;}
.gallery-card-date{display:inline-flex;align-items:center;gap:5px;font-size:0.78rem;color:#999;font-weight:500;}

/* Empty state */
.gallery-empty-state{text-align:center;padding:80px 20px;color:#999;}
.gallery-empty-state i{font-size:3rem;margin-bottom:16px;display:block;color:#ddd;}
.gallery-empty-state h3{font-size:1.3rem;font-weight:700;color:#555;margin-bottom:8px;}
.gallery-empty-state p{font-size:0.95rem;}

/* Lightbox caption */
.lightbox-caption{position:absolute;bottom:0;left:0;right:0;text-align:center;color:#fff;font-size:1rem;font-weight:600;padding:20px;background:linear-gradient(transparent,rgba(0,0,0,0.6));}

@media(max-width:1024px){
  .gallery-grid{grid-template-columns:repeat(2,1fr);}
}

@media(max-width:640px){
  .gallery-grid{grid-template-columns:1fr;}
  .gallery-section-header{flex-wrap:wrap;}
  .gallery-section-count{margin-left:0;margin-top:8px;}
  .gallery-section-title{font-size:1.3rem;}
  .gallery-card-image-wrap{height:200px;}
}

/* Full-size card grid */
.gallery-section-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.gallery-card{position:relative;overflow:hidden;border-radius:16px;box-shadow:0 4px 20px rgba(0,0,0,0.08);cursor:pointer;transition:all 0.4s ease;background:#f0f0f0;min-height:320px;}
.gallery-card img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.6s ease;}
.gallery-card:hover{box-shadow:0 12px 40px rgba(0,0,0,0.18);transform:translateY(-6px);}
.gallery-card:hover img{transform:scale(1.1);}
.gallery-card-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(0,0,0,0.85));padding:20px 18px 16px;display:flex;align-items:flex-end;justify-content:space-between;gap:10px;opacity:0;transition:opacity 0.3s ease;z-index:2;}
.gallery-card:hover .gallery-card-overlay{opacity:1;}
.gallery-card-caption{color:#fff;font-size:0.95rem;font-weight:600;display:flex;align-items:center;gap:8px;}
.gallery-card-caption i{color:var(--primary-light,#ff8a50);}
.gallery-card-zoom{color:#fff;font-size:1.1rem;background:rgba(255,255,255,0.15);width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px);flex-shrink:0;}

/* Featured (first) card — spans 2 columns, taller */
.gallery-card-featured{grid-column:span 2;min-height:420px;}
.gallery-card-featured .gallery-card-caption{font-size:1.1rem;}

/* Always show caption on featured card */
.gallery-card-featured .gallery-card-overlay{opacity:1;}

/* Empty state */
.gallery-empty-state{text-align:center;padding:80px 20px;color:#999;}
.gallery-empty-state i{font-size:3rem;margin-bottom:16px;display:block;color:#ddd;}
.gallery-empty-state h3{font-size:1.3rem;font-weight:700;color:#555;margin-bottom:8px;}
.gallery-empty-state p{font-size:0.95rem;}

@media(max-width:1024px){
  .gallery-section-grid{grid-template-columns:repeat(2,1fr);}
  .gallery-card-featured{grid-column:span 2;}
}

@media(max-width:640px){
  .gallery-section-grid{grid-template-columns:1fr;}
  .gallery-card-featured{grid-column:span 1;min-height:320px;}
  .gallery-section-header{flex-wrap:wrap;}
  .gallery-section-count{margin-left:0;margin-top:8px;}
  .gallery-section-title{font-size:1.3rem;}
  .gallery-card{min-height:260px;}
}

/* Full-size card grid */
.gallery-section-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.gallery-card{position:relative;overflow:hidden;border-radius:16px;box-shadow:0 4px 20px rgba(0,0,0,0.08);cursor:pointer;transition:all 0.4s ease;aspect-ratio:4/3;background:#f0f0f0;}
.gallery-card img{width:100%;height:100%;object-fit:cover;transition:transform 0.6s ease;}
.gallery-card:hover{box-shadow:0 12px 40px rgba(0,0,0,0.18);transform:translateY(-6px);}
.gallery-card:hover img{transform:scale(1.1);}
.gallery-card-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(0,0,0,0.8));padding:20px 18px 16px;display:flex;align-items:flex-end;justify-content:space-between;gap:10px;opacity:0;transition:opacity 0.3s ease;}
.gallery-card:hover .gallery-card-overlay{opacity:1;}
.gallery-card-caption{color:#fff;font-size:0.95rem;font-weight:600;display:flex;align-items:center;gap:8px;}
.gallery-card-caption i{color:var(--primary-light);}
.gallery-card-zoom{color:#fff;font-size:1.1rem;background:rgba(255,255,255,0.15);width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px);flex-shrink:0;}

/* Featured (first) card — spans 2 columns, taller */
.gallery-card-featured{grid-column:span 2;aspect-ratio:16/10;}
.gallery-card-featured .gallery-card-caption{font-size:1.1rem;}

/* Empty state */
.gallery-empty-state{text-align:center;padding:80px 20px;color:#999;}
.gallery-empty-state i{font-size:3rem;margin-bottom:16px;display:block;color:#ddd;}
.gallery-empty-state h3{font-size:1.3rem;font-weight:700;color:#555;margin-bottom:8px;}
.gallery-empty-state p{font-size:0.95rem;}

@media(max-width:1024px){
  .gallery-grid{grid-template-columns:repeat(2,1fr);}
}

@media(max-width:640px){
  .gallery-grid{grid-template-columns:1fr;}
  .gallery-section-header{flex-wrap:wrap;}
  .gallery-section-count{margin-left:0;margin-top:8px;}
  .gallery-section-title{font-size:1.3rem;}
  .gallery-card-image-wrap{height:200px;}
}

/* ===== Admin Gallery Management Cards ===== */
.gallery-manage-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(220px, 1fr));gap:18px;margin-top:16px;}
.gallery-manage-card{border-radius:12px;overflow:hidden;box-shadow:0 2px 10px rgba(0,0,0,0.08);background:#fff;border:1px solid #eee;transition:all 0.3s ease;}
.gallery-manage-card:hover{box-shadow:0 6px 20px rgba(0,0,0,0.12);}
.gallery-manage-img-wrap{position:relative;height:180px;overflow:hidden;background:#f5f5f5;}
.gallery-manage-img-wrap img{width:100%;height:100%;object-fit:cover;}
.gallery-delete-btn{position:absolute;top:8px;right:8px;width:34px;height:34px;border-radius:50%;background:rgba(220,53,45,0.9);color:#fff;border:none;cursor:pointer;font-size:0.8rem;display:flex;align-items:center;justify-content:center;transition:all 0.25s ease;backdrop-filter:blur(4px);}
.gallery-delete-btn:hover{background:#dc3545;transform:scale(1.15);}
.gallery-delete-btn:disabled{opacity:0.6;cursor:not-allowed;}
.gallery-manage-info{padding:12px 14px 14px;}
.gallery-manage-cat{display:inline-flex;align-items:center;gap:4px;background:#fff5ed;color:var(--primary);padding:3px 10px;border-radius:50px;font-size:0.7rem;font-weight:700;text-transform:uppercase;letter-spacing:0.4px;}
.gallery-manage-info h4{font-size:0.95rem;font-weight:700;color:#1a1a2e;margin:8px 0 6px;line-height:1.3;}
.gallery-manage-date{display:inline-flex;align-items:center;gap:4px;font-size:0.72rem;color:#999;font-weight:500;}
.gallery-empty{grid-column:1/-1;text-align:center;padding:40px 20px;color:#999;}
.gallery-empty i{font-size:2.5rem;margin-bottom:12px;display:block;color:#ddd;}
.gallery-empty p{font-size:0.9rem;}

@media(max-width:640px){
  .gallery-manage-grid{grid-template-columns:repeat(2,1fr);gap:12px;}
  .gallery-manage-img-wrap{height:130px;}
}

/* ===== Hero Responsive ===== */
@media(max-width:900px){
  .hero .container{grid-template-columns:1fr;gap:40px;text-align:center;}
  .hero-title{font-size:2.6rem;}
  .hero-desc{margin:0 auto 28px;}
  .hero-meta{justify-content:center;}
  .hero-cta{justify-content:center;}
  .hero-badge{margin-left:auto;margin-right:auto;}
  .hero-visual{margin-top:20px;}
  .hero-image-stack{max-width:400px;height:360px;margin:0 auto;}
}
@media(max-width:640px){
  .hero{padding:40px 0 100px;}
  .hero-title{font-size:2rem;}
  .hero-desc{font-size:0.95rem;}
  .hero-badge{font-size:0.75rem;padding:6px 14px;}
  .hero-meta{gap:10px;font-size:0.8rem;}
  .hero-meta-divider{display:none;}
  .hero-meta-item{font-size:0.78rem;}
  .btn-hero,.btn-hero-outline{padding:13px 28px;font-size:0.9rem;}
  .hero-image-stack{max-width:320px;height:300px;}
  .hero-image-float-1,.hero-image-float-2{width:40%;height:35%;}
  .hero-float-badge{padding:10px 12px;}
  .hero-float-badge i{width:30px;height:30px;font-size:0.8rem;}
  .hero-float-badge strong{font-size:0.75rem;}
  .hero-float-badge span{font-size:0.65rem;}
  .hero-float-badge-1{right:0;}
  .hero-float-badge-2{left:0;}
}
/* ===== Parallax Mobile Fix ===== */
@media(max-width:768px){
  .hero-bg-overlay{background-attachment:scroll;}
}