/* Golf Kenya - Premium Styles */
:root {
    --primary: #185838;
    --primary-light: #286e46;
    --primary-dark: #102010;
    --accent: #c89848;
    --accent-light: #d4b060;
    --text-dark: #181808;
    --text-light: #7a7a6a;
    --text-muted: #999;
    --bg-light: #f2e8cf;
    --bg-cream: #ede4c8;
    --white: #ffffff;
    --black: #000000;
    --gradient-dark: linear-gradient(135deg, #185838 0%, #102010 100%);
    --shadow-sm: 0 2px 10px rgba(0,0,0,0.08);
    --shadow-md: 0 10px 40px rgba(0,0,0,0.12);
    --shadow-lg: 0 20px 60px rgba(0,0,0,0.15);
    --transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior: smooth; }
body { font-family:'Montserrat',sans-serif; color:var(--text-dark); line-height:1.6; overflow-x:hidden; }
.container { max-width:1400px; margin:0 auto; padding:0 20px; }

/* Announcement Bar */
.announcement-bar { background:var(--gradient-dark); color:var(--white); text-align:center; padding:12px 20px; font-size:13px; letter-spacing:0.5px; }
.announcement-bar span { color:var(--accent); font-weight:600; cursor:pointer; }

/* Navigation */
.navbar { position:fixed; top:40px; left:0; right:0; z-index:1000; background:rgba(255,255,255,0.95); backdrop-filter:blur(20px); transition:var(--transition); }
.navbar.scrolled { top:0; box-shadow:var(--shadow-sm); }
.nav-container { max-width:1400px; margin:0 auto; padding:0 40px; display:flex; align-items:center; justify-content:space-between; height:80px; }
.nav-logo { display:flex; align-items:center; justify-content:center; gap:10px; text-decoration:none; }

/* Buttons */
.btn { display:inline-flex; align-items:center; gap:10px; padding:16px 32px; border-radius:50px; font-family:'Montserrat',sans-serif; font-size:15px; font-weight:600; text-decoration:none; cursor:pointer; transition:var(--transition); border:2px solid transparent; }
.btn-primary { background:var(--gradient-dark); color:var(--white); }
.btn-primary:hover { transform:translateY(-2px); box-shadow:var(--shadow-md); }
.btn-outline { background:transparent; border-color:var(--primary); color:var(--primary); }
.btn-outline:hover { background:var(--primary); color:var(--white); }
.btn-large { padding:20px 40px; font-size:16px; }
.btn-inquire { width:100%; padding:14px; background:var(--gradient-dark); color:var(--white); border:none; border-radius:12px; font-size:14px; font-weight:600; cursor:pointer; transition:var(--transition); display:flex; align-items:center; justify-content:center; gap:8px; font-family:'Montserrat',sans-serif; }
.btn-inquire:hover { opacity:0.9; transform:translateY(-1px); }
.btn-inquire i { font-size:18px; }
.btn-nav-cta { display:inline-flex; align-items:center; gap:8px; padding:10px 20px; background:var(--gradient-dark); color:var(--white); text-decoration:none; border-radius:50px; font-size:13px; font-weight:600; transition:var(--transition); }
.btn-nav-cta:hover { transform:translateY(-1px); box-shadow:var(--shadow-sm); }
.btn-catalogue { background:var(--accent); }
.btn-catalogue:hover { background:#b8944e; }

/* Logo */
.logo-text { font-family:'Playfair Display',serif; font-size:28px; font-weight:700; color:var(--primary); }
.logo-text span { color:var(--accent); }

.nav-menu { display:flex; list-style:none; gap:32px; }
.nav-menu li a { text-decoration:none; color:var(--text-dark); font-size:14px; font-weight:500; transition:var(--transition); position:relative; padding:5px 0; }
.nav-menu li a::after { content:''; position:absolute; bottom:-2px; left:0; width:0; height:2px; background:var(--accent); transition:var(--transition); }
.nav-menu li a:hover::after,
.nav-menu li a.active::after { width:100%; }
.nav-menu li a.active { color:var(--primary); font-weight:600; }
.nav-actions { display:flex; align-items:center; gap:12px; }
.nav-toggle { display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:5px; }
.nav-toggle span { display:block; width:25px; height:2px; background:var(--text-dark); transition:var(--transition); }

/* Hero */
.hero { min-height:100vh; display:flex; align-items:center; justify-content:center; background:var(--bg-cream); position:relative; overflow:hidden; }
.hero-bg { position:absolute; inset:0; background-size:cover; background-position:center; background-repeat:no-repeat; }
.hero-bg::after { content:''; position:absolute; inset:0; background:linear-gradient(to bottom, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.1) 50%, rgba(0,0,0,0.3) 100%); }
.hero-content { text-align:center; max-width:800px; padding:0 20px; z-index:1; }
.hero-subtitle { font-size:14px; letter-spacing:3px; text-transform:uppercase; color:var(--accent); font-weight:600; }
.hero-title { font-family:'Playfair Display',serif; font-size:clamp(48px, 10vw, 96px); font-weight:700; color:var(--primary); line-height:1.1; margin:20px 0; }
.hero-title span { color:var(--accent); }
.hero-description { font-size:18px; color:var(--text-light); max-width:500px; margin:0 auto 40px; line-height:1.8; }
.hero-buttons { display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }
.hero-scroll { position:absolute; bottom:40px; left:50%; transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; gap:10px; }
.hero-scroll span { font-size:11px; letter-spacing:2px; text-transform:uppercase; color:var(--text-muted); }
.scroll-line { width:1px; height:40px; background:linear-gradient(to bottom, var(--accent), transparent); animation:scrollPulse 2s ease-in-out infinite; }
@keyframes scrollPulse { 0%,100% { opacity:0.3; } 50% { opacity:1; } }

/* Sections */
.section-header { text-align:center; margin-bottom:60px; }
.section-label { font-size:13px; letter-spacing:3px; text-transform:uppercase; color:var(--accent); font-weight:600; }
.section-title { font-family:'Playfair Display',serif; font-size:clamp(32px,5vw,48px); font-weight:700; color:var(--primary); margin:10px 0; }
.section-title span { color:var(--accent); }
.section-description { color:var(--text-light); font-size:16px; max-width:500px; margin:0 auto; }

/* Brands */
.brands-bar { padding:40px 0; background:var(--bg-cream); overflow:hidden; }
.brands-bar .brands-slider { display:flex; gap:40px; animation:scrollBrands 30s linear infinite; white-space:nowrap; }
.brands-bar .brands-slider:hover { animation-play-state:paused; }
@keyframes scrollBrands { 0% { transform:translateX(0); } 100% { transform:translateX(-50%); } }
.brand-item { flex:0 0 auto; display:flex; align-items:center; justify-content:center; padding:12px 24px; background:var(--bg-light); border-radius:16px; min-width:180px; min-height:70px; }
.brand-logo { max-height:48px; width:auto; display:block; object-fit:contain; opacity:0.85; transition:opacity 0.3s; }
.brand-item:hover .brand-logo { opacity:1; }
.brand-name { font-family:'Playfair Display',serif; font-size:20px; font-weight:600; color:var(--text-dark); letter-spacing:1px; }

/* Categories */
.categories-section { padding:100px 0; background:var(--bg-cream); }
.categories-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(260px, 1fr)); gap:24px; }
.category-card-link { text-decoration:none; display:block; }
.category-card { position:relative; border-radius:20px; overflow:hidden; height:300px; cursor:pointer; }
.category-image { position:absolute; inset:0; }
.category-image img { width:100%; height:100%; object-fit:cover; transition:var(--transition); }
.category-card:hover .category-image img { transform:scale(1.08); }
.category-overlay { position:absolute; inset:0; background:linear-gradient(to top, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0.1) 60%, transparent 100%); }
.category-content { position:absolute; bottom:0; left:0; right:0; padding:30px; color:var(--white); z-index:1; }
.category-content i { font-size:28px; color:var(--accent); margin-bottom:10px; }
.category-content h3 { font-size:20px; font-weight:600; margin-bottom:4px; }
.product-count { font-size:13px; opacity:0.8; display:block; margin-bottom:8px; }
.category-cta { font-size:13px; font-weight:600; color:var(--accent); display:flex; align-items:center; gap:6px; transition:var(--transition); }
.category-card:hover .category-cta { gap:10px; }

/* 3D Card Effect */
.category-card-link { perspective:1000px; }
.category-card { transition:transform 0.5s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.5s cubic-bezier(0.4, 0, 0.2, 1); transform-style:preserve-3d; }
.category-card:hover { transform:rotateX(-4deg) rotateY(4deg) scale(1.03); box-shadow:0 25px 60px rgba(0,0,0,0.25); }
.category-card:hover .category-overlay { background:linear-gradient(to top, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0.05) 60%, transparent 100%); }
.category-card:hover .category-content { transform:translateZ(20px); }
.category-content { transition:transform 0.5s cubic-bezier(0.4, 0, 0.2, 1); transform-style:preserve-3d; }
.category-image img { transition:transform 0.6s cubic-bezier(0.4, 0, 0.2, 1); }
.category-card:hover .category-image img { transform:scale(1.12); }

/* 3D Effect for subcategory cards (umbrella pages) */
.subsection-card { perspective:1000px; transition:transform 0.5s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.5s cubic-bezier(0.4, 0, 0.2, 1); transform-style:preserve-3d; }
.subsection-card:hover { transform:rotateX(-3deg) rotateY(3deg) scale(1.03); box-shadow:0 20px 50px rgba(0,0,0,0.2); }

/* 3D Effect for product cards */
.product-card { transition:transform 0.5s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.5s cubic-bezier(0.4, 0, 0.2, 1); transform-style:preserve-3d; }
.product-card:hover { transform:rotateX(-2deg) rotateY(2deg) scale(1.02); box-shadow:0 20px 50px rgba(0,0,0,0.15); }

/* Stats */
.stats-section { padding:80px 0; background:var(--gradient-dark); color:var(--white); }
.stats-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:40px; text-align:center; }
.stat-number { font-family:'Playfair Display',serif; font-size:48px; font-weight:700; color:var(--accent); display:block; }
.stat-label { font-size:16px; opacity:0.8; display:block; margin-top:8px; }

/* Products */
.products-section { padding:100px 0; background:var(--white); }
.filters-wrapper { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-bottom:50px; }
.filter-btn { padding:10px 24px; border:2px solid var(--primary); background:transparent; color:var(--primary); border-radius:50px; font-family:'Montserrat',sans-serif; font-size:13px; font-weight:600; cursor:pointer; transition:var(--transition); }
.filter-btn.active,
.filter-btn:hover { background:var(--primary); color:var(--white); }
.products-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(280px, 1fr)); gap:30px; }

.product-card { background:var(--white); border-radius:16px; overflow:hidden; transition:var(--transition); border:1px solid rgba(0,0,0,0.06); }
.product-card:hover { transform:translateY(-4px); box-shadow:0 15px 50px rgba(0,0,0,0.12); }
.product-image-wrapper { position:relative; height:300px; background:var(--bg-light); overflow:hidden; }
.product-image-wrapper img { width:100%; height:100%; object-fit:contain; padding:24px; transition:var(--transition); }
.product-card:hover .product-image-wrapper img { transform:scale(1.08); }
.product-placeholder { display:flex; align-items:center; justify-content:center; height:100%; font-size:64px; color:var(--text-muted); background:linear-gradient(135deg, #f5f7fa 0%, #e4e7eb 100%); }
.product-actions { position:absolute; top:12px; right:12px; display:flex; gap:8px; opacity:0; transition:var(--transition); }
.product-card:hover .product-actions { opacity:1; }
.btn-wishlist { width:40px; height:40px; border-radius:50%; border:none; background:var(--white); color:var(--primary); cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:16px; box-shadow:var(--shadow-sm); transition:var(--transition); }
.btn-wishlist:hover { background:var(--gradient-dark); color:var(--white); }
.product-badge { position:absolute; top:15px; left:15px; padding:5px 14px; background:var(--accent); color:var(--white); border-radius:50px; font-size:11px; font-weight:600; letter-spacing:0.5px; }
.product-details { padding:20px; }
.product-category { font-size:11px; letter-spacing:1.5px; text-transform:uppercase; color:var(--text-muted); font-weight:600; }
.product-title { font-size:15px; font-weight:600; margin:8px 0; color:var(--text-dark); line-height:1.4; }
.product-meta { margin-bottom:8px; }
.product-sku { font-size:11px; color:var(--text-muted); }
.product-price { font-family:'Playfair Display',serif; font-size:22px; font-weight:700; color:var(--primary); margin:10px 0 16px; }

/* CTA Section */
.cta-section { padding:100px 0; background:var(--bg-cream); text-align:center; }
.cta-content { max-width:600px; margin:0 auto; }
.cta-content h2 { font-family:'Playfair Display',serif; font-size:clamp(28px,4vw,42px); color:var(--primary); margin-bottom:16px; }
.cta-content p { color:var(--text-light); font-size:16px; margin-bottom:30px; }
.cta-buttons { display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }

/* About */
.about-section { padding:100px 0; background:var(--white); }
.about-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.about-features { display:flex; flex-direction:column; gap:16px; margin-top:30px; }
.feature { display:flex; align-items:center; gap:12px; font-size:15px; }
.feature i { color:var(--accent); font-size:18px; }
.image-frame { border-radius:24px; overflow:hidden; position:relative; }
.image-frame::before { content:''; display:block; padding-bottom:80%; }
.image-frame img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }

/* Contact */
.contact-section { padding:100px 0; background:var(--bg-cream); }
.contact-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(250px, 1fr)); gap:30px; }
.contact-card { background:var(--white); padding:40px; border-radius:20px; text-align:center; transition:var(--transition); border:1px solid rgba(0,0,0,0.06); }
.contact-card:hover { transform:translateY(-5px); box-shadow:var(--shadow-md); }
.contact-icon { width:60px; height:60px; border-radius:50%; background:var(--bg-light); display:flex; align-items:center; justify-content:center; margin:0 auto 20px; font-size:24px; color:var(--primary); }
.contact-card h3 { font-size:18px; font-weight:600; margin-bottom:8px; }
.contact-card p { color:var(--text-light); font-size:14px; margin-bottom:12px; }
.contact-card a, .contact-card span { color:var(--primary); font-weight:600; text-decoration:none; font-size:15px; }
.contact-card a:hover { color:var(--accent); }

/* Footer */
.footer { background:var(--primary-dark); color:var(--white); padding:80px 0 0; }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 2fr; gap:60px; margin-bottom:60px; }
.footer-logo { display:flex; align-items:center; justify-content:center; gap:8px; } .footer-logo .logo-text { color:var(--white); }
.footer-brand p { color:rgba(255,255,255,0.7); font-size:14px; line-height:1.8; margin:20px 0; }
.social-links { display:flex; gap:12px; }
.social-links a { width:40px; height:40px; border-radius:50%; background:rgba(255,255,255,0.1); display:flex; align-items:center; justify-content:center; color:var(--white); transition:var(--transition); text-decoration:none; }
.social-links a:hover { background:var(--accent); color:var(--primary-dark); }
.footer-links h4 { font-size:16px; margin-bottom:20px; }
.footer-links ul { list-style:none; }
.footer-links ul li { margin-bottom:12px; }
.footer-links ul li a { color:rgba(255,255,255,0.7); text-decoration:none; font-size:14px; transition:var(--transition); }
.footer-links ul li a:hover { color:var(--accent); }
.footer-newsletter p { color:rgba(255,255,255,0.7); font-size:14px; margin-bottom:20px; }
.newsletter-form { display:flex; gap:10px; }
.newsletter-form input { flex:1; padding:14px 18px; border-radius:12px; border:none; background:rgba(255,255,255,0.1); color:var(--white); font-family:'Montserrat',sans-serif; outline:none; }
.newsletter-form input::placeholder { color:rgba(255,255,255,0.4); }
.newsletter-form button { width:50px; height:50px; border-radius:12px; border:none; background:var(--accent); color:var(--primary-dark); cursor:pointer; font-size:16px; transition:var(--transition); }
.newsletter-form button:hover { background:var(--accent-light); }
.footer-bottom { border-top:1px solid rgba(255,255,255,0.1); padding:30px 0; text-align:center; font-size:13px; color:rgba(255,255,255,0.5); }
.footer-bottom a { color:var(--accent); text-decoration:none; }

/* Category Pages */
.category-hero { min-height:60vh; display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden; background:var(--bg-cream); padding-top:120px; }
.category-hero-bg { position:absolute; inset:0; }
.category-hero-bg img { width:100%; height:100%; object-fit:cover; opacity:0.15; }
.category-hero-content { text-align:center; max-width:800px; padding:0 20px; z-index:1; }
.category-hero-icon { font-size:64px; color:var(--accent); margin-bottom:20px; }
.category-hero-title { font-family:'Playfair Display',serif; font-size:clamp(36px,8vw,64px); font-weight:700; color:var(--text-dark); margin-bottom:20px; }
.category-hero-description { font-size:18px; color:var(--text-light); margin-bottom:30px; }

/* Responsive */
@media (max-width:1024px) {
    .about-grid { grid-template-columns:1fr; gap:50px; }
    .stats-grid { grid-template-columns:repeat(2,1fr); }
    .footer-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:768px) {
    .nav-menu { display:none; position:absolute; top:80px; left:0; right:0; background:var(--white); flex-direction:column; padding:20px 40px; gap:16px; box-shadow:var(--shadow-md); }
    .nav-menu.active { display:flex; }
    .nav-toggle { display:flex; }
    .nav-actions { gap:8px; }
    .btn-nav-cta span { display:none; }
    .contact-grid { grid-template-columns:1fr; }
    .stats-grid { grid-template-columns:repeat(2,1fr); gap:30px; }
    .stat-number { font-size:36px; }
    .footer-grid { grid-template-columns:1fr; gap:40px; }
    .categories-grid { grid-template-columns:repeat(2,1fr); }
    .products-grid { grid-template-columns:repeat(2,1fr); gap:16px; }
}
@media (max-width:480px) {
    .hero-buttons, .cta-buttons { flex-direction:column; width:100%; }
    .btn { width:100%; justify-content:center; }
    .products-grid { grid-template-columns:1fr; }
    .categories-grid { grid-template-columns:1fr; }
}

/* ── Enhanced Mobile Responsiveness ── */
@media (max-width:1024px) {
    .hero { min-height:70vh; }
    .hero-title { font-size:clamp(36px,6vw,56px); }
    .nav-container { padding:0 24px; }
}
@media (max-width:768px) {
    .navbar { top:36px; }
    .nav-container { padding:0 16px; height:64px; }
    .nav-actions .btn-nav-cta { font-size:12px; padding:8px 14px; }
    .hero { min-height:60vh; padding-top:80px; }
    .hero-title { font-size:clamp(32px,8vw,48px); }
    .hero-description { font-size:15px; }
    .section-title { font-size:28px; }
    .product-card { margin-bottom:12px; }
    .product-price { font-size:18px; }
    .category-card-link { margin-bottom:12px; }
    .category-card { padding:20px; }
    .footer { padding:40px 0; }
    .footer-section h4 { font-size:16px; }
    .footer-section p, .footer-section a { font-size:13px; }
    .stats-grid { gap:20px; padding:20px; }
    .stat-number { font-size:32px; }
    .stat-label { font-size:13px; }
    .contact-section { padding:40px 0; }
    .product-detail { padding:30px 0; }
    .product-detail-title { font-size:24px !important; }
    .product-detail-price { font-size:28px !important; }
    .product-detail-grid { grid-template-columns:1fr; gap:24px; }
    .back-to-shop { padding-top:70px; }
    .feature-row-text { padding:30px; }
    .feature-row-text h3 { font-size:22px; }
}
@media (max-width:480px) {
    .hero-title { font-size:clamp(28px,10vw,36px) !important; }
    .hero-subtitle { font-size:12px; }
    .hero-description { font-size:14px; }
    .nav-container { height:56px; }
    .nav-logo img { height:32px !important; }
    .product-detail-title { font-size:20px !important; }
    .product-detail-price { font-size:24px !important; }
    .product-detail-meta { flex-direction:column; gap:12px; }
    .feature-row-text { padding:20px; }
    .feature-row-text h3 { font-size:20px; }
}
@media (hover:none) and (pointer:coarse) {
    .btn-detail-inquire, .btn-detail-back { padding:16px 28px; }
}
@media (max-width:900px) and (orientation:landscape) {
    .hero { min-height:80vh; padding-top:70px; }
}
/* ── Scroll Animation (replaces AOS) ── */
[data-anim] { opacity:0; transform:translateY(30px); transition:opacity 0.6s ease, transform 0.6s ease; }
[data-anim].anim-left { opacity:0; transform:translateX(-40px); transition:opacity 0.6s ease, transform 0.6s ease; }
[data-anim].anim-right { opacity:0; transform:translateX(40px); transition:opacity 0.6s ease, transform 0.6s ease; }
@media (prefers-reduced-motion:reduce) {
    * { animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important; }
    [data-anim] { opacity:1; transform:none; }
}
