mirror of
https://git.kh3group.com/georgebiri/khy_website.git
synced 2026-07-02 05:23:33 +00:00
All checks were successful
continuous-integration/drone/push Build is passing
- Adjusted CSS for product-detail.html to center-align product descriptions for improved readability. - Removed redundant size and color options from products.json to streamline product entries. - Enhanced product descriptions for clarity and engagement, while standardizing warranty information across all products. - Improved overall consistency in product specifications to reflect modern design and usage contexts.
540 lines
19 KiB
HTML
540 lines
19 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="en">
|
||
<head>
|
||
<meta charset="UTF-8" />
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||
<title>Product Detail - KHY</title>
|
||
<link rel="stylesheet" href="styles/main.css" />
|
||
<style>
|
||
/* Force responsive behavior */
|
||
@media (min-width: 640px) {
|
||
.sm\:hidden {
|
||
display: none !important;
|
||
}
|
||
.sm\:flex {
|
||
display: flex !important;
|
||
}
|
||
}
|
||
</style>
|
||
<link
|
||
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700&family=Playfair+Display:wght@100;200;300;400;500;600;700&family=Poppins:wght@400;500;600&display=swap"
|
||
rel="stylesheet"
|
||
/>
|
||
</head>
|
||
<body class="bg-white font-sans text-gray-800">
|
||
<!-- Header -->
|
||
<header
|
||
class="fixed w-full h-20 sm:h-28 top-0 left-0 bg-white shadow-[0_8px_24px_rgba(0,0,0,0.06)] border-b border-black/10 z-50"
|
||
>
|
||
<nav class="h-full">
|
||
<div
|
||
class="max-w-7xl mx-auto h-full flex items-center justify-between px-5"
|
||
>
|
||
<!-- Logo Section -->
|
||
<div class="flex items-center">
|
||
<a href="index.html" class="cursor-pointer">
|
||
<img
|
||
src="assets/images/khy_logo.png"
|
||
alt="KHY Logo"
|
||
class="h-12 sm:h-20 w-auto drop-shadow-sm hover:opacity-80 transition-opacity"
|
||
/>
|
||
</a>
|
||
</div>
|
||
|
||
<!-- Desktop Navigation -->
|
||
<ul class="hidden sm:flex space-x-10">
|
||
<li>
|
||
<a
|
||
href="index.html"
|
||
class="nav-link text-black hover:text-gray-600 font-playfair text-md font-extralight tracking-wider transition-colors text-shadow-default"
|
||
>Home</a
|
||
>
|
||
</li>
|
||
<li>
|
||
<a
|
||
href="index.html#products"
|
||
class="nav-link text-black hover:text-gray-600 font-playfair text-md font-extralight tracking-wider transition-colors text-shadow-default"
|
||
>Products</a
|
||
>
|
||
</li>
|
||
<li>
|
||
<a
|
||
href="index.html#about"
|
||
class="nav-link text-black hover:text-gray-600 font-playfair text-md font-extralight tracking-wider transition-colors text-shadow-default"
|
||
>About</a
|
||
>
|
||
</li>
|
||
<li>
|
||
<a
|
||
href="contact.html"
|
||
class="nav-link text-black hover:text-gray-600 font-playfair text-md font-extralight tracking-wider transition-colors text-shadow-default"
|
||
>Contact</a
|
||
>
|
||
</li>
|
||
</ul>
|
||
|
||
<!-- Mobile Hamburger -->
|
||
<div class="sm:hidden flex items-center">
|
||
<!-- Hamburger Button -->
|
||
<button
|
||
id="mobile-menu-button"
|
||
class="text-black hover:text-gray-600 transition-colors"
|
||
aria-label="Open mobile menu"
|
||
>
|
||
<svg
|
||
class="w-7 h-7"
|
||
fill="none"
|
||
stroke="currentColor"
|
||
viewBox="0 0 24 24"
|
||
>
|
||
<path
|
||
stroke-linecap="round"
|
||
stroke-linejoin="round"
|
||
stroke-width="2"
|
||
d="M4 6h16M4 12h16M4 18h16"
|
||
></path>
|
||
</svg>
|
||
</button>
|
||
</div>
|
||
</div>
|
||
</nav>
|
||
</header>
|
||
|
||
<!-- Mobile Menu Overlay -->
|
||
<div
|
||
id="mobile-menu-overlay"
|
||
class="fixed inset-0 bg-black bg-opacity-50 z-40 hidden transition-opacity duration-300 sm:hidden"
|
||
></div>
|
||
|
||
<!-- Mobile Menu -->
|
||
<div
|
||
id="mobile-menu"
|
||
class="fixed top-0 right-0 h-full w-80 bg-white shadow-xl z-50 transform translate-x-full transition-transform duration-300 sm:hidden"
|
||
>
|
||
<!-- Mobile Menu Header -->
|
||
<div class="flex items-center justify-end p-5 border-b border-gray-200">
|
||
<button
|
||
id="mobile-menu-close"
|
||
class="p-2 text-black hover:text-gray-600 transition-colors"
|
||
aria-label="Close mobile menu"
|
||
>
|
||
<svg
|
||
class="w-6 h-6"
|
||
fill="none"
|
||
stroke="currentColor"
|
||
viewBox="0 0 24 24"
|
||
>
|
||
<path
|
||
stroke-linecap="round"
|
||
stroke-linejoin="round"
|
||
stroke-width="2"
|
||
d="M6 18L18 6M6 6l12 12"
|
||
></path>
|
||
</svg>
|
||
</button>
|
||
</div>
|
||
|
||
<!-- Mobile Menu Items -->
|
||
<nav class="p-5">
|
||
<ul class="flex flex-col space-y-4">
|
||
<li>
|
||
<a
|
||
href="index.html"
|
||
class="nav-link block text-black hover:text-gray-600 font-playfair text-md font-extralight tracking-wider transition-colors py-2"
|
||
>Home</a
|
||
>
|
||
</li>
|
||
<li>
|
||
<a
|
||
href="index.html#products"
|
||
class="nav-link block text-black hover:text-gray-600 font-playfair text-md font-extralight tracking-wider transition-colors py-2"
|
||
>Products</a
|
||
>
|
||
</li>
|
||
<li>
|
||
<a
|
||
href="index.html#about"
|
||
class="nav-link block text-black hover:text-gray-600 font-playfair text-md font-extralight tracking-wider transition-colors py-2"
|
||
>About</a
|
||
>
|
||
</li>
|
||
<li>
|
||
<a
|
||
href="contact.html"
|
||
class="block text-black hover:text-gray-600 font-playfair text-md font-extralight tracking-wider transition-colors py-2"
|
||
>Contact</a
|
||
>
|
||
</li>
|
||
</ul>
|
||
</nav>
|
||
</div>
|
||
|
||
<main class="pt-20 sm:pt-28">
|
||
<!-- Product Details Section -->
|
||
<section class="relative w-full bg-white py-6">
|
||
<div class="max-w-7xl mx-auto px-5">
|
||
<div class="flex items-center">
|
||
<h1
|
||
class="font-playfair font-normal text-base text-quick-silver"
|
||
id="product-details-title"
|
||
>
|
||
Product Details
|
||
</h1>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- Main Product Section -->
|
||
<section class="relative w-full bg-white py-8">
|
||
<div class="max-w-7xl mx-auto px-5">
|
||
<div class="flex flex-col md:flex-row gap-8">
|
||
<!-- Left Section - Product Images -->
|
||
<div class="flex flex-col-reverse md:flex-row gap-4">
|
||
<!-- Thumbnails -->
|
||
<div
|
||
class="flex flex-row md:flex-col gap-3 md:gap-4 w-full md:w-32 overflow-x-auto md:overflow-visible"
|
||
>
|
||
<!-- Thumbnail images will be populated dynamically -->
|
||
</div>
|
||
|
||
<!-- Main Product Image -->
|
||
<div
|
||
class="w-full h-80 md:w-[500px] md:h-[500px] bg-floral-white rounded-lg overflow-hidden"
|
||
>
|
||
<!-- Main product image will be populated dynamically -->
|
||
</div>
|
||
</div>
|
||
|
||
<!-- Right Section - Product Details -->
|
||
<div class="w-full md:w-[500px]">
|
||
<!-- Product Title -->
|
||
<h1
|
||
class="font-playfair font-normal text-4xl text-black mb-8"
|
||
id="product-title"
|
||
>
|
||
<!-- Product title will be populated dynamically -->
|
||
</h1>
|
||
|
||
<!-- Product Description -->
|
||
<p
|
||
class="font-playfair font-normal text-sm text-black mb-8 max-w-md"
|
||
id="product-description"
|
||
>
|
||
<!-- Product description will be populated dynamically -->
|
||
</p>
|
||
|
||
<!-- Quantity and Action Buttons -->
|
||
<div class="flex flex-col md:flex-row gap-4 md:gap-6 mb-3">
|
||
<!-- Action Buttons -->
|
||
<a
|
||
href="contact.html"
|
||
class="inline-flex items-center justify-center w-full md:w-[440px] h-[64px] min-h-[64px] bg-white text-black font-playfair font-light text-[20px] leading-none rounded-[15px] border border-quick-silver hover:bg-black hover:text-white hover:shadow-lg transform hover:-translate-y-0.5 transition-all duration-200 box-border whitespace-nowrap mb-4"
|
||
>
|
||
Request a Quote
|
||
</a>
|
||
<button
|
||
id="compare-products-btn"
|
||
class="inline-flex items-center justify-center w-full md:w-[440px] h-[64px] min-h-[64px] bg-white text-black font-playfair font-light text-[20px] leading-none rounded-[15px] border border-quick-silver hover:bg-black hover:text-white hover:shadow-lg transform hover:-translate-y-0.5 transition-all duration-200 box-border whitespace-nowrap"
|
||
>
|
||
Compare Products
|
||
</button>
|
||
</div>
|
||
|
||
<!-- Divider -->
|
||
<div class="w-full h-px bg-light-silver mb-3"></div>
|
||
|
||
<!-- Product Specifications -->
|
||
<div class="mb-8">
|
||
<div class="space-y-2" id="product-specifications">
|
||
<!-- Product specifications will be populated dynamically -->
|
||
</div>
|
||
</div>
|
||
|
||
<!-- Product Metadata -->
|
||
<div class="space-y-4">
|
||
<!-- Product metadata will be populated dynamically -->
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- Product Detail Tabs Section -->
|
||
<section id="product-tabs" class="w-full bg-white">
|
||
<div class="border-t border-light-silver"></div>
|
||
<div class="max-w-7xl mx-auto px-5 py-10">
|
||
<!-- Tabs -->
|
||
<div class="flex justify-center gap-12 mb-8">
|
||
<button class="font-playfair text-2xl text-black">
|
||
Description
|
||
</button>
|
||
</div>
|
||
|
||
<!-- Copy -->
|
||
<div
|
||
class="max-w-5xl mx-auto space-y-6 text-center"
|
||
id="product-description-content"
|
||
>
|
||
<!-- Product description content will be populated dynamically -->
|
||
</div>
|
||
|
||
<!-- Images -->
|
||
<div class="relative mt-10">
|
||
<div
|
||
class="grid grid-cols-1 md:grid-cols-2 gap-8"
|
||
id="product-gallery-images"
|
||
>
|
||
<!-- Product gallery images will be populated dynamically -->
|
||
</div>
|
||
<!-- Back Arrow -->
|
||
<button
|
||
id="gallery-back-btn"
|
||
class="absolute top-1/2 left-0 transform -translate-y-1/2 bg-white border border-gray-300 rounded-full p-3 shadow-lg hover:shadow-xl transition-all duration-200 opacity-0 pointer-events-none"
|
||
style="display: none"
|
||
>
|
||
<svg
|
||
class="w-6 h-6 text-gray-600"
|
||
fill="none"
|
||
stroke="currentColor"
|
||
viewBox="0 0 24 24"
|
||
>
|
||
<path
|
||
stroke-linecap="round"
|
||
stroke-linejoin="round"
|
||
stroke-width="2"
|
||
d="M15 19l-7-7 7-7"
|
||
></path>
|
||
</svg>
|
||
</button>
|
||
<!-- Forward Arrow -->
|
||
<button
|
||
id="gallery-next-btn"
|
||
class="absolute top-1/2 right-0 transform -translate-y-1/2 bg-white border border-gray-300 rounded-full p-3 shadow-lg hover:shadow-xl transition-all duration-200 opacity-0 pointer-events-none"
|
||
style="display: none"
|
||
>
|
||
<svg
|
||
class="w-6 h-6 text-gray-600"
|
||
fill="none"
|
||
stroke="currentColor"
|
||
viewBox="0 0 24 24"
|
||
>
|
||
<path
|
||
stroke-linecap="round"
|
||
stroke-linejoin="round"
|
||
stroke-width="2"
|
||
d="M9 5l7 7-7 7"
|
||
></path>
|
||
</svg>
|
||
</button>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- full-width divider before related products -->
|
||
<div class="w-full border-t border-light-silver"></div>
|
||
|
||
<!-- Related Products Section -->
|
||
<section id="related-products" class="w-full bg-white py-14">
|
||
<div class="max-w-7xl mx-auto px-5">
|
||
<h2
|
||
class="font-playfair text-4xl font-medium text-center text-black mb-10"
|
||
>
|
||
Related Products
|
||
</h2>
|
||
|
||
<div
|
||
id="related-grid"
|
||
class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-8"
|
||
>
|
||
<!-- Related items will be injected here -->
|
||
</div>
|
||
|
||
<div class="mt-10 flex justify-center">
|
||
<button
|
||
id="related-show-more"
|
||
class="w-[245px] h-12 border border-uc-gold rounded-md bg-white font-playfair font-semibold text-base text-uc-gold hover:bg-uc-gold hover:text-white transition-colors"
|
||
>
|
||
Show More
|
||
</button>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- full-width divider after related products -->
|
||
<div class="w-full border-t border-light-silver"></div>
|
||
</main>
|
||
|
||
<!-- Footer -->
|
||
<footer class="bg-white border-t border-black border-opacity-20">
|
||
<!-- Main Footer Content -->
|
||
<div class="max-w-7xl mx-auto px-5 py-16">
|
||
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6">
|
||
<!-- Company Information -->
|
||
<div class="space-y-1">
|
||
<!-- Logo -->
|
||
<div class="w-16 h-20 -mt-6">
|
||
<a
|
||
href="index.html"
|
||
aria-label="Go to KHY home"
|
||
title="KHY Home"
|
||
class="inline-block w-full h-full group focus:outline-none focus-visible:ring-2 focus-visible:ring-uc-gold rounded-md transition"
|
||
>
|
||
<img
|
||
src="assets/images/khy_logo.png"
|
||
alt="KHY logo"
|
||
loading="lazy"
|
||
class="w-full h-full object-contain transition-transform duration-300 group-hover:scale-105"
|
||
/>
|
||
</a>
|
||
</div>
|
||
|
||
<!-- Address -->
|
||
<p
|
||
class="font-playfair font-normal text-base leading-relaxed text-gray-600 -mt-4"
|
||
>
|
||
5 Labone Crescent, Greater Accra, Ghana
|
||
</p>
|
||
|
||
<!-- Contact Info -->
|
||
<div class="space-y-1 -mt-2">
|
||
<!-- Phone -->
|
||
<div class="flex items-center space-x-3 -mt-1">
|
||
<img
|
||
src="assets/icons/phone2.png"
|
||
alt="Phone"
|
||
class="w-4 h-4"
|
||
/>
|
||
<span class="font-playfair font-normal text-base text-gray-800">
|
||
+233 (555) 76677
|
||
</span>
|
||
</div>
|
||
|
||
<!-- Email -->
|
||
<div class="flex items-center space-x-3 -mt-1">
|
||
<img src="assets/icons/mail.png" alt="Email" class="w-4 h-4" />
|
||
<span class="font-playfair font-normal text-base text-gray-800">
|
||
design@khyltd.com
|
||
</span>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- Quick Links -->
|
||
<div class="space-y-4 md:ml-6 lg:ml-8">
|
||
<h3
|
||
class="font-playfair font-normal text-sm leading-snug tracking-widest text-eerie-black uppercase"
|
||
>
|
||
Quick Links
|
||
</h3>
|
||
<div class="space-y-4">
|
||
<a
|
||
href="index.html"
|
||
class="block font-playfair font-normal text-base leading-relaxed tracking-wider text-gray-900 hover:text-black transition-colors"
|
||
>
|
||
Home
|
||
</a>
|
||
<a
|
||
href="product-catalog.html"
|
||
class="block font-playfair font-normal text-base leading-relaxed tracking-wider text-gray-900 hover:text-black transition-colors"
|
||
>
|
||
Products
|
||
</a>
|
||
<a
|
||
href="#about"
|
||
class="block font-playfair font-normal text-base leading-relaxed tracking-wider text-gray-900 hover:text-black transition-colors"
|
||
>
|
||
About
|
||
</a>
|
||
<a
|
||
href="contact.html"
|
||
class="block font-playfair font-normal text-base leading-relaxed tracking-wider text-gray-900 hover:text-black transition-colors"
|
||
>
|
||
Contact Us
|
||
</a>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- Company / Hours / Social -->
|
||
<div class="space-y-4">
|
||
<h3
|
||
class="font-playfair font-normal text-sm leading-snug tracking-widest text-eerie-black uppercase"
|
||
>
|
||
Company
|
||
</h3>
|
||
<div class="space-y-4">
|
||
<p
|
||
class="font-playfair font-normal text-base leading-relaxed text-gray-900"
|
||
>
|
||
Mon–Fri: 9AM – 5PM · Accra, Ghana
|
||
</p>
|
||
<div class="flex items-center space-x-6">
|
||
<a
|
||
href="#"
|
||
class="font-playfair font-normal text-base leading-relaxed text-gray-900 hover:text-black transition-colors"
|
||
>Instagram</a
|
||
>
|
||
<a
|
||
href="#"
|
||
class="font-playfair font-normal text-base leading-relaxed text-gray-900 hover:text-black transition-colors"
|
||
>LinkedIn</a
|
||
>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- Copyright Section -->
|
||
<div class="border-t border-light-silver">
|
||
<div class="max-w-7xl mx-auto px-5 py-4">
|
||
<p
|
||
class="font-playfair font-normal text-xs leading-relaxed text-davys-grey"
|
||
>
|
||
© 2025 khy. All rights reserved.
|
||
</p>
|
||
</div>
|
||
</div>
|
||
</footer>
|
||
|
||
<!-- Image Enlargement Modal -->
|
||
<div
|
||
id="image-modal"
|
||
class="fixed inset-0 bg-black bg-opacity-90 z-50 hidden flex items-center justify-center p-4 transition-opacity duration-300"
|
||
>
|
||
<div
|
||
class="relative max-w-7xl max-h-full w-full h-full flex items-center justify-center"
|
||
>
|
||
<!-- Close Button -->
|
||
<button
|
||
id="modal-close-btn"
|
||
class="absolute top-4 right-4 z-10 bg-white bg-opacity-20 hover:bg-opacity-30 text-white rounded-full p-3 transition-all duration-200 backdrop-blur-sm"
|
||
aria-label="Close modal"
|
||
>
|
||
<svg
|
||
class="w-6 h-6"
|
||
fill="none"
|
||
stroke="currentColor"
|
||
viewBox="0 0 24 24"
|
||
>
|
||
<path
|
||
stroke-linecap="round"
|
||
stroke-linejoin="round"
|
||
stroke-width="2"
|
||
d="M6 18L18 6M6 6l12 12"
|
||
></path>
|
||
</svg>
|
||
</button>
|
||
|
||
<!-- Enlarged Image -->
|
||
<img
|
||
id="modal-image"
|
||
src=""
|
||
alt=""
|
||
class="w-[95vw] h-[95vh] object-contain rounded-lg shadow-2xl transform transition-transform duration-300 scale-95"
|
||
/>
|
||
</div>
|
||
</div>
|
||
|
||
<script src="scripts/main.js?v=3.5"></script>
|
||
</body>
|
||
</html>
|