The ARTEFACT Guild | The Reimagined Series 2026 | ARTEFACT Guild Exclusive

<!DOCTYPE html>
<html lang="en-AU" prefix="og: https://ogp.me/ns#">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=5.0, user-scalable=yes">
    <title>The ARTEFACT Guild | The Reimagined Series 2026 | ARTEFACT Guild Exclusive</title>
    <meta name="description" content="Exclusive wearable art collection by Sidney Allo. Festival t-shirts, premium apparel, limited edition designs. Available exclusively through ARTEFACT Guild.">
    
    <!-- SEO Meta Tags -->
    <meta name="robots" content="index, follow, max-image-preview:large">
    <meta name="keywords" content="festival t-shirts, festival apparel, wearable art, premium t-shirts, luxury fashion, festival pickup, limited edition, The BluePrint LAB, ARTEFACT Guild, Sidney Allo, collectors items">
    <meta name="author" content="The ARTEFACT Guild">
    <link rel="canonical" href="https://www.theartefactguild.com/collections/reimagined-2026">
    
    <!-- Open Graph / Social Media -->
    <meta property="og:title" content="The Reimagined Series 2026 | ARTEFACT Guild Exclusive">
    <meta property="og:description" content="Limited edition wearable art collection curated by The BluePrint LAB, available exclusively to ARTEFACT Guild members.">
    <meta property="og:type" content="website">
    <meta property="og:url" content="https://www.theartefactguild.com/collections/reimagined-2026">
    <meta property="og:image" content="https://www.theartefactguild.com/files/artefact-guild-logo.png">
    <meta property="og:site_name" content="ARTEFACT Guild">
    <meta property="og:locale" content="en_AU">
    
    <!-- Twitter Card -->
    <meta name="twitter:card" content="summary_large_image">
    <meta name="twitter:site" content="@theartefactguild">
    <meta name="twitter:creator" content="@sidneyallo">
    <meta name="twitter:title" content="The Reimagined Series 2026 - Wearable Art Collection">
    <meta name="twitter:description" content="Exclusive festival apparel and wearable art by Sidney Allo">
    <meta name="twitter:image" content="https://www.theartefactguild.com/files/artefact-guild-logo.png">
    
    <!-- Security Headers -->
    <meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self' https://js.stripe.com https://www.paypal.com https://static.afterpay.com 'unsafe-inline'; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com https://cdnjs.cloudflare.com; img-src 'self' data: https:; font-src 'self' https://fonts.gstatic.com https://cdnjs.cloudflare.com; connect-src 'self' https://api.stripe.com https://api.paypal.com;">
    <meta http-equiv="X-Content-Type-Options" content="nosniff">
    <meta http-equiv="X-Frame-Options" content="DENY">
    <meta http-equiv="Strict-Transport-Security" content="max-age=31536000; includeSubDomains">
    
    <!-- Schema.org Structured Data -->
    <script type="application/ld+json">
    {
        "@context": "https://schema.org",
        "@type": "ProductCollection",
        "name": "The Reimagined Series 2026",
        "description": "Exclusive wearable art collection curated for distinguished connoisseurs and global collectors",
        "url": "https://www.theartefactguild.com/collections/reimagined-2026",
        "image": "https://www.theartefactguild.com/images/theartefactguildlogo.png",
        "brand": {
            "@type": "Brand",
            "name": "ARTEFACT Guild",
            "logo": "https://www.theartefactguild.com/images/theartefactguildlogo.png"
        },
        "offers": {
            "@type": "AggregateOffer",
            "offerCount": "3",
            "lowPrice": "50.00",
            "highPrice": "250.00",
            "priceCurrency": "AUD",
            "availability": "https://schema.org/InStock",
            "seller": {
                "@type": "Organization",
                "name": "The ARTEFACT Guild"
            }
        }
    }
    </script>
    
    <!-- Preconnect for performance -->
    <link rel="preconnect" href="https://js.stripe.com">
    <link rel="preconnect" href="https://fonts.googleapis.com">
    <link rel="preconnect" href="https://cdnjs.cloudflare.com">
    <link rel="preconnect" href="https://www.paypal.com">
    
    <!-- Favicon -->
    <link rel="icon" type="image/x-icon" href="https://www.theartefactguild.com/images/theartefactguildlogo2.png">
    
    <!-- Fonts -->
    <link href="https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,700;1,400&family=Montserrat:wght@200;300;400;600&display=swap" rel="stylesheet">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
    
    <!-- Payment Scripts (deferred) -->
    <script src="https://js.stripe.com/v3/" defer></script>
    <script src="https://www.paypal.com/sdk/js?client-id=sb&currency=AUD" defer></script>
    <script src="https://static.afterpay.com/sdk.js" defer></script>
    
    <style>
    :root {
        --luxury-gold: #C5A059;
        --deep-gold: #8E6E36;
        --portal-black: #0A0A0A;
        --accent-black: #151515;
        --off-white: #F9F9F9;
        --text-gray: #A0A0A0;
        --transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
        --modal-bg: rgba(10, 10, 10, 0.98);
        --success-green: #4CAF50;
        --express-blue: #2196F3;
        --international-blue: #1565C0;
        --dhl-yellow: #FFCC00;
        --festival-orange: #FF9800;
        --collector-purple: #9C27B0;
        --share-teal: #009688;
        --payment-blue: #4285F4;
        --afterpay-green: #B2FCE4;
        --accessibility-highlight: #FFD700;
    }

    * { 
        margin: 0; 
        padding: 0; 
        box-sizing: border-box; 
    }

    html {
        scroll-behavior: smooth;
    }

    body {
        background-color: var(--portal-black);
        color: var(--off-white);
        font-family: 'Montserrat', sans-serif;
        overflow-x: hidden;
        letter-spacing: 0.5px;
        padding-top: 140px;
    }

    /* Dyslexia Mode */
    body.dyslexia-mode {
        font-family: 'Comic Sans MS', 'Chalkboard SE', 'Montserrat', sans-serif;
        letter-spacing: 0.2px;
        line-height: 1.8;
    }

    /* High Contrast Mode */
    body.high-contrast {
        background-color: #000000;
        color: #FFFFFF;
        --luxury-gold: #FFD700;
        --deep-gold: #FFA500;
        --off-white: #FFFFFF;
        --text-gray: #CCCCCC;
    }

    h1, h2, h3, h4 { 
        font-family: 'Playfair Display', serif; 
        font-weight: 700; 
        text-transform: uppercase; 
    }

    /* PRE-SALE COUNTDOWN TIMER */
    .countdown-timer {
        background: linear-gradient(135deg, var(--luxury-gold), var(--deep-gold));
        color: var(--portal-black);
        padding: 15px 0;
        text-align: center;
        position: fixed;
        top: 140px;
        width: 100%;
        z-index: 998;
        font-weight: 600;
        letter-spacing: 1px;
        box-shadow: 0 5px 15px rgba(0,0,0,0.3);
    }

    .countdown-container {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 30px;
        flex-wrap: wrap;
    }

    .countdown-item {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .countdown-value {
        font-size: 1.8rem;
        font-weight: 700;
        font-family: 'Playfair Display', serif;
    }

    .countdown-label {
        font-size: 0.8rem;
        text-transform: uppercase;
        letter-spacing: 2px;
    }

    .countdown-text {
        font-size: 1rem;
        margin-right: 20px;
    }

    /* NAVIGATION */
    nav {
        padding: 20px 5%;
        display: flex;
        justify-content: space-between;
        align-items: center;
        background: rgba(10, 10, 10, 0.98);
        border-bottom: 1px solid rgba(197, 160, 89, 0.2);
        position: fixed;
        width: 100%;
        top: 0;
        z-index: 1000;
        height: 140px;
    }

    .nav-brand {
        display: flex;
        align-items: center;
        gap: 30px;
    }

    .brand-logo { 
        height: 50px; 
        filter: brightness(1.2); 
    }

    .artefact-logo {
        height: 100px;
        margin-left: 20px;
        padding-left: 20px;
        border-left: 1px solid rgba(197, 160, 89, 0.3);
    }

    .nav-links {
        font-size: 0.7rem;
        letter-spacing: 3px;
        font-weight: 300;
        text-transform: uppercase;
        color: var(--luxury-gold);
        text-align: right;
        line-height: 1.4;
    }

    .nav-designer {
        display: block;
        font-size: 0.6rem;
        color: var(--text-gray);
        margin-top: 5px;
    }

    /* FLOATING ACTION BUTTON */
    .fab-container {
        position: fixed;
        right: 30px;
        bottom: 30px;
        z-index: 1002;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 15px;
    }

    .fab-main {
        width: 70px;
        height: 70px;
        background: var(--luxury-gold);
        color: var(--portal-black);
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 2rem;
        cursor: pointer;
        box-shadow: 0 5px 20px rgba(0,0,0,0.3);
        transition: var(--transition);
        border: 3px solid var(--deep-gold);
        position: relative;
    }

    .fab-main:hover {
        transform: scale(1.1);
        background: var(--deep-gold);
    }

    .fab-main .plus {
        display: block;
        transition: transform 0.3s ease;
    }

    .fab-main .minus {
        display: none;
        transition: transform 0.3s ease;
    }

    .fab-main.active .plus {
        display: none;
    }

    .fab-main.active .minus {
        display: block;
    }

    .fab-buttons {
        display: flex;
        flex-direction: column;
        gap: 15px;
        opacity: 0;
        transform: translateY(20px);
        pointer-events: none;
        transition: var(--transition);
    }

    .fab-buttons.active {
        opacity: 1;
        transform: translateY(0);
        pointer-events: all;
    }

    .fab-button {
        width: 60px;
        height: 60px;
        background: var(--accent-black);
        color: var(--luxury-gold);
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1.5rem;
        cursor: pointer;
        box-shadow: 0 5px 15px rgba(0,0,0,0.3);
        transition: var(--transition);
        border: 2px solid var(--luxury-gold);
        position: relative;
    }

    .fab-button:hover {
        transform: scale(1.1);
        background: var(--luxury-gold);
        color: var(--portal-black);
    }

    .fab-button .tooltip {
        position: absolute;
        right: 70px;
        background: var(--accent-black);
        color: var(--off-white);
        padding: 8px 15px;
        border-radius: 4px;
        font-size: 0.8rem;
        white-space: nowrap;
        opacity: 0;
        pointer-events: none;
        transition: var(--transition);
        border: 1px solid var(--luxury-gold);
    }

    .fab-button:hover .tooltip {
        opacity: 1;
        right: 75px;
    }

    /* SHOPPING BAG ICON */
    .cart-icon {
        position: fixed;
        bottom: 30px;
        right: 120px;
        width: 60px;
        height: 60px;
        background: var(--luxury-gold);
        color: var(--portal-black);
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1.5rem;
        cursor: pointer;
        z-index: 1000;
        box-shadow: 0 5px 15px rgba(0,0,0,0.3);
        transition: var(--transition);
    }

    .cart-icon:hover {
        transform: scale(1.1);
        background: var(--deep-gold);
    }

    .cart-count {
        position: absolute;
        top: -5px;
        right: -5px;
        background: var(--portal-black);
        color: var(--off-white);
        width: 24px;
        height: 24px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 0.8rem;
        font-weight: 600;
        border: 2px solid var(--luxury-gold);
    }

    /* COOKIE BANNER */
    .cookie-banner {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        background: var(--accent-black);
        border-top: 2px solid var(--luxury-gold);
        padding: 20px;
        z-index: 10000;
        display: none;
    }

    .cookie-banner.active {
        display: block;
        animation: slideUp 0.5s ease-out;
    }

    .cookie-content {
        max-width: 1200px;
        margin: 0 auto;
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 30px;
    }

    .cookie-text {
        flex: 1;
    }

    .cookie-text h3 {
        color: var(--luxury-gold);
        margin-bottom: 10px;
    }

    .cookie-text p {
        font-size: 0.9rem;
        color: var(--text-gray);
    }

    .cookie-actions {
        display: flex;
        gap: 15px;
    }

    .cookie-btn {
        padding: 10px 25px;
        border-radius: 4px;
        font-weight: 600;
        cursor: pointer;
        transition: var(--transition);
        border: 2px solid var(--luxury-gold);
    }

    .cookie-btn.accept {
        background: var(--luxury-gold);
        color: var(--portal-black);
    }

    .cookie-btn.accept:hover {
        background: var(--deep-gold);
    }

    .cookie-btn.settings {
        background: transparent;
        color: var(--luxury-gold);
    }

    .cookie-btn.settings:hover {
        background: rgba(197, 160, 89, 0.1);
    }

    /* PRIVACY MODAL */
    .privacy-modal {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0,0,0,0.95);
        z-index: 10001;
        display: none;
        align-items: center;
        justify-content: center;
        padding: 20px;
    }

    .privacy-modal.active {
        display: flex;
        animation: fadeIn 0.3s;
    }

    .privacy-content {
        background: var(--accent-black);
        border: 2px solid var(--luxury-gold);
        border-radius: 12px;
        max-width: 800px;
        width: 100%;
        max-height: 90vh;
        overflow-y: auto;
        padding: 40px;
    }

    .privacy-header {
        text-align: center;
        margin-bottom: 30px;
        padding-bottom: 20px;
        border-bottom: 1px solid rgba(197, 160, 89, 0.3);
    }

    .privacy-header h2 {
        color: var(--luxury-gold);
        margin-bottom: 10px;
    }

    .cookie-categories {
        display: flex;
        flex-direction: column;
        gap: 20px;
        margin: 30px 0;
    }

    .cookie-category {
        background: rgba(255,255,255,0.05);
        padding: 20px;
        border-radius: 8px;
        border-left: 4px solid var(--luxury-gold);
    }

    .category-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 15px;
    }

    .category-header h4 {
        color: var(--luxury-gold);
    }

    .toggle-switch {
        position: relative;
        display: inline-block;
        width: 60px;
        height: 30px;
    }

    .toggle-switch input {
        opacity: 0;
        width: 0;
        height: 0;
    }

    .slider {
        position: absolute;
        cursor: pointer;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: #ccc;
        transition: .4s;
        border-radius: 34px;
    }

    .slider:before {
        position: absolute;
        content: "";
        height: 22px;
        width: 22px;
        left: 4px;
        bottom: 4px;
        background-color: white;
        transition: .4s;
        border-radius: 50%;
    }

    input:checked + .slider {
        background-color: var(--luxury-gold);
    }

    input:checked + .slider:before {
        transform: translateX(30px);
    }

    .category-description {
        font-size: 0.9rem;
        color: var(--text-gray);
        line-height: 1.6;
    }

    /* HERO SECTION */
    .hero {
        height: 85vh;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        text-align: center;
        background: linear-gradient(rgba(0,0,0,0.7), rgba(0,0,0,0.7));
        background-size: cover;
        background-position: center;
        border-bottom: 2px solid var(--luxury-gold);
        padding: 0 5%;
        margin-top: 40px;
    }

    .hero-pre {
        font-size: 0.9rem;
        letter-spacing: 12px;
        text-transform: uppercase;
        color: var(--luxury-gold);
        margin-bottom: 20px;
        animation: fadeIn 2s;
    }

    .hero-title {
        font-size: clamp(3rem, 10vw, 6rem);
        margin-bottom: 20px;
        color: var(--off-white);
        line-height: 1.1;
    }

    .hero-subtitle {
        font-family: 'Montserrat', sans-serif;
        font-weight: 200;
        font-size: 1.2rem;
        max-width: 700px;
        color: var(--text-gray);
        line-height: 1.6;
        margin-bottom: 30px;
    }

    .exclusive-badge {
        background: var(--collector-purple);
        color: white;
        padding: 10px 25px;
        border-radius: 25px;
        font-size: 0.9rem;
        font-weight: 600;
        letter-spacing: 2px;
        text-transform: uppercase;
        display: inline-flex;
        align-items: center;
        gap: 10px;
        margin-top: 20px;
    }

    /* SHOWCASE GRID */
    .showcase-container {
        max-width: 1500px;
        margin: 0 auto;
        padding: 100px 20px;
    }

    .section-intro {
        text-align: center;
        margin-bottom: 80px;
        padding: 0 20px;
    }

    .section-intro h2 {
        font-size: 3rem;
        color: var(--luxury-gold);
        margin-bottom: 15px;
    }

    .section-intro p {
        font-style: italic;
        color: var(--text-gray);
        font-weight: 300;
        max-width: 800px;
        margin: 0 auto;
        line-height: 1.6;
    }

    /* DESIGN SELECTION */
    .design-selection {
        margin: 40px 0;
        padding: 0 20px;
    }

    .design-title {
        font-size: 0.9rem;
        text-transform: uppercase;
        letter-spacing: 2px;
        margin-bottom: 20px;
        color: var(--text-gray);
        text-align: center;
    }

    .design-options {
        display: flex;
        justify-content: center;
        gap: 20px;
        flex-wrap: wrap;
        max-width: 800px;
        margin: 0 auto;
    }

    .design-option {
        padding: 15px 30px;
        border: 1px solid #333;
        cursor: pointer;
        transition: var(--transition);
        font-size: 0.9rem;
        text-transform: uppercase;
        letter-spacing: 1px;
        border-radius: 4px;
        min-width: 200px;
        text-align: center;
    }

    .design-option.active, .design-option:hover {
        border-color: var(--luxury-gold);
        background: rgba(197, 160, 89, 0.05);
        color: var(--luxury-gold);
        box-shadow: 0 5px 15px rgba(197, 160, 89, 0.1);
    }

    /* PRODUCT DISPLAY AREA */
    .product-display {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 60px;
        margin: 60px 0;
        padding: 0 20px;
    }

    @media (max-width: 1024px) {
        .product-display {
            grid-template-columns: 1fr;
        }
    }

    /* IMAGE VIEWPORT */
    .viewport-container {
        width: 100%;
        height: 600px;
        position: relative;
        overflow: hidden;
        border: 1px solid rgba(197, 160, 89, 0.3);
        background: #000;
        cursor: grab;
        touch-action: manipulation;
        user-select: none;
        border-radius: 8px;
        margin-bottom: 20px;
    }

    .viewport-container.dragging {
        cursor: grabbing;
    }

    .zoomable-image {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: contain;
        transform-origin: center center;
        transition: transform 0.1s ease-out;
        will-change: transform;
        image-rendering: -webkit-optimize-contrast;
        image-rendering: crisp-edges;
        backface-visibility: hidden;
        transform: translateZ(0);
        -webkit-font-smoothing: antialiased;
    }

    .zoom-controls {
        position: absolute;
        bottom: 15px;
        right: 15px;
        display: flex;
        gap: 10px;
        z-index: 2;
    }

    .zoom-btn {
        width: 40px;
        height: 40px;
        background: rgba(0,0,0,0.7);
        color: white;
        border: 1px solid rgba(255,255,255,0.2);
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        transition: var(--transition);
        font-size: 1.2rem;
    }

    .zoom-btn:hover {
        background: var(--luxury-gold);
        color: var(--portal-black);
    }

    .like-container {
        position: absolute;
        top: 20px;
        right: 20px;
        z-index: 10;
    }

    .like-btn {
        background: rgba(0,0,0,0.7);
        color: white;
        border: 2px solid rgba(255,255,255,0.3);
        width: 50px;
        height: 50px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        transition: var(--transition);
        font-size: 1.2rem;
    }

    .like-btn:hover {
        border-color: #E1306C;
        color: #E1306C;
        transform: scale(1.1);
    }

    .like-btn.liked {
        background: #E1306C;
        border-color: #E1306C;
        color: white;
    }

    /* PRODUCT OPTIONS */
    .product-options {
        display: flex;
        flex-direction: column;
        gap: 30px;
    }

    /* T-SHIRT TYPE SELECTION */
    .shirt-type-selection {
        background: rgba(21, 21, 21, 0.5);
        border: 1px solid rgba(197, 160, 89, 0.1);
        border-radius: 8px;
        padding: 25px;
    }

    .shirt-type-title {
        font-size: 1.2rem;
        color: var(--luxury-gold);
        margin-bottom: 20px;
        display: flex;
        align-items: center;
        gap: 10px;
    }

    .shirt-type-options {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
        gap: 15px;
    }

    .shirt-type-option {
        border: 1px solid #333;
        padding: 20px;
        border-radius: 5px;
        cursor: pointer;
        transition: var(--transition);
        position: relative;
        text-align: center;
    }

    .shirt-type-option.active, .shirt-type-option:hover {
        border-color: var(--luxury-gold);
        background: rgba(197, 160, 89, 0.05);
    }

    .shirt-type-option h5 {
        font-size: 1rem;
        color: var(--off-white);
        margin-bottom: 10px;
    }

    .shirt-type-option p {
        font-size: 0.85rem;
        color: #888;
        line-height: 1.4;
    }

    /* COLOR SELECTION */
    .color-selection {
        background: rgba(21, 21, 21, 0.5);
        border: 1px solid rgba(197, 160, 89, 0.1);
        border-radius: 8px;
        padding: 25px;
    }

    .color-title {
        font-size: 1.2rem;
        color: var(--luxury-gold);
        margin-bottom: 20px;
        display: flex;
        align-items: center;
        gap: 10px;
    }

    .color-options {
        display: flex;
        gap: 20px;
        flex-wrap: wrap;
    }

    .color-option {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 10px;
        cursor: pointer;
    }

    .color-circle {
        width: 50px;
        height: 50px;
        border-radius: 50%;
        border: 3px solid transparent;
        transition: var(--transition);
        position: relative;
    }

    .color-option.active .color-circle {
        border-color: var(--luxury-gold);
        transform: scale(1.1);
    }

    .color-circle.white { background: #FFFFFF; }
    .color-circle.black { background: #000000; }

    .color-label {
        font-size: 0.8rem;
        text-transform: uppercase;
        letter-spacing: 1px;
    }

    /* SIZE AND QUANTITY SECTION */
    .size-quantity-section {
        background: rgba(21, 21, 21, 0.5);
        border: 1px solid rgba(197, 160, 89, 0.1);
        border-radius: 8px;
        padding: 25px;
        margin: 30px 0;
    }

    .size-selection {
        margin-bottom: 30px;
    }

    .size-title {
        font-size: 1.2rem;
        color: var(--luxury-gold);
        margin-bottom: 20px;
        display: flex;
        align-items: center;
        gap: 10px;
    }

    .size-options {
        display: flex;
        gap: 10px;
        flex-wrap: wrap;
    }

    .size-option {
        min-width: 50px;
        padding: 12px;
        border: 1px solid #333;
        text-align: center;
        cursor: pointer;
        transition: var(--transition);
        font-weight: 600;
        border-radius: 4px;
    }

    .size-option.active, .size-option:hover {
        border-color: var(--luxury-gold);
        background: rgba(197, 160, 89, 0.05);
        color: var(--luxury-gold);
    }

    .size-option.out-of-stock {
        opacity: 0.3;
        cursor: not-allowed;
        text-decoration: line-through;
    }

    .quantity-selection {
        margin-top: 30px;
    }

    .quantity-title {
        font-size: 1.2rem;
        color: var(--luxury-gold);
        margin-bottom: 20px;
        display: flex;
        align-items: center;
        gap: 10px;
    }

    .quantity-selector {
        display: flex;
        align-items: center;
        gap: 15px;
        max-width: 200px;
    }

    .quantity-btn {
        width: 40px;
        height: 40px;
        border: 1px solid var(--luxury-gold);
        background: transparent;
        color: var(--luxury-gold);
        font-size: 1.2rem;
        cursor: pointer;
        transition: var(--transition);
        border-radius: 4px;
    }

    .quantity-btn:hover {
        background: var(--luxury-gold);
        color: var(--portal-black);
    }

    .quantity-btn:disabled {
        opacity: 0.5;
        cursor: not-allowed;
    }

    .quantity-btn:disabled:hover {
        background: transparent;
        color: var(--luxury-gold);
    }

    .quantity-display {
        width: 60px;
        text-align: center;
        font-size: 1.2rem;
        font-weight: 600;
        padding: 8px;
        border: 1px solid #333;
        border-radius: 4px;
    }

    /* ADD TO COLLECTION SECTION */
    .add-to-collection-section {
        background: rgba(21, 21, 21, 0.5);
        border: 1px solid rgba(197, 160, 89, 0.1);
        border-radius: 8px;
        padding: 25px;
        margin-top: 30px;
    }

    .price-display {
        margin-bottom: 30px;
        display: flex;
        flex-direction: column;
        gap: 10px;
    }

    .current-price {
        font-size: 2.5rem;
        font-weight: 700;
        color: var(--luxury-gold);
    }

    .original-price {
        text-decoration: line-through;
        color: var(--text-gray);
        font-size: 1.2rem;
    }

    .promotional-badge {
        background: linear-gradient(135deg, var(--festival-orange), var(--collector-purple));
        color: white;
        padding: 8px 15px;
        border-radius: 20px;
        font-size: 0.9rem;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 1px;
        display: inline-flex;
        align-items: center;
        gap: 8px;
        max-width: fit-content;
        animation: pulse 2s infinite;
    }

    @keyframes pulse {
        0% { transform: scale(1); }
        50% { transform: scale(1.05); }
        100% { transform: scale(1); }
    }

    .promotional-note {
        font-size: 0.9rem;
        color: var(--festival-orange);
        font-style: italic;
        margin-top: 5px;
        padding: 8px;
        background: rgba(255, 152, 0, 0.1);
        border-radius: 4px;
        border-left: 3px solid var(--festival-orange);
    }

    .add-to-collection-btn {
        background: var(--luxury-gold);
        color: var(--portal-black);
        border: none;
        padding: 20px 40px;
        font-size: 1.1rem;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 2px;
        cursor: pointer;
        transition: var(--transition);
        border-radius: 4px;
        width: 100%;
        max-width: 400px;
        display: block;
        margin: 0 auto;
    }

    .add-to-collection-btn:hover {
        background: var(--deep-gold);
        transform: translateY(-3px);
        box-shadow: 0 10px 20px rgba(197, 160, 89, 0.3);
    }

    .add-to-collection-btn:disabled {
        background: #666;
        cursor: not-allowed;
        transform: none;
        box-shadow: none;
    }

    /* STYLING RECOMMENDATIONS */
    .styling-recommendations {
        background: rgba(21, 21, 21, 0.5);
        border: 1px solid rgba(197, 160, 89, 0.1);
        border-radius: 8px;
        padding: 25px;
        margin-top: 60px;
    }

    .recommendations-title {
        font-size: 1.5rem;
        color: var(--luxury-gold);
        margin-bottom: 25px;
        text-align: center;
    }

    .recommendations-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
        gap: 30px;
        margin-top: 30px;
    }

    .recommendation-item {
        text-align: center;
        padding: 20px;
        background: rgba(255,255,255,0.05);
        border-radius: 8px;
        transition: var(--transition);
    }

    .recommendation-item:hover {
        transform: translateY(-5px);
        background: rgba(197, 160, 89, 0.1);
    }

    .recommendation-icon {
        font-size: 2.5rem;
        color: var(--luxury-gold);
        margin-bottom: 15px;
    }

    .recommendation-item h4 {
        color: var(--off-white);
        margin-bottom: 10px;
    }

    .recommendation-item p {
        font-size: 0.9rem;
        color: var(--text-gray);
        line-height: 1.5;
    }

    /* DELIVERY OPTIONS */
    .delivery-section {
        background: rgba(21, 21, 21, 0.5);
        border: 1px solid rgba(197, 160, 89, 0.1);
        border-radius: 8px;
        padding: 25px;
        margin-top: 60px;
    }

    .delivery-title {
        font-size: 1.5rem;
        color: var(--luxury-gold);
        margin-bottom: 25px;
        display: flex;
        align-items: center;
        gap: 10px;
        justify-content: center;
    }

    .delivery-options {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
        gap: 20px;
    }

    .delivery-option {
        border: 1px solid #333;
        padding: 20px;
        border-radius: 5px;
        cursor: pointer;
        transition: var(--transition);
        position: relative;
    }

    .delivery-option.active, .delivery-option:hover {
        border-color: var(--luxury-gold);
        background: rgba(197, 160, 89, 0.05);
    }

    .delivery-option.festival {
        border-left: 4px solid var(--festival-orange);
    }

    .delivery-option.express {
        border-left: 4px solid var(--express-blue);
    }

    .delivery-option.international {
        border-left: 4px solid var(--international-blue);
    }

    .delivery-option.dhl {
        border-left: 4px solid var(--dhl-yellow);
    }

    .delivery-option h5 {
        font-size: 1rem;
        color: var(--off-white);
        margin-bottom: 10px;
        display: flex;
        align-items: center;
        gap: 10px;
    }

    .delivery-price {
        color: var(--success-green);
        font-weight: 600;
        margin-top: 10px;
        display: block;
    }

    .delivery-note {
        font-size: 0.8rem;
        color: var(--text-gray);
        margin-top: 10px;
        font-style: italic;
    }

    .festival-dates {
        background: rgba(255, 152, 0, 0.1);
        border: 1px solid rgba(255, 152, 0, 0.3);
        padding: 10px;
        border-radius: 4px;
        margin-top: 10px;
        font-size: 0.8rem;
    }

    /* SHOPPING CART */
    .cart-container {
        position: fixed;
        top: 140px;
        right: 20px;
        width: 400px;
        background: var(--accent-black);
        border: 1px solid rgba(197, 160, 89, 0.3);
        border-radius: 12px;
        padding: 25px;
        z-index: 1001;
        box-shadow: 0 10px 30px rgba(0,0,0,0.5);
        display: none;
        max-height: 80vh;
        overflow-y: auto;
    }

    .cart-container.active {
        display: block;
        animation: slideIn 0.3s ease-out;
    }

    .cart-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 25px;
        padding-bottom: 15px;
        border-bottom: 1px solid rgba(197, 160, 89, 0.2);
    }

    .cart-header h3 {
        font-size: 1.3rem;
        color: var(--luxury-gold);
    }

    .close-cart {
        background: none;
        border: none;
        color: var(--text-gray);
        font-size: 1.8rem;
        cursor: pointer;
        transition: var(--transition);
    }

    .close-cart:hover {
        color: var(--luxury-gold);
    }

    .cart-items {
        max-height: 400px;
        overflow-y: auto;
        margin-bottom: 20px;
    }

    .cart-item {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        padding: 15px 0;
        border-bottom: 1px solid rgba(255,255,255,0.05);
    }

    .cart-item:last-child {
        border-bottom: none;
    }

    .cart-item-details {
        flex: 1;
        margin-right: 15px;
    }

    .cart-item-details h4 {
        font-size: 0.95rem;
        margin-bottom: 5px;
        color: var(--off-white);
    }

    .cart-item-meta {
        font-size: 0.8rem;
        color: var(--text-gray);
        margin-bottom: 5px;
    }

    .cart-item-actions {
        display: flex;
        gap: 10px;
        margin-top: 10px;
    }

    .edit-item, .remove-item {
        background: none;
        border: none;
        color: var(--luxury-gold);
        font-size: 0.8rem;
        cursor: pointer;
        transition: var(--transition);
        padding: 2px 5px;
    }

    .edit-item:hover, .remove-item:hover {
        text-decoration: underline;
    }

    .cart-item-price {
        color: var(--luxury-gold);
        font-weight: 600;
        font-size: 0.95rem;
        text-align: right;
        min-width: 80px;
    }

    .cart-subtotal {
        display: flex;
        justify-content: space-between;
        margin-bottom: 10px;
        padding: 10px 0;
        border-top: 1px solid rgba(197, 160, 89, 0.2);
    }

    .cart-total {
        display: flex;
        justify-content: space-between;
        font-weight: 600;
        font-size: 1.2rem;
        padding: 15px 0;
        border-top: 1px solid rgba(197, 160, 89, 0.2);
    }

    .checkout-btn {
        background: var(--luxury-gold);
        color: var(--portal-black);
        border: none;
        padding: 15px;
        width: 100%;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 1px;
        cursor: pointer;
        margin-top: 20px;
        transition: var(--transition);
        border-radius: 4px;
        font-size: 1rem;
    }

    .checkout-btn:hover {
        background: var(--deep-gold);
        transform: translateY(-2px);
    }

    .checkout-btn:disabled {
        background: #666;
        cursor: not-allowed;
        transform: none;
    }

    /* PAYMENT MODAL */
    .payment-modal {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0,0,0,0.95);
        z-index: 2000;
        display: none;
        align-items: center;
        justify-content: center;
        padding: 20px;
    }

    .payment-modal.active {
        display: flex;
        animation: fadeIn 0.3s;
    }

    .payment-content {
        background: var(--accent-black);
        border: 2px solid rgba(197, 160, 89, 0.3);
        border-radius: 12px;
        max-width: 600px;
        width: 100%;
        max-height: 90vh;
        overflow-y: auto;
        padding: 40px;
    }

    .payment-header {
        text-align: center;
        margin-bottom: 30px;
    }

    .payment-header h2 {
        color: var(--luxury-gold);
        margin-bottom: 10px;
    }

    .payment-methods {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
        gap: 15px;
        margin: 25px 0;
    }

    .payment-method {
        border: 1px solid #333;
        padding: 20px;
        border-radius: 5px;
        cursor: pointer;
        transition: var(--transition);
        text-align: center;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 10px;
    }

    .payment-method.active, .payment-method:hover {
        border-color: var(--luxury-gold);
        background: rgba(197, 160, 89, 0.05);
    }

    .payment-icon {
        font-size: 2rem;
        color: var(--luxury-gold);
    }

    .payment-name {
        font-size: 0.9rem;
        text-transform: uppercase;
        letter-spacing: 1px;
    }

    .payment-details {
        display: none;
        margin-top: 30px;
    }

    .payment-details.active {
        display: block;
    }

    .form-group {
        margin-bottom: 20px;
    }

    .form-group label {
        display: block;
        font-size: 0.9rem;
        color: var(--text-gray);
        margin-bottom: 8px;
        text-transform: uppercase;
        letter-spacing: 1px;
    }

    .form-group input {
        width: 100%;
        padding: 12px 15px;
        background: rgba(255,255,255,0.05);
        border: 1px solid #333;
        border-radius: 4px;
        color: var(--off-white);
        font-family: 'Montserrat', sans-serif;
        font-size: 1rem;
    }

    .form-group input:focus {
        outline: none;
        border-color: var(--luxury-gold);
    }

    .submit-payment {
        background: var(--luxury-gold);
        color: var(--portal-black);
        border: none;
        padding: 15px 30px;
        font-size: 1rem;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 1px;
        cursor: pointer;
        transition: var(--transition);
        border-radius: 4px;
        width: 100%;
        margin-top: 20px;
    }

    .submit-payment:hover {
        background: var(--deep-gold);
        transform: translateY(-2px);
    }

    /* ORDER CONFIRMATION */
    .order-confirmation {
        text-align: center;
        padding: 40px 0;
        display: none;
    }

    .order-confirmation.active {
        display: block;
    }

    .confirmation-icon {
        font-size: 4rem;
        color: var(--success-green);
        margin-bottom: 20px;
    }

    .confirmation-message h3 {
        color: var(--success-green);
        margin-bottom: 15px;
        font-size: 1.8rem;
    }

    .order-number {
        background: rgba(76, 175, 80, 0.1);
        padding: 15px;
        border-radius: 8px;
        margin: 20px 0;
        font-family: monospace;
        letter-spacing: 2px;
        font-size: 1.2rem;
        color: var(--success-green);
    }

    /* SHARE MODAL */
    .share-modal {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0,0,0,0.95);
        z-index: 2001;
        display: none;
        align-items: center;
        justify-content: center;
        padding: 20px;
    }

    .share-modal.active {
        display: flex;
        animation: fadeIn 0.3s;
    }

    .share-content {
        background: var(--accent-black);
        border: 2px solid rgba(197, 160, 89, 0.3);
        border-radius: 12px;
        max-width: 500px;
        width: 100%;
        max-height: 90vh;
        overflow-y: auto;
        padding: 60px 40px 40px;
        text-align: center;
        position: relative;
    }

    .close-share-top {
        position: absolute;
        top: 20px;
        right: 20px;
        background: none;
        border: none;
        color: var(--text-gray);
        font-size: 2rem;
        cursor: pointer;
        transition: var(--transition);
        width: 40px;
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 10;
    }

    .close-share-top:hover {
        color: var(--luxury-gold);
    }

    .share-content h3 {
        color: var(--luxury-gold);
        margin-bottom: 30px;
        font-size: 1.5rem;
    }

    .share-platforms {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 15px;
        margin-bottom: 30px;
    }

    .share-platform {
        padding: 15px;
        border-radius: 8px;
        background: rgba(255,255,255,0.05);
        cursor: pointer;
        transition: var(--transition);
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 10px;
    }

    .share-platform:hover {
        background: rgba(197, 160, 89, 0.1);
        transform: translateY(-3px);
    }

    .share-platform i {
        font-size: 1.8rem;
    }

    .share-platform.whatsapp i { color: #25D366; }
    .share-platform.facebook i { color: #1877F2; }
    .share-platform.instagram i { color: #E1306C; }
    .share-platform.email i { color: #EA4335; }
    .share-platform.sms i { color: #34B7F1; }
    .share-platform.pinterest i { color: #E60023; }
    .share-platform.linkedin i { color: #0A66C2; }
    .share-platform.reddit i { color: #FF4500; }
    .share-platform.youtube i { color: #FF0000; }

    /* COLLECTION MODALS */
    .collection-modal {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0,0,0,0.95);
        z-index: 2002;
        display: none;
        align-items: center;
        justify-content: center;
        padding: 20px;
    }

    .collection-modal.active {
        display: flex;
        animation: fadeIn 0.3s;
    }

    .collection-content {
        background: var(--accent-black);
        border: 2px solid rgba(197, 160, 89, 0.3);
        border-radius: 12px;
        max-width: 800px;
        width: 100%;
        max-height: 90vh;
        overflow-y: auto;
        padding: 60px 40px 40px;
        position: relative;
    }

    .close-collection {
        position: absolute;
        top: 20px;
        right: 20px;
        background: none;
        border: none;
        color: var(--text-gray);
        font-size: 2rem;
        cursor: pointer;
        transition: var(--transition);
        width: 40px;
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 10;
    }

    .close-collection:hover {
        color: var(--luxury-gold);
    }

    .collection-header {
        text-align: center;
        margin-bottom: 30px;
        padding-bottom: 20px;
        border-bottom: 1px solid rgba(197, 160, 89, 0.2);
    }

    .collection-header h2 {
        color: var(--luxury-gold);
        margin-bottom: 10px;
    }

    .collection-body {
        font-size: 1rem;
        line-height: 1.8;
        color: var(--text-gray);
    }

    .collection-body p {
        margin-bottom: 20px;
    }

    .collection-body ul {
        padding-left: 20px;
        margin-bottom: 20px;
    }

    .collection-body li {
        margin-bottom: 10px;
        padding-left: 10px;
    }

    .collection-features {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
        gap: 20px;
        margin: 30px 0;
    }

    .collection-feature {
        background: rgba(197, 160, 89, 0.05);
        padding: 20px;
        border-radius: 8px;
        border-left: 3px solid var(--luxury-gold);
    }

    .collection-feature h4 {
        color: var(--luxury-gold);
        margin-bottom: 10px;
        font-size: 1rem;
    }

    /* FOOTER */
    footer {
        background: var(--accent-black);
        padding: 100px 5% 100px;
        border-top: 1px solid rgba(197, 160, 89, 0.2);
        position: relative;
        margin-top: 100px;
    }

    footer:before {
        content: '';
        position: absolute;
        top: 0;
        left: 5%;
        right: 5%;
        height: 1px;
        background: linear-gradient(90deg, transparent, var(--luxury-gold), transparent);
    }

    .footer-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
        gap: 50px;
        margin-bottom: 80px;
    }

    .footer-col h4 {
        color: var(--luxury-gold);
        font-size: 1.2rem;
        margin-bottom: 30px;
        letter-spacing: 2px;
        position: relative;
        padding-bottom: 15px;
    }

    .footer-col h4:after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        width: 50px;
        height: 2px;
        background: var(--luxury-gold);
    }

    .footer-col p, .footer-col a {
        color: var(--text-gray);
        line-height: 1.7;
        margin-bottom: 15px;
        font-size: 0.95rem;
    }

    .footer-col a {
        text-decoration: none;
        transition: var(--transition);
        display: block;
        padding: 8px 0;
        border-bottom: 1px solid rgba(255,255,255,0.05);
    }

    .footer-col a:hover {
        color: var(--luxury-gold);
        padding-left: 10px;
    }

    .social-links {
        display: flex;
        gap: 15px;
        margin-top: 20px;
    }

    .social-links a {
        width: 40px;
        height: 40px;
        border-radius: 50%;
        background: rgba(255,255,255,0.05);
        display: flex;
        align-items: center;
        justify-content: center;
        transition: var(--transition);
    }

    .social-links a:hover {
        background: var(--luxury-gold);
        color: var(--portal-black);
        transform: translateY(-3px);
    }

    .footer-bottom {
        text-align: center;
        padding-top: 40px;
        border-top: 1px solid rgba(255,255,255,0.1);
        color: #666;
        font-size: 0.85rem;
        line-height: 1.6;
    }

    /* BLUEPRINT LAB ATTRIBUTION */
    .blueprint-attribution {
        text-align: center;
        padding: 30px 5% 40px;
        background: var(--portal-black);
        border-top: 1px solid rgba(197, 160, 89, 0.1);
        margin-top: -60px;
    }

    .blueprint-attribution .logo {
        height: 40px;
        margin-bottom: 15px;
        filter: brightness(0.8);
    }

    .blueprint-attribution p {
        color: var(--text-gray);
        font-size: 0.9rem;
        margin: 0;
    }

    /* LOADING INDICATOR */
    .loading-indicator {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: var(--portal-black);
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 9999;
        transition: opacity 0.3s ease-out;
    }

    .loading-indicator.hidden {
        opacity: 0;
        pointer-events: none;
    }

    .spinner {
        width: 50px;
        height: 50px;
        border: 3px solid rgba(197, 160, 89, 0.3);
        border-top-color: var(--luxury-gold);
        border-radius: 50%;
        animation: spin 1s linear infinite;
    }

    /* NOTIFICATION */
    .notification {
        position: fixed;
        top: 20px;
        right: 20px;
        background: var(--luxury-gold);
        color: var(--portal-black);
        padding: 15px 25px;
        border-radius: 4px;
        z-index: 10000;
        font-weight: 600;
        box-shadow: 0 5px 15px rgba(0,0,0,0.3);
        animation: slideIn 0.3s ease-out;
        display: none;
    }

    .notification.show {
        display: block;
    }

    /* ANIMATIONS */
    @keyframes fadeIn {
        from { opacity: 0; }
        to { opacity: 1; }
    }

    @keyframes slideIn {
        from { transform: translateY(-20px); opacity: 0; }
        to { transform: translateY(0); opacity: 1; }
    }

    @keyframes slideUp {
        from { transform: translateY(100%); opacity: 0; }
        to { transform: translateY(0); opacity: 1; }
    }

    @keyframes spin {
        to { transform: rotate(360deg); }
    }

    /* RESPONSIVENESS */
    @media (max-width: 1200px) {
        .product-display {
            gap: 40px;
        }
    }

    @media (max-width: 1024px) {
        .countdown-container {
            gap: 20px;
        }
        
        .countdown-value {
            font-size: 1.5rem;
        }
        
        .hero-title {
            font-size: 3.5rem;
        }
        
        .section-intro h2 {
            font-size: 2.5rem;
        }
        
        .share-platforms {
            grid-template-columns: repeat(3, 1fr);
        }
    }

    @media (max-width: 768px) {
        body {
            padding-top: 120px;
        }
        
        nav {
            height: 120px;
            padding: 15px 5%;
            flex-direction: column;
            gap: 15px;
        }
        
        .nav-brand {
            width: 100%;
            justify-content: center;
            gap: 20px;
        }
        
        .artefact-logo {
            height: 80px;
            margin-left: 0;
            padding-left: 0;
            border-left: none;
        }
        
        .countdown-timer {
            top: 120px;
            padding: 10px 0;
        }
        
        .countdown-container {
            gap: 15px;
        }
        
        .countdown-value {
            font-size: 1.3rem;
        }
        
        .hero {
            height: 70vh;
            margin-top: 40px;
        }
        
        .hero-title {
            font-size: 2.5rem;
        }
        
        .section-intro h2 {
            font-size: 2rem;
        }
        
        .design-option {
            min-width: 150px;
            padding: 12px 20px;
        }
        
        .viewport-container {
            height: 400px;
        }
        
        .cart-container {
            width: 90%;
            right: 5%;
            left: 5%;
        }
        
        .fab-container {
            right: 20px;
            bottom: 20px;
        }
        
        .fab-main {
            width: 60px;
            height: 60px;
            font-size: 1.8rem;
        }
        
        .fab-button {
            width: 50px;
            height: 50px;
            font-size: 1.3rem;
        }
        
        .cart-icon {
            right: 100px;
            bottom: 20px;
            width: 50px;
            height: 50px;
            font-size: 1.2rem;
        }
        
        .share-platforms {
            grid-template-columns: repeat(3, 1fr);
        }
        
        .collection-features {
            grid-template-columns: 1fr;
        }
    }

    @media (max-width: 480px) {
        .hero-title {
            font-size: 2rem;
        }
        
        .hero-subtitle {
            font-size: 1rem;
        }
        
        .section-intro h2 {
            font-size: 1.8rem;
        }
        
        .design-options {
            flex-direction: column;
            align-items: center;
        }
        
        .design-option {
            width: 100%;
            max-width: 300px;
        }
        
        .viewport-container {
            height: 350px;
        }
        
        .size-options {
            justify-content: center;
        }
        
        .quantity-selector {
            margin: 0 auto;
        }
        
        .add-to-collection-btn {
            padding: 15px 30px;
            font-size: 1rem;
        }
        
        .fab-container {
            right: 15px;
            bottom: 15px;
        }
        
        .fab-button .tooltip {
            display: none;
        }
        
        .cookie-content {
            flex-direction: column;
            text-align: center;
        }
        
        .cookie-actions {
            flex-direction: column;
            width: 100%;
        }
        
        .cookie-btn {
            width: 100%;
        }
        
        .share-platforms {
            grid-template-columns: repeat(2, 1fr);
        }
        
        .collection-modal .collection-content,
        .share-modal .share-content {
            padding: 50px 20px 30px;
        }
        
        .close-collection,
        .close-share-top {
            top: 15px;
            right: 15px;
        }
    }

    /* ACCESSIBILITY */
    .sr-only {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
    }

    /* FOCUS STYLES */
    a:focus,
    button:focus,
    input:focus,
    textarea:focus,
    select:focus {
        outline: 2px solid var(--accessibility-highlight);
        outline-offset: 2px;
    }

    /* SCROLLBAR */
    ::-webkit-scrollbar {
        width: 8px;
    }

    ::-webkit-scrollbar-track {
        background: var(--accent-black);
    }

    ::-webkit-scrollbar-thumb {
        background: var(--luxury-gold);
        border-radius: 4px;
    }

    ::-webkit-scrollbar-thumb:hover {
        background: var(--deep-gold);
    }

    /* TOUCH OPTIMIZATIONS */
    @media (hover: none) and (pointer: coarse) {
        .zoom-btn,
        .like-btn,
        .fab-button,
        .fab-main,
        .cart-icon {
            min-height: 44px;
            min-width: 44px;
        }
        
        .design-option,
        .shirt-type-option,
        .size-option,
        .delivery-option,
        .payment-method {
            padding: 15px;
            margin: 5px 0;
        }
        
        input, select, textarea {
            font-size: 16px; /* Prevents iOS zoom on focus */
        }
    }
    </style>
</head>
<body>
    <!-- Loading Indicator -->
    <div class="loading-indicator" id="loadingIndicator">
        <div class="spinner"></div>
    </div>

    <!-- Cookie Consent Banner -->
    <div class="cookie-banner" id="cookieBanner">
        <div class="cookie-content">
            <div class="cookie-text">
                <h3>Cookie Preferences</h3>
                <p>We use cookies to enhance your browsing experience, analyse site traffic, and personalise content. By clicking "Accept All", you consent to our use of cookies. You can manage your preferences at any time.</p>
            </div>
            <div class="cookie-actions">
                <button class="cookie-btn settings" id="cookieSettings">Manage Preferences</button>
                <button class="cookie-btn accept" id="cookieAccept">Accept All</button>
            </div>
        </div>
    </div>

    <!-- Privacy Preferences Modal -->
    <div class="privacy-modal" id="privacyModal">
        <div class="privacy-content">
            <div class="privacy-header">
                <h2>Privacy Preferences</h2>
                <p>Manage your cookie preferences</p>
            </div>
            
            <div class="cookie-categories">
                <div class="cookie-category">
                    <div class="category-header">
                        <h4>Strictly Necessary Cookies</h4>
                        <div class="toggle-switch">
                            <input type="checkbox" id="necessaryCookies" checked disabled>
                            <span class="slider"></span>
                        </div>
                    </div>
                    <p class="category-description">These cookies are essential for the website to function and cannot be switched off. They are usually only set in response to actions made by you such as setting your privacy preferences, logging in or filling in forms.</p>
                </div>
                
                <div class="cookie-category">
                    <div class="category-header">
                        <h4>Functional Cookies</h4>
                        <div class="toggle-switch">
                            <input type="checkbox" id="functionalCookies" checked>
                            <span class="slider"></span>
                        </div>
                    </div>
                    <p class="category-description">These cookies enable the website to provide enhanced functionality and personalisation. They may be set by us or by third party providers whose services we have added to our pages.</p>
                </div>
                
                <div class="cookie-category">
                    <div class="category-header">
                        <h4>Performance & Analytics Cookies</h4>
                        <div class="toggle-switch">
                            <input type="checkbox" id="analyticsCookies" checked>
                            <span class="slider"></span>
                        </div>
                    </div>
                    <p class="category-description">These cookies allow us to count visits and traffic sources so we can measure and improve the performance of our site. They help us to know which pages are the most and least popular and see how visitors move around the site.</p>
                </div>
            </div>
            
            <div style="text-align: center; margin-top: 30px;">
                <button class="cookie-btn accept" id="savePreferences">Save Preferences</button>
            </div>
        </div>
    </div>

    <!-- Collection Modals -->
    <div class="collection-modal" id="reimaginedModal">
        <div class="collection-content">
            <button class="close-collection">&times;</button>
            <div class="collection-header">
                <h2>The Reimagined Series 2026</h2>
                <p>Ultra-Premium Wearable Art Collection</p>
            </div>
            <div class="collection-body">
                <p>The Reimagined Series represents the pinnacle of wearable art innovation, where artistic vision meets functional design. Each piece in this exclusive collection is a testament to meticulous craftsmanship and visionary execution.</p>
                
                <div class="collection-features">
                    <div class="collection-feature">
                        <h4>Artistic Integrity</h4>
                        <p>Every design undergoes a 47-step creative process ensuring unparalleled artistic quality and visual impact.</p>
                    </div>
                    <div class="collection-feature">
                        <h4>Premium Materials</h4>
                        <p>Archival-grade textiles with specialized printing techniques for luminosity and durability that transcends time.</p>
                    </div>
                    <div class="collection-feature">
                        <h4>Limited Edition</h4>
                        <p>Each design is produced in strictly limited quantities, ensuring exclusivity for qualified collectors.</p>
                    </div>
                </div>
                
                <p><strong>Strategic PR Perspective:</strong> This collection positions ARTEFACT Guild at the intersection of luxury fashion and contemporary art, creating a new category of "wearable collectibles" that appreciate in cultural value.</p>
                
                <p><strong>Exclusivity Protocol:</strong> Available only to verified ARTEFACT Guild members through direct invitation or qualification. Each purchase is recorded in our collector's registry, creating provenance for future generations.</p>
            </div>
        </div>
    </div>

    <div class="collection-modal" id="rawthreadsModal">
        <div class="collection-content">
            <button class="close-collection">&times;</button>
            <div class="collection-header">
                <h2>SPHICGGA RAW Threads</h2>
                <p>Subscriber-Exclusive Commission Program</p>
            </div>
            <div class="collection-body">
                <p>The RAW Threads program represents our most exclusive offering—a bespoke commission service available only to subscribed ARTEFACT Guild collectors meeting specific criteria.</p>
                
                <div class="collection-features">
                    <div class="collection-feature">
                        <h4>Complete Customization</h4>
                        <p>Every RAW Threads commission begins with a personal consultation to understand your specific requirements and aesthetic preferences.</p>
                    </div>
                    <div class="collection-feature">
                        <h4>Luxury Fabric Selection</h4>
                        <p>Choose from our curated selection of premium fabrics including Japanese selvage, Italian silk blends, and custom-dyed organic cottons.</p>
                    </div>
                    <div class="collection-feature">
                        <h4>Personal Measurements</h4>
                        <p>Our artisans take 27 precise measurements to ensure perfect fit and exceptional comfort.</p>
                    </div>
                </div>
                
                <p><strong>Strategic PR Perspective:</strong> RAW Threads establishes ARTEFACT Guild as a true luxury brand, operating at the intersection of haute couture and wearable art. Each commission becomes a story of collaboration between collector and artist.</p>
                
                <p><strong>Qualification Criteria:</strong> Available exclusively to collectors who have maintained an active subscription for minimum 12 months, with a proven history of supporting the arts. Commission requests are reviewed quarterly by our curation committee.</p>
                
                <p><strong>Lead Time:</strong> 6-8 weeks from commission approval to delivery, with regular progress updates from our studio.</p>
            </div>
        </div>
    </div>

    <div class="collection-modal" id="singletsModal">
        <div class="collection-content">
            <button class="close-collection">&times;</button>
            <div class="collection-header">
                <h2>Limited Edition Singlets</h2>
                <p>Festival-Performance Wearable Art</p>
            </div>
            <div class="collection-body">
                <p>Our Limited Edition Singlets collection combines artistic expression with practical performance wear, designed specifically for festival environments and active lifestyles.</p>
                
                <div class="collection-features">
                    <div class="collection-feature">
                        <h4>Performance Fabric</h4>
                        <p>Advanced moisture-wicking technology with UV protection, designed for all-day comfort in varying conditions.</p>
                    </div>
                    <div class="collection-feature">
                        <h4>Artistic Durability</h4>
                        <p>Specialized printing techniques ensure designs remain vibrant through multiple washes and extended wear.</p>
                    </div>
                    <div class="collection-feature">
                        <h4>Functional Design</h4>
                        <p>Strategic ventilation and ergonomic construction for maximum mobility and comfort during extended wear.</p>
                    </div>
                </div>
                
                <p><strong>Strategic PR Perspective:</strong> Positioned as the ultimate festival fashion statement, these singlets bridge the gap between artistic expression and functional performance wear. They represent accessible luxury within the wearable art category.</p>
                
                <p><strong>Festival Integration:</strong> Each design incorporates elements inspired by specific festival cultures and musical movements, creating wearable memorabilia of cultural significance.</p>
                
                <p><strong>Availability:</strong> Limited production runs of 500 pieces per design, with numbered certificates of authenticity included with each purchase.</p>
            </div>
        </div>
    </div>

    <div class="collection-modal" id="festivalModal">
        <div class="collection-content">
            <button class="close-collection">&times;</button>
            <div class="collection-header">
                <h2>Festival Exclusive Pieces</h2>
                <p>Event-Specific Collectible Artwear</p>
            </div>
            <div class="collection-body">
                <p>Our Festival Exclusive collection represents the pinnacle of event-specific wearable art, created to commemorate and celebrate specific cultural gatherings and artistic movements.</p>
                
                <div class="collection-features">
                    <div class="collection-feature">
                        <h4>Event Integration</h4>
                        <p>Each design is created specifically for a particular festival, incorporating its unique aesthetic, cultural references, and artistic direction.</p>
                    </div>
                    <div class="collection-feature">
                        <h4>Collector Value</h4>
                        <p>These pieces appreciate in value as cultural artifacts, with specific editions becoming highly sought-after by collectors.</p>
                    </div>
                    <div class="collection-feature">
                        <h4>Limited Availability</h4>
                        <p>Available exclusively during the festival dates, with remaining stock becoming archival pieces in our collection.</p>
                    </div>
                </div>
                
                <p><strong>Strategic PR Perspective:</strong> Festival Exclusives position ARTEFACT Guild as an integral part of cultural events, creating wearable history that documents and celebrates artistic movements. Each piece becomes a conversation starter and a piece of cultural documentation.</p>
                
                <p><strong>Cultural Significance:</strong> These collections are developed in collaboration with festival organizers and cultural curators, ensuring authentic representation of each event's unique character and artistic vision.</p>
                
                <p><strong>Future Value:</strong> Past festival exclusives have shown an average appreciation of 300% in collector value within three years of release.</p>
            </div>
        </div>
    </div>

    <div class="collection-modal" id="archiveModal">
        <div class="collection-content">
            <button class="close-collection">&times;</button>
            <div class="collection-header">
                <h2>Archive Collections</h2>
                <p>Historical Wearable Art Documentation</p>
            </div>
            <div class="collection-body">
                <p>The Archive Collections represent our historical wearable art documentation—past collections that have shaped the evolution of wearable art as a recognized artistic medium.</p>
                
                <div class="collection-features">
                    <div class="collection-feature">
                        <h4>Historical Significance</h4>
                        <p>Each archived collection represents a milestone in wearable art development and artistic innovation.</p>
                    </div>
                    <div class="collection-feature">
                        <h4>Collector Resources</h4>
                        <p>Complete documentation including design narratives, production details, and collector provenance for each piece.</p>
                    </div>
                    <div class="collection-feature">
                        <h4>Market Reference</h4>
                        <p>Historical pricing, availability data, and collector market performance metrics for research and investment purposes.</p>
                    </div>
                </div>
                
                <p><strong>Strategic PR Perspective:</strong> The Archive Collections establish ARTEFACT Guild's legacy and authority in the wearable art space. By documenting our history, we create context for current collections and demonstrate consistent artistic evolution and quality.</p>
                
                <p><strong>Educational Value:</strong> These archives serve as educational resources for collectors, students, and researchers interested in the development of wearable art as a serious artistic medium.</p>
                
                <p><strong>Access Protocol:</strong> Archive access is available to qualified researchers, serious collectors, and institutional partners by appointment. Digital archives are available to all ARTEFACT Guild members.</p>
            </div>
        </div>
    </div>

    <!-- Pre-sale Countdown Timer -->
    <div class="countdown-timer">
        <div class="countdown-container">
            <span class="countdown-text">FESTIVAL PRE-SALE ENDS IN:</span>
            <div class="countdown-item">
                <div class="countdown-value" id="days">00</div>
                <div class="countdown-label">DAYS</div>
            </div>
            <div class="countdown-item">
                <div class="countdown-value" id="hours">00</div>
                <div class="countdown-label">HOURS</div>
            </div>
            <div class="countdown-item">
                <div class="countdown-value" id="minutes">00</div>
                <div class="countdown-label">MINUTES</div>
            </div>
            <div class="countdown-item">
                <div class="countdown-value" id="seconds">00</div>
                <div class="countdown-label">SECONDS</div>
            </div>
        </div>
    </div>

    <!-- Navigation -->
    <nav>
        <div class="nav-brand">
            <img src="https://www.theartefactguild.com/images/theartefactguildlogo.png" 
                 alt="ARTEFACT Guild" class="artefact-logo">
        </div>
        <div class="nav-links">
            The Reimagined Series 2026 // Wearable Art Collection
            <span class="nav-designer">Design & Curation: Sidney Allo</span>
        </div>
    </nav>

    <!-- Floating Action Buttons -->
    <div class="fab-container">
        <div class="fab-buttons" id="fabButtons">
            <div class="fab-button" id="collectionsButton">
                <i class="fas fa-layer-group"></i>
                <div class="tooltip">Collections</div>
            </div>
            <div class="fab-button" id="privacyButton">
                <i class="fas fa-user-shield"></i>
                <div class="tooltip">Privacy</div>
            </div>
            <div class="fab-button" id="dyslexiaButton">
                <i class="fas fa-eye"></i>
                <div class="tooltip">Dyslexia Mode</div>
            </div>
            <div class="fab-button" id="contrastButton">
                <i class="fas fa-adjust"></i>
                <div class="tooltip">High Contrast</div>
            </div>
            <div class="fab-button" id="shareButton">
                <i class="fas fa-share-alt"></i>
                <div class="tooltip">Share</div>
            </div>
        </div>
        <div class="fab-main" id="fabMain">
            <i class="fas fa-plus plus"></i>
            <i class="fas fa-minus minus"></i>
        </div>
    </div>

    <!-- Shopping Bag Icon -->
    <div class="cart-icon" id="cartIcon">
        <i class="fas fa-shopping-bag"></i>
        <span class="cart-count" id="cartCount">0</span>
    </div>

    <!-- Hero Section -->
    <header class="hero">
        <p class="hero-pre">ARTEFACT Guild Presents</p>
        <h1 class="hero-title">The Reimagined Series</h1>
        <p class="hero-subtitle">An exclusive wearable art collection curated for distinguished connoisseurs and global collectors. Available exclusively through ARTEFACT Guild to qualified private collectors.</p>
        <div class="exclusive-badge">
            <i class="fas fa-crown"></i>
            ARTEFACT GUILD EXCLUSIVE
        </div>
    </header>

    <!-- Main Product Display -->
    <main class="showcase-container">
        <div class="section-intro">
            <h2>The 2026 Collection</h2>
            <p>Utilising high-end geometric mapping and reimagined artistic principles, this collection represents the pinnacle of wearable art innovation. Each piece is a testament to meticulous craftsmanship and visionary design by Sidney Allo.</p>
        </div>

        <!-- Design Selection -->
        <div class="design-selection">
            <div class="design-title">Select Design</div>
            <div class="design-options">
                <div class="design-option active" data-design="gilded">The Gilded Sovereign</div>
                <div class="design-option" data-design="split">The Sovereign Split</div>
                <div class="design-option" data-design="teal">The Legacy Teal</div>
            </div>
        </div>

        <!-- Product Display Area -->
        <div class="product-display">
            <!-- Image Viewport -->
            <div class="viewport-container" id="viewport">
                <img src="" alt="" class="zoomable-image" id="productImage">
                <div class="zoom-controls">
                    <button class="zoom-btn" data-action="zoom-in"><i class="fas fa-plus"></i></button>
                    <button class="zoom-btn" data-action="zoom-out"><i class="fas fa-minus"></i></button>
                    <button class="zoom-btn" data-action="reset"><i class="fas fa-sync-alt"></i></button>
                </div>
                <div class="like-container">
                    <div class="like-btn" id="likeBtn">
                        <i class="far fa-heart"></i>
                    </div>
                </div>
            </div>

            <!-- Product Options -->
            <div class="product-options">
                <!-- T-Shirt Type Selection -->
                <div class="shirt-type-selection">
                    <div class="shirt-type-title">
                        <i class="fas fa-tshirt"></i>
                        Select Apparel Type
                    </div>
                    <div class="shirt-type-options">
                        <div class="shirt-type-option active" data-type="premium">
                            <h5>Premium Standard</h5>
                            <p>High-quality cotton blend with specialised finishing</p>
                        </div>
                        <div class="shirt-type-option" data-type="singlet">
                            <h5>Singlet</h5>
                            <p>Premium singlet for festival wear</p>
                        </div>
                        <div class="shirt-type-option" data-type="raw">
                            <h5>RAW Threads</h5>
                            <p>Special commission requests enquiry</p>
                        </div>
                    </div>
                </div>

                <!-- Color Selection -->
                <div class="color-selection">
                    <div class="color-title">
                        <i class="fas fa-palette"></i>
                        Select Colour
                    </div>
                    <div class="color-options">
                        <div class="color-option active" data-color="white">
                            <div class="color-circle white"></div>
                            <div class="color-label">White</div>
                        </div>
                        <div class="color-option" data-color="black">
                            <div class="color-circle black"></div>
                            <div class="color-label">Black</div>
                        </div>
                    </div>
                </div>

                <!-- Size and Quantity Section -->
                <div class="size-quantity-section">
                    <!-- Size Selection -->
                    <div class="size-selection">
                        <div class="size-title">
                            <i class="fas fa-ruler"></i>
                            Select Size
                        </div>
                        <div class="size-options">
                            <div class="size-option active" data-size="S">S</div>
                            <div class="size-option" data-size="M">M</div>
                            <div class="size-option" data-size="L">L</div>
                            <div class="size-option" data-size="XL">XL</div>
                            <div class="size-option" data-size="2XL">2XL</div>
                            <div class="size-option" data-size="3XL">3XL</div>
                        </div>
                    </div>

                    <!-- Quantity Selection -->
                    <div class="quantity-selection">
                        <div class="quantity-title">
                            <i class="fas fa-calculator"></i>
                            Quantity
                        </div>
                        <div class="quantity-selector">
                            <button class="quantity-btn decrease" id="decreaseQty">-</button>
                            <div class="quantity-display" id="quantityDisplay">1</div>
                            <button class="quantity-btn increase" id="increaseQty">+</button>
                        </div>
                    </div>
                </div>

                <!-- Add to Collection Section -->
                <div class="add-to-collection-section">
                    <div class="price-display">
                        <span class="current-price" id="currentPrice">$75.00</span>
                        <span class="original-price" id="originalPrice">$150.00</span>
                        <div class="promotional-badge">
                            <i class="fas fa-gift"></i>
                            50% FESTIVAL PRE-SALE DISCOUNT
                        </div>
                        <div class="promotional-note">
                            <i class="fas fa-clock"></i>
                            Special pricing valid until 11 January 2026. Limited stock available at this exclusive rate.
                        </div>
                    </div>
                    <button class="add-to-collection-btn" id="addToCollection">
                        <i class="fas fa-plus-circle"></i> Add to Collection
                    </button>
                </div>
            </div>
        </div>

        <!-- Styling Recommendations -->
        <div class="styling-recommendations">
            <div class="recommendations-title">
                <i class="fas fa-star"></i>
                Styling Recommendations
            </div>
            <div class="recommendations-grid">
                <div class="recommendation-item">
                    <div class="recommendation-icon">
                        <i class="fas fa-male"></i>
                    </div>
                    <h4>For Him</h4>
                    <p>Pair with distressed denim and leather boots for a rugged festival look. Layer with a lightweight jacket for evening events.</p>
                </div>
                <div class="recommendation-item">
                    <div class="recommendation-icon">
                        <i class="fas fa-female"></i>
                    </div>
                    <h4>For Her</h4>
                    <p>Style with high-waisted shorts and statement jewellery. Add a wide-brim hat for sun protection with style.</p>
                </div>
                <div class="recommendation-item">
                    <div class="recommendation-icon">
                        <i class="fas fa-user-friends"></i>
                    </div>
                    <h4>Group Style</h4>
                    <p>Coordinate with friends in complementary colours. Mix and match designs for a cohesive group aesthetic.</p>
                </div>
                <div class="recommendation-item">
                    <div class="recommendation-icon">
                        <i class="fas fa-award"></i>
                    </div>
                    <h4>Most Popular</h4>
                    <p>The Gilded Sovereign in black is our bestseller. Customers love pairing it with metallic accessories.</p>
                </div>
            </div>
        </div>

        <!-- Delivery Options -->
        <div class="delivery-section">
            <div class="delivery-title">
                <i class="fas fa-shipping-fast"></i>
                Delivery Options
            </div>
            <div class="delivery-options">
                <div class="delivery-option festival active" data-delivery="festival">
                    <h5><i class="fas fa-calendar-alt"></i> Festival Pickup</h5>
                    <p>Pick up your order at the festival location</p>
                    <div class="festival-dates">
                        <i class="fas fa-calendar-day"></i> 07-11 January 2026
                    </div>
                    <div class="delivery-price">FREE</div>
                    <div class="delivery-note">Available only during festival dates</div>
                </div>
                <div class="delivery-option express" data-delivery="express">
                    <h5><i class="fas fa-bolt"></i> Express Delivery</h5>
                    <p>2-3 business days within Australia</p>
                    <div class="delivery-price">$15 + $2 per item</div>
                    <div class="delivery-note">Volume-based pricing</div>
                </div>
                <div class="delivery-option international" data-delivery="international">
                    <h5><i class="fas fa-globe"></i> International Shipping</h5>
                    <p>Standard International shipping</p>
                    <div class="delivery-price">$25 + $5 per item</div>
                    <div class="delivery-note">7-14 business days worldwide</div>
                </div>
                <div class="delivery-option dhl" data-delivery="dhl">
                    <h5><i class="fas fa-shipping-fast"></i> DHL Express</h5>
                    <p>DHL Express International</p>
                    <div class="delivery-price">$35 + $8 per item</div>
                    <div class="delivery-note">3-5 business days worldwide</div>
                </div>
            </div>
        </div>
    </main>

    <!-- Shopping Cart -->
    <div class="cart-container" id="cartContainer">
        <div class="cart-header">
            <h3>Your Collection</h3>
            <button class="close-cart" id="closeCart">&times;</button>
        </div>
        <div class="cart-items" id="cartItems">
            <!-- Cart items will be dynamically inserted -->
        </div>
        <div class="cart-subtotal">
            <span>Subtotal:</span>
            <span id="cartSubtotal">$0.00</span>
        </div>
        <div class="cart-subtotal">
            <span>Delivery:</span>
            <span id="cartDelivery">$0.00</span>
        </div>
        <div class="cart-total">
            <span>Total:</span>
            <span id="cartTotal">$0.00</span>
        </div>
        <button class="checkout-btn" id="checkoutBtn">Proceed to Payment</button>
    </div>

    <!-- Payment Modal -->
    <div class="payment-modal" id="paymentModal">
        <div class="payment-content">
            <div class="payment-header">
                <h2>Complete Your Payment</h2>
                <p>Select your preferred payment method</p>
            </div>
            
            <div class="payment-methods">
                <div class="payment-method active" data-method="card">
                    <i class="fas fa-credit-card payment-icon"></i>
                    <span class="payment-name">Card</span>
                </div>
                <div class="payment-method" data-method="paypal">
                    <i class="fab fa-paypal payment-icon"></i>
                    <span class="payment-name">PayPal</span>
                </div>
                <div class="payment-method" data-method="afterpay">
                    <i class="fas fa-shopping-cart payment-icon"></i>
                    <span class="payment-name">Afterpay</span>
                </div>
                <div class="payment-method" data-method="bank">
                    <i class="fas fa-university payment-icon"></i>
                    <span class="payment-name">Bank Transfer</span>
                </div>
            </div>
            
            <!-- Card Payment Form -->
            <div class="payment-details" id="cardDetails">
                <div class="form-group">
                    <label for="cardName">Name on Card</label>
                    <input type="text" id="cardName" required>
                </div>
                
                <div class="form-group">
                    <label for="cardNumber">Card Number</label>
                    <input type="text" id="cardNumber" placeholder="1234 5678 9012 3456" required>
                </div>
                
                <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 15px;">
                    <div class="form-group">
                        <label for="cardExpiry">Expiry Date</label>
                        <input type="text" id="cardExpiry" placeholder="MM/YY" required>
                    </div>
                    
                    <div class="form-group">
                        <label for="cardCVC">CVC</label>
                        <input type="text" id="cardCVC" placeholder="123" required>
                    </div>
                </div>
                
                <button type="submit" class="submit-payment" id="submitCardPayment">Pay Now</button>
            </div>
            
            <!-- Bank Transfer Details -->
            <div class="payment-details" id="bankDetails">
                <div class="form-group">
                    <label>Bank Transfer Instructions</label>
                    <div style="background: rgba(255,255,255,0.05); padding: 15px; border-radius: 4px; margin-top: 10px;">
                        <p><strong>Bank:</strong> Commonwealth Bank</p>
                        <p><strong>Account Name:</strong> ARTEFACT Guild Pty Ltd</p>
                        <p><strong>BSB:</strong> 063-123</p>
                        <p><strong>Account Number:</strong> 1234 5678</p>
                        <p><strong>Reference:</strong> <span id="bankReference"></span></p>
                    </div>
                    <p style="margin-top: 15px; font-size: 0.9rem; color: var(--text-gray);">
                        Please use the reference above when making your transfer. Your order will be processed once payment is received.
                    </p>
                </div>
                
                <button type="button" class="submit-payment" id="confirmBankTransfer">Confirm Bank Transfer</button>
            </div>
            
            <!-- Order Summary -->
            <div style="background: rgba(21, 21, 21, 0.7); padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid rgba(197, 160, 89, 0.1);" id="paymentSummary">
                <!-- Order summary will be dynamically inserted -->
            </div>
            
            <!-- Order Confirmation -->
            <div class="order-confirmation" id="orderConfirmation">
                <div class="confirmation-icon">
                    <i class="fas fa-check-circle"></i>
                </div>
                <div class="confirmation-message">
                    <h3>Order Confirmed!</h3>
                    <p>Thank you for your purchase. Your order has been received and is being processed.</p>
                    <div class="order-number" id="orderNumber"></div>
                    <p>A confirmation email has been sent to your email address.</p>
                </div>
                <button class="submit-payment" id="closePayment">Continue Shopping</button>
            </div>
        </div>
    </div>

    <!-- Share Modal -->
    <div class="share-modal" id="shareModal">
        <div class="share-content">
            <button class="close-share-top">&times;</button>
            <h3>Share This Collection</h3>
            <div class="share-platforms">
                <div class="share-platform whatsapp" data-platform="whatsapp">
                    <i class="fab fa-whatsapp"></i>
                    <span>WhatsApp</span>
                </div>
                <div class="share-platform facebook" data-platform="facebook">
                    <i class="fab fa-facebook-f"></i>
                    <span>Facebook</span>
                </div>
                <div class="share-platform instagram" data-platform="instagram">
                    <i class="fab fa-instagram"></i>
                    <span>Instagram</span>
                </div>
                <div class="share-platform email" data-platform="email">
                    <i class="fas fa-envelope"></i>
                    <span>Email</span>
                </div>
                <div class="share-platform sms" data-platform="sms">
                    <i class="fas fa-comment-alt"></i>
                    <span>Text</span>
                </div>
                <div class="share-platform pinterest" data-platform="pinterest">
                    <i class="fab fa-pinterest-p"></i>
                    <span>Pinterest</span>
                </div>
                <div class="share-platform linkedin" data-platform="linkedin">
                    <i class="fab fa-linkedin-in"></i>
                    <span>LinkedIn</span>
                </div>
                <div class="share-platform reddit" data-platform="reddit">
                    <i class="fab fa-reddit-alien"></i>
                    <span>Reddit</span>
                </div>
                <div class="share-platform youtube" data-platform="youtube">
                    <i class="fab fa-youtube"></i>
                    <span>YouTube</span>
                </div>
            </div>
            <p style="margin-top: 20px; color: var(--text-gray);">Or copy the link:</p>
            <div style="background: rgba(255,255,255,0.05); padding: 15px; border-radius: 6px; margin: 20px 0; font-size: 0.9rem; word-break: break-all; cursor: pointer;" id="shareUrl">
                https://www.theartefactguild.com/collections/reimagined-2026
            </div>
            <div style="color: var(--success-green); font-size: 0.9rem; margin-top: 10px; display: none;" id="copySuccess">
                <i class="fas fa-check"></i> Link copied to clipboard!
            </div>
            <button class="submit-payment" id="closeShare" style="margin-top: 20px;">Close</button>
        </div>
    </div>

    <!-- Footer -->
    <footer>
        <div class="footer-grid">
            <div class="footer-col">
                <h4>ARTEFACT Guild</h4>
                <p>Exclusive direct-to-collector platform for wearable art. All collections are curated, merchandised and distributed exclusively through ARTEFACT Guild to qualified private collectors.</p>
                <p>Visit: <a href="https://www.theartefactguild.com" target="_blank">www.theartefactguild.com</a></p>
                <div class="social-links">
                    <a href="https://instagram.com/theartefactguild" target="_blank" aria-label="Instagram"><i class="fab fa-instagram"></i></a>
                    <a href="https://facebook.com/theartefactguild" target="_blank" aria-label="Facebook"><i class="fab fa-facebook-f"></i></a>
                    <a href="https://linkedin.com/company/allosbt" target="_blank" aria-label="LinkedIn"><i class="fab fa-linkedin-in"></i></a>
                </div>
            </div>
            
            <div class="footer-col">
                <h4>Collections</h4>
                <a href="#" class="collection-link" data-collection="reimagined">The Reimagined Series 2026</a>
                <a href="#" class="collection-link" data-collection="rawthreads">SPHICGGA RAW Threads (Subscribers Only)</a>
                <a href="#" class="collection-link" data-collection="singlets">Limited Edition Singlets</a>
                <a href="#" class="collection-link" data-collection="festival">Festival Exclusive Pieces</a>
                <a href="#" class="collection-link" data-collection="archive">Archive Collections</a>
            </div>
            
            <div class="footer-col">
                <h4>Information</h4>
                <p><strong>Festival Dates:</strong> 07-11 January 2026</p>
                <p><strong>Design & Curation:</strong> Sidney Allo</p>
                <p><strong>Platform:</strong> ARTEFACT Guild Exclusive</p>
                <p><strong>Contact:</strong> <a href="mailto:collectors@theartefactguild.com">collectors@theartefactguild.com</a></p>
                <p><strong>For Trade & B2B:</strong> <a href="mailto:studio@theblueprintlab.com">studio@theblueprintlab.com</a></p>
            </div>
            
            <div class="footer-col">
                <h4>Collector Services</h4>
                <p><strong>Authentication:</strong> All pieces include numbered certificates of authenticity</p>
                <p><strong>Provenance Registry:</strong> Permanent record of ownership and history</p>
                <p><strong>Resale Advisory:</strong> Guidance on collector market positioning</p>
                <p><strong>Storage & Preservation:</strong> Archival-grade storage solutions available</p>
            </div>
        </div>
        
        <div class="footer-bottom">
            <p>&copy; 2026 The ARTEFACT Guild. All rights reserved. All artworks, designs, and concepts are intellectual property of The ARTEFACT Guild and Sidney Allo.</p>
            <p>This collection is distributed exclusively through ARTEFACT Guild to qualified private collectors. SPHICGGA RAW Threads available only to subscribed collectors meeting specified criteria.</p>
            <p>Festival pre-sale pricing available only during the festival pre-sale period (until 11 January 2026). Limited stock available at promotional rates.</p>
        </div>
    </footer>

    <!-- Blueprint LAB Attribution -->
    <div class="blueprint-attribution">
        <img src="https://www.studio.theblueprintlab.com/filesandimages_files/tbpllogo.jpeg" 
             alt="The BluePrint LAB" class="logo">
        <p>Powered by The BluePrint LAB<br>Innovation Studio & Strategic Creative Partner</p>
    </div>

    <!-- Notification -->
    <div class="notification" id="notification"></div>

    <script>
    // ==============================================
    // APPLICATION STATE AND CONFIGURATION
    // ==============================================
    
    // Product Data
    const products = {
        gilded: {
            id: "26.2",
            title: "The Gilded Sovereign",
            description: "Royal gold filigree design on premium archival textile. Metallic elements are rendered through specialised printing techniques to create luminosity.",
            sku: "REF: PEF.REIMAGINED.26.2",
            images: {
                premium: {
                    white: "https://www.theblueprintlab.com/wearable-art/tribute/elvis-parkes-2026/images/PEFBlank.1%20T.26.2.png",
                    black: "https://www.theblueprintlab.com/wearable-art/tribute/elvis-parkes-2026/images/PEFBlank.1%20BT.26.2.png"
                },
                singlet: {
                    white: "https://www.theblueprintlab.com/wearable-art/tribute/elvis-parkes-2026/images/PEFBlank.1%20WS.26.2.png",
                    black: "https://www.theblueprintlab.com/wearable-art/tribute/elvis-parkes-2026/images/PEFBlank.1%20BS.26.2.png"
                },
                raw: {
                    white: "https://www.theblueprintlab.com/wearable-art/tribute/elvis-parkes-2026/images/PEFBlank.1%20T.26.2_raw.png",
                    black: "https://www.theblueprintlab.com/wearable-art/tribute/elvis-parkes-2026/images/PEFBlank.1%20T.26.2_raw_black.png"
                }
            },
            pricing: {
                premium: { original: 150, festival: 75 },
                singlet: { original: 100, festival: 50 },
                raw: { price: 250 }
            }
        },
        split: {
            id: "26.3",
            title: "The Sovereign Split",
            description: "Dual-tone geometric abstraction of the iconic profile. This design explores chromatic division while maintaining recognisable form.",
            sku: "REF: PEF.REIMAGINED.26.3",
            images: {
                premium: {
                    white: "https://www.theblueprintlab.com/wearable-art/tribute/elvis-parkes-2026/images/PEFBlank.1%20T.26.3.png",
                    black: "https://www.theblueprintlab.com/wearable-art/tribute/elvis-parkes-2026/images/PEFBlank.1%20BT.26.3.png"
                },
                singlet: {
                    white: "https://www.theblueprintlab.com/wearable-art/tribute/elvis-parkes-2026/images/PEFBlank.1%20WS.26.3.png",
                    black: "https://www.theblueprintlab.com/wearable-art/tribute/elvis-parkes-2026/images/PEFBlank.1%20BS.26.3.png"
                },
                raw: {
                    white: "https://www.theblueprintlab.com/wearable-art/tribute/elvis-parkes-2026/images/PEFBlank.1%20T.26.3_raw.png",
                    black: "https://www.theblueprintlab.com/wearable-art/tribute/elvis-parkes-2026/images/PEFBlank.1%20T.26.3_raw_black.png"
                }
            },
            pricing: {
                premium: { original: 150, festival: 75 },
                singlet: { original: 100, festival: 50 },
                raw: { price: 250 }
            }
        },
        teal: {
            id: "26.6",
            title: "The Legacy Teal",
            description: "Classic festival heritage palette reimagined for 2026. A contemporary interpretation of traditional colour schemes with geometric refinement.",
            sku: "REF: PEF.REIMAGINED.26.6",
            images: {
                premium: {
                    white: "https://www.theblueprintlab.com/wearable-art/tribute/elvis-parkes-2026/images/PEFBlank.1%20T.26.6.png",
                    black: "https://www.theblueprintlab.com/wearable-art/tribute/elvis-parkes-2026/images/PEFBlank.1%20BT.26.2.png"
                },
                singlet: {
                    white: "https://www.theblueprintlab.com/wearable-art/tribute/elvis-parkes-2026/images/PEFBlank.1%20WS.26.6.png",
                    black: "https://www.theblueprintlab.com/wearable-art/tribute/elvis-parkes-2026/images/PEFBlank.1%20BS.26.6.png"
                },
                raw: {
                    white: "https://www.theblueprintlab.com/wearable-art/tribute/elvis-parkes-2026/images/PEFBlank.1%20T.26.6_raw.png",
                    black: "https://www.theblueprintlab.com/wearable-art/tribute/elvis-parkes-2026/images/PEFBlank.1%20T.26.6_raw_black.png"
                }
            },
            pricing: {
                premium: { original: 150, festival: 75 },
                singlet: { original: 100, festival: 50 },
                raw: { price: 250 }
            }
        }
    };

    // Application State
    let state = {
        // User selections
        currentDesign: 'gilded',
        shirtType: 'premium',
        color: 'white',
        size: 'M',
        quantity: 1,
        delivery: 'festival',
        
        // Shopping cart
        cart: [],
        
        // Favourites
        favourites: [],
        
        // UI state
        liked: false,
        zoom: {
            scale: 1,
            x: 0,
            y: 0,
            isDragging: false,
            lastX: 0,
            lastY: 0,
            lastTouchDistance: 0
        },
        
        // Settings
        cookiesAccepted: false,
        dyslexiaMode: false,
        highContrast: false
    };

    // ==============================================
    // INITIALIZATION
    // ==============================================
    
    document.addEventListener('DOMContentLoaded', function() {
        // Initialize countdown timer
        initializeCountdown();
        
        // Load saved preferences and data
        loadPreferences();
        loadFavourites();
        loadCart();
        
        // Initialize product display
        updateProductDisplay();
        
        // Initialize shopping cart
        updateCartUI();
        
        // Setup event listeners
        setupEventListeners();
        
        // Initialize zoom functionality
        initializeZoom();
        
        // Preload images
        preloadImages();
        
        // Show cookie banner if needed
        setTimeout(() => {
            if (!state.cookiesAccepted) {
                document.getElementById('cookieBanner').classList.add('active');
            }
        }, 1000);
        
        // Hide loading indicator
        setTimeout(() => {
            document.getElementById('loadingIndicator').classList.add('hidden');
        }, 500);
    });

    // ==============================================
    // CORE FUNCTIONS
    // ==============================================
    
    function initializeCountdown() {
        const festivalStart = new Date('2026-01-07T09:00:00');
        
        function update() {
            const now = new Date();
            const diff = festivalStart - now;
            
            if (diff <= 0) {
                document.querySelector('.countdown-timer').innerHTML = 
                    '<div class="countdown-container"><span>FESTIVAL IN PROGRESS</span></div>';
                return;
            }
            
            const days = Math.floor(diff / (1000 * 60 * 60 * 24));
            const hours = Math.floor((diff % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
            const minutes = Math.floor((diff % (1000 * 60 * 60)) / (1000 * 60));
            const seconds = Math.floor((diff % (1000 * 60)) / 1000);
            
            document.getElementById('days').textContent = days.toString().padStart(2, '0');
            document.getElementById('hours').textContent = hours.toString().padStart(2, '0');
            document.getElementById('minutes').textContent = minutes.toString().padStart(2, '0');
            document.getElementById('seconds').textContent = seconds.toString().padStart(2, '0');
        }
        
        update();
        setInterval(update, 1000);
    }
    
    function loadPreferences() {
        const saved = localStorage.getItem('artefactPreferences');
        if (saved) {
            const preferences = JSON.parse(saved);
            state = { ...state, ...preferences };
            
            // Apply visual preferences
            if (state.dyslexiaMode) {
                document.body.classList.add('dyslexia-mode');
            }
            if (state.highContrast) {
                document.body.classList.add('high-contrast');
            }
        }
    }
    
    function loadFavourites() {
        const saved = localStorage.getItem('artefactFavourites');
        if (saved) {
            state.favourites = JSON.parse(saved);
            // Check if current product is favourited
            updateLikeButtonState();
        }
    }
    
    function loadCart() {
        const saved = localStorage.getItem('artefactCart');
        if (saved) {
            state.cart = JSON.parse(saved);
        }
    }
    
    function savePreferences() {
        const preferences = {
            currentDesign: state.currentDesign,
            shirtType: state.shirtType,
            color: state.color,
            size: state.size,
            delivery: state.delivery,
            dyslexiaMode: state.dyslexiaMode,
            highContrast: state.highContrast,
            cookiesAccepted: state.cookiesAccepted
        };
        localStorage.setItem('artefactPreferences', JSON.stringify(preferences));
    }
    
    function saveFavourites() {
        localStorage.setItem('artefactFavourites', JSON.stringify(state.favourites));
    }
    
    function saveCart() {
        localStorage.setItem('artefactCart', JSON.stringify(state.cart));
    }
    
    function updateProductDisplay() {
        const product = products[state.currentDesign];
        const imageUrl = product.images[state.shirtType][state.color];
        
        // Update image
        const productImage = document.getElementById('productImage');
        productImage.src = imageUrl;
        productImage.alt = `${product.title} - ${state.shirtType} - ${state.color}`;
        
        // Update price display
        updatePriceDisplay();
        
        // Update raw threads commission message
        if (state.shirtType === 'raw') {
            showRawThreadsMessage();
        } else {
            hideRawThreadsMessage();
        }
        
        // Reset zoom
        resetZoom();
        
        // Update like button state
        updateLikeButtonState();
    }
    
    function updateLikeButtonState() {
        const likeBtn = document.getElementById('likeBtn');
        const icon = likeBtn.querySelector('i');
        const currentProduct = getCurrentProductIdentifier();
        
        const isFavourited = state.favourites.some(fav => 
            fav.design === state.currentDesign &&
            fav.shirtType === state.shirtType &&
            fav.color === state.color
        );
        
        state.liked = isFavourited;
        
        if (isFavourited) {
            likeBtn.classList.add('liked');
            icon.className = 'fas fa-heart';
        } else {
            likeBtn.classList.remove('liked');
            icon.className = 'far fa-heart';
        }
    }
    
    function getCurrentProductIdentifier() {
        return `${state.currentDesign}-${state.shirtType}-${state.color}`;
    }
    
    function updatePriceDisplay() {
        const product = products[state.currentDesign];
        const pricing = product.pricing[state.shirtType];
        
        const currentPrice = document.getElementById('currentPrice');
        const originalPrice = document.getElementById('originalPrice');
        
        if (state.shirtType === 'raw') {
            currentPrice.textContent = `$${pricing.price}.00`;
            originalPrice.style.display = 'none';
            document.querySelector('.promotional-badge').style.display = 'none';
            document.querySelector('.promotional-note').style.display = 'none';
        } else {
            currentPrice.textContent = `$${pricing.festival}.00`;
            originalPrice.textContent = `$${pricing.original}.00`;
            originalPrice.style.display = 'inline';
            document.querySelector('.promotional-badge').style.display = 'inline-flex';
            document.querySelector('.promotional-note').style.display = 'block';
            
            // Update promotional note based on countdown
            const festivalStart = new Date('2026-01-07T09:00:00');
            const now = new Date();
            const diff = festivalStart - now;
            const days = Math.floor(diff / (1000 * 60 * 60 * 24));
            
            if (days <= 7) {
                document.querySelector('.promotional-note').innerHTML = 
                    `<i class="fas fa-clock"></i> Only ${days} days remaining at this exclusive festival pre-sale price. Limited stock available.`;
            }
        }
    }
    
    function showRawThreadsMessage() {
        const viewport = document.getElementById('viewport');
        if (!viewport.querySelector('.raw-threads-message')) {
            const message = document.createElement('div');
            message.className = 'raw-threads-message';
            message.innerHTML = `
                <div style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(10,10,10,0.95); display: flex; align-items: center; justify-content: center; padding: 40px; z-index: 10;">
                    <div style="text-align: center; max-width: 400px;">
                        <h3 style="color: var(--luxury-gold); margin-bottom: 20px;">Special Commission Required</h3>
                        <p style="margin-bottom: 15px; line-height: 1.6;">RAW Threads items are available exclusively by special commission for subscribed ARTEFACT Guild collectors.</p>
                        <p style="margin-bottom: 20px; line-height: 1.6;">This premium luxury fabric requires custom measurement and personal consultation.</p>
                        <button class="enquire-btn" id="enquireCommission" style="background: var(--luxury-gold); color: var(--portal-black); border: none; padding: 12px 30px; font-weight: 600; cursor: pointer; transition: var(--transition);">Request Commission Enquiry</button>
                    </div>
                </div>
            `;
            viewport.appendChild(message);
            
            // Add event listener for enquiry button
            setTimeout(() => {
                const btn = document.getElementById('enquireCommission');
                if (btn) {
                    btn.addEventListener('click', () => {
                        const subject = `RAW Threads Commission Enquiry - ${products[state.currentDesign].title}`;
                        const body = `I am interested in a special commission for ${products[state.currentDesign].title} (${state.color}, ${state.size})`;
                        window.location.href = `mailto:collectors@theartefactguild.com?subject=${encodeURIComponent(subject)}&body=${encodeURIComponent(body)}`;
                    });
                }
            }, 100);
        }
        
        // Hide image
        document.getElementById('productImage').style.opacity = '0';
    }
    
    function hideRawThreadsMessage() {
        const viewport = document.getElementById('viewport');
        const message = viewport.querySelector('.raw-threads-message');
        if (message) {
            message.remove();
        }
        document.getElementById('productImage').style.opacity = '1';
    }
    
    // ==============================================
    // ZOOM FUNCTIONALITY (Enhanced for Mobile)
    // ==============================================
    
    function initializeZoom() {
        const viewport = document.getElementById('viewport');
        const image = document.getElementById('productImage');
        
        // Mouse events
        viewport.addEventListener('mousedown', startDrag);
        viewport.addEventListener('mousemove', drag);
        viewport.addEventListener('mouseup', endDrag);
        viewport.addEventListener('mouseleave', endDrag);
        
        // Touch events with pinch zoom support
        viewport.addEventListener('touchstart', handleTouchStart, { passive: false });
        viewport.addEventListener('touchmove', handleTouchMove, { passive: false });
        viewport.addEventListener('touchend', handleTouchEnd);
        
        // Wheel event
        viewport.addEventListener('wheel', handleWheel, { passive: false });
        
        // Zoom buttons
        document.querySelectorAll('.zoom-btn').forEach(btn => {
            btn.addEventListener('click', function() {
                const action = this.getAttribute('data-action');
                handleZoomAction(action);
            });
        });
        
        function startDrag(e) {
            state.zoom.isDragging = true;
            viewport.classList.add('dragging');
            state.zoom.lastX = e.clientX || e.touches[0].clientX;
            state.zoom.lastY = e.clientY || e.touches[0].clientY;
            e.preventDefault();
        }
        
        function drag(e) {
            if (!state.zoom.isDragging) return;
            
            const currentX = e.clientX || e.touches[0].clientX;
            const currentY = e.clientY || e.touches[0].clientY;
            
            const deltaX = currentX - state.zoom.lastX;
            const deltaY = currentY - state.zoom.lastY;
            
            state.zoom.x += deltaX;
            state.zoom.y += deltaY;
            
            state.zoom.lastX = currentX;
            state.zoom.lastY = currentY;
            
            applyTransform();
            e.preventDefault();
        }
        
        function endDrag() {
            state.zoom.isDragging = false;
            viewport.classList.remove('dragging');
        }
        
        function handleTouchStart(e) {
            if (e.touches.length === 1) {
                startDrag(e);
            } else if (e.touches.length === 2) {
                // Pinch zoom start
                const touch1 = e.touches[0];
                const touch2 = e.touches[1];
                state.zoom.lastTouchDistance = Math.hypot(
                    touch2.clientX - touch1.clientX,
                    touch2.clientY - touch1.clientY
                );
                e.preventDefault();
            }
        }
        
        function handleTouchMove(e) {
            if (e.touches.length === 1 && state.zoom.isDragging) {
                drag(e);
            } else if (e.touches.length === 2) {
                // Pinch zoom
                const touch1 = e.touches[0];
                const touch2 = e.touches[1];
                const currentDistance = Math.hypot(
                    touch2.clientX - touch1.clientX,
                    touch2.clientY - touch1.clientY
                );
                
                if (state.zoom.lastTouchDistance > 0) {
                    const delta = (currentDistance - state.zoom.lastTouchDistance) * 0.01;
                    state.zoom.scale = Math.max(0.5, Math.min(5, state.zoom.scale + delta));
                    applyTransform();
                }
                
                state.zoom.lastTouchDistance = currentDistance;
                e.preventDefault();
            }
        }
        
        function handleTouchEnd(e) {
            if (e.touches.length === 0) {
                endDrag();
                state.zoom.lastTouchDistance = 0;
            }
        }
        
        function handleWheel(e) {
            e.preventDefault();
            const delta = e.deltaY > 0 ? -0.1 : 0.1;
            state.zoom.scale = Math.max(0.5, Math.min(5, state.zoom.scale + delta));
            
            // Adjust pan to zoom toward cursor
            const rect = viewport.getBoundingClientRect();
            const x = e.clientX - rect.left;
            const y = e.clientY - rect.top;
            
            state.zoom.x -= (x - rect.width / 2) * delta * 0.5;
            state.zoom.y -= (y - rect.height / 2) * delta * 0.5;
            
            applyTransform();
        }
        
        function handleZoomAction(action) {
            switch(action) {
                case 'zoom-in':
                    state.zoom.scale = Math.min(state.zoom.scale + 0.5, 5);
                    break;
                case 'zoom-out':
                    state.zoom.scale = Math.max(state.zoom.scale - 0.5, 0.5);
                    break;
                case 'reset':
                    state.zoom.scale = 1;
                    state.zoom.x = 0;
                    state.zoom.y = 0;
                    break;
            }
            applyTransform();
        }
        
        function applyTransform() {
            image.style.transform = `translate(${state.zoom.x}px, ${state.zoom.y}px) scale(${state.zoom.scale})`;
        }
    }
    
    function resetZoom() {
        state.zoom.scale = 1;
        state.zoom.x = 0;
        state.zoom.y = 0;
        document.getElementById('productImage').style.transform = 'translate(0px, 0px) scale(1)';
    }
    
    // ==============================================
    // FAVOURITES FUNCTIONALITY
    // ==============================================
    
    function toggleFavourite() {
        const product = products[state.currentDesign];
        const favourite = {
            design: state.currentDesign,
            shirtType: state.shirtType,
            color: state.color,
            title: product.title,
            timestamp: new Date().toISOString()
        };
        
        const existingIndex = state.favourites.findIndex(fav => 
            fav.design === favourite.design &&
            fav.shirtType === favourite.shirtType &&
            fav.color === favourite.color
        );
        
        if (existingIndex > -1) {
            // Remove from favourites
            state.favourites.splice(existingIndex, 1);
            state.liked = false;
            showNotification('Removed from favourites');
        } else {
            // Add to favourites
            state.favourites.push(favourite);
            state.liked = true;
            showNotification('Added to favourites');
        }
        
        // Update UI
        updateLikeButtonState();
        
        // Save to localStorage
        saveFavourites();
    }
    
    // ==============================================
    // SHOPPING CART FUNCTIONALITY
    // ==============================================
    
    function addToCart() {
        const product = products[state.currentDesign];
        
        // Check if RAW Threads (requires commission)
        if (state.shirtType === 'raw') {
            showNotification('RAW Threads require a special commission. Please use the enquiry button.');
            return;
        }
        
        // Create cart item
        const item = {
            id: Date.now(),
            design: state.currentDesign,
            title: product.title,
            shirtType: state.shirtType,
            color: state.color,
            size: state.size,
            quantity: state.quantity,
            price: getCurrentPrice(),
            delivery: state.delivery
        };
        
        // Check if similar item exists
        const existingIndex = state.cart.findIndex(cartItem => 
            cartItem.design === item.design &&
            cartItem.shirtType === item.shirtType &&
            cartItem.color === item.color &&
            cartItem.size === item.size &&
            cartItem.delivery === item.delivery
        );
        
        if (existingIndex > -1) {
            // Update quantity of existing item
            state.cart[existingIndex].quantity += item.quantity;
        } else {
            // Add new item
            state.cart.push(item);
        }
        
        // Update UI
        updateCartUI();
        showNotification(`${product.title} added to collection`);
        
        // Reset quantity
        state.quantity = 1;
        document.getElementById('quantityDisplay').textContent = '1';
        
        // Save cart
        saveCart();
    }
    
    function removeFromCart(itemId) {
        state.cart = state.cart.filter(item => item.id !== itemId);
        updateCartUI();
        showNotification('Item removed from collection');
        saveCart();
    }
    
    function updateCartItem(itemId, updates) {
        const itemIndex = state.cart.findIndex(item => item.id === itemId);
        if (itemIndex > -1) {
            state.cart[itemIndex] = { ...state.cart[itemIndex], ...updates };
            updateCartUI();
            showNotification('Item updated');
            saveCart();
        }
    }
    
    function updateCartUI() {
        const cartItems = document.getElementById('cartItems');
        const cartCount = document.getElementById('cartCount');
        const cartSubtotal = document.getElementById('cartSubtotal');
        const cartDelivery = document.getElementById('cartDelivery');
        const cartTotal = document.getElementById('cartTotal');
        const checkoutBtn = document.getElementById('checkoutBtn');
        
        // Clear current items
        cartItems.innerHTML = '';
        
        // Calculate totals
        let subtotal = 0;
        let itemCount = 0;
        
        // Add each cart item
        state.cart.forEach(item => {
            const itemTotal = item.price * item.quantity;
            subtotal += itemTotal;
            itemCount += item.quantity;
            
            const cartItem = document.createElement('div');
            cartItem.className = 'cart-item';
            cartItem.innerHTML = `
                <div class="cart-item-details">
                    <h4>${item.title}</h4>
                    <div class="cart-item-meta">
                        ${item.shirtType === 'premium' ? 'Premium Standard' : 
                          item.shirtType === 'singlet' ? 'Singlet' : 'RAW Threads'} | 
                        ${item.color} | Size: ${item.size} | Qty: ${item.quantity}
                    </div>
                    <div class="cart-item-actions">
                        <button class="edit-item" data-id="${item.id}">Edit</button>
                        <button class="remove-item" data-id="${item.id}">Remove</button>
                    </div>
                </div>
                <div class="cart-item-price">
                    $${itemTotal.toFixed(2)}
                </div>
            `;
            cartItems.appendChild(cartItem);
        });
        
        // Calculate delivery cost
        const deliveryCost = calculateDeliveryCost();
        const total = subtotal + deliveryCost;
        
        // Update display
        cartCount.textContent = itemCount;
        cartSubtotal.textContent = `$${subtotal.toFixed(2)}`;
        cartDelivery.textContent = `$${deliveryCost.toFixed(2)}`;
        cartTotal.textContent = `$${total.toFixed(2)}`;
        
        // Update checkout button
        checkoutBtn.disabled = state.cart.length === 0;
        checkoutBtn.textContent = state.cart.length === 0 ? 
            'Collection Empty' : 
            `Proceed to Payment - $${total.toFixed(2)}`;
    }
    
    function calculateDeliveryCost() {
        if (state.cart.length === 0) return 0;
        
        const deliveryOption = getDeliveryOption(state.delivery);
        const totalItems = state.cart.reduce((sum, item) => sum + item.quantity, 0);
        
        // Volume-based pricing
        return deliveryOption.basePrice + (deliveryOption.pricePerItem * (totalItems - 1));
    }
    
    function getDeliveryOption(type) {
        const options = {
            festival: { basePrice: 0, pricePerItem: 0 },
            express: { basePrice: 15, pricePerItem: 2 },
            international: { basePrice: 25, pricePerItem: 5 },
            dhl: { basePrice: 35, pricePerItem: 8 }
        };
        return options[type];
    }
    
    function getCurrentPrice() {
        const product = products[state.currentDesign];
        const pricing = product.pricing[state.shirtType];
        
        if (state.shirtType === 'raw') {
            return pricing.price;
        } else {
            return pricing.festival;
        }
    }
    
    // ==============================================
    // COLLECTION MODALS FUNCTIONALITY
    // ==============================================
    
    function openCollectionModal(collectionId) {
        const modal = document.getElementById(`${collectionId}Modal`);
        if (modal) {
            modal.classList.add('active');
            document.body.style.overflow = 'hidden';
        }
    }
    
    function closeCollectionModals() {
        document.querySelectorAll('.collection-modal').forEach(modal => {
            modal.classList.remove('active');
        });
        document.body.style.overflow = '';
    }
    
    // ==============================================
    // PAYMENT FUNCTIONALITY
    // ==============================================
    
    function processPayment() {
        if (state.cart.length === 0) return;
        
        // Calculate totals
        const subtotal = state.cart.reduce((sum, item) => sum + (item.price * item.quantity), 0);
        const deliveryCost = calculateDeliveryCost();
        const total = subtotal + deliveryCost;
        
        // Generate order number
        const orderNumber = `ART-${Date.now().toString().slice(-8)}`;
        
        // Show payment modal
        const modal = document.getElementById('paymentModal');
        modal.classList.add('active');
        document.body.style.overflow = 'hidden';
        
        // Update payment summary
        const summary = document.getElementById('paymentSummary');
        summary.innerHTML = `
            <h4 style="color: var(--luxury-gold); margin-bottom: 15px;">Order Summary</h4>
            ${state.cart.map(item => `
                <div style="display: flex; justify-content: space-between; padding: 8px 0; border-bottom: 1px solid rgba(255,255,255,0.05);">
                    <span>${item.title} (${item.shirtType}, ${item.color}, ${item.size}) x${item.quantity}</span>
                    <span>$${(item.price * item.quantity).toFixed(2)}</span>
                </div>
            `).join('')}
            <div style="display: flex; justify-content: space-between; padding: 8px 0; border-bottom: 1px solid rgba(255,255,255,0.05);">
                <span>Delivery (${state.delivery})</span>
                <span>$${deliveryCost.toFixed(2)}</span>
            </div>
            <div style="display: flex; justify-content: space-between; font-weight: 600; font-size: 1.2rem; padding-top: 15px; margin-top: 15px; border-top: 2px solid rgba(197, 160, 89, 0.3);">
                <span>Total</span>
                <span>$${total.toFixed(2)}</span>
            </div>
        `;
        
        // Set bank reference
        document.getElementById('bankReference').textContent = orderNumber;
    }
    
    function completeOrder(paymentMethod) {
        // Generate order number
        const orderNumber = `ART-${Date.now().toString().slice(-8)}`;
        
        // Show confirmation
        document.querySelectorAll('.payment-details').forEach(el => el.style.display = 'none');
        document.getElementById('paymentSummary').style.display = 'none';
        document.getElementById('orderConfirmation').classList.add('active');
        document.getElementById('orderNumber').textContent = orderNumber;
        
        // Clear cart
        state.cart = [];
        updateCartUI();
        localStorage.removeItem('artefactCart');
        
        // Show notification
        showNotification(`Order #${orderNumber} confirmed!`);
    }
    
    // ==============================================
    // SHARE FUNCTIONALITY
    // ==============================================
    
    function sharePage(platform) {
        const url = encodeURIComponent(window.location.href);
        const title = encodeURIComponent(document.title);
        const text = encodeURIComponent('Check out The Reimagined Series 2026 - exclusive wearable art collection');
        
        let shareUrl = '';
        
        switch(platform) {
            case 'whatsapp':
                shareUrl = `https://wa.me/?text=${text}%20${url}`;
                break;
            case 'facebook':
                shareUrl = `https://www.facebook.com/sharer/sharer.php?u=${url}`;
                break;
            case 'instagram':
                shareUrl = `https://instagram.com/theartefactguild`;
                break;
            case 'email':
                shareUrl = `mailto:?subject=${title}&body=${text}%0A%0A${url}`;
                break;
            case 'sms':
                shareUrl = `sms:?&body=${text}%20${url}`;
                break;
            case 'pinterest':
                shareUrl = `https://pinterest.com/pin/create/button/?url=${url}&description=${text}`;
                break;
            case 'linkedin':
                shareUrl = `https://www.linkedin.com/sharing/share-offsite/?url=${url}`;
                break;
            case 'reddit':
                shareUrl = `https://reddit.com/submit?url=${url}&title=${text}`;
                break;
            case 'youtube':
                shareUrl = `https://www.youtube.com`;
                break;
        }
        
        if (shareUrl) {
            window.open(shareUrl, '_blank');
        }
        
        showNotification(`Shared via ${platform}`);
    }
    
    function copyShareUrl() {
        const url = window.location.href;
        navigator.clipboard.writeText(url)
            .then(() => {
                const success = document.getElementById('copySuccess');
                success.style.display = 'block';
                setTimeout(() => {
                    success.style.display = 'none';
                }, 3000);
            })
            .catch(err => {
                console.error('Failed to copy:', err);
                // Fallback for older browsers
                const textArea = document.createElement('textarea');
                textArea.value = url;
                document.body.appendChild(textArea);
                textArea.select();
                document.execCommand('copy');
                document.body.removeChild(textArea);
                
                const success = document.getElementById('copySuccess');
                success.style.display = 'block';
                setTimeout(() => {
                    success.style.display = 'none';
                }, 3000);
            });
    }
    
    // ==============================================
    // ACCESSIBILITY & SETTINGS
    // ==============================================
    
    function toggleDyslexiaMode() {
        state.dyslexiaMode = !state.dyslexiaMode;
        document.body.classList.toggle('dyslexia-mode', state.dyslexiaMode);
        savePreferences();
        showNotification(state.dyslexiaMode ? 'Dyslexia mode enabled' : 'Dyslexia mode disabled');
    }
    
    function toggleHighContrast() {
        state.highContrast = !state.highContrast;
        document.body.classList.toggle('high-contrast', state.highContrast);
        savePreferences();
        showNotification(state.highContrast ? 'High contrast mode enabled' : 'High contrast mode disabled');
    }
    
    function acceptCookies() {
        state.cookiesAccepted = true;
        document.getElementById('cookieBanner').classList.remove('active');
        savePreferences();
        showNotification('Cookie preferences saved');
    }
    
    function saveCookiePreferences() {
        const functional = document.getElementById('functionalCookies').checked;
        const analytics = document.getElementById('analyticsCookies').checked;
        
        // Here you would typically send these preferences to your server
        console.log('Cookie preferences saved:', { functional, analytics });
        
        document.getElementById('privacyModal').classList.remove('active');
        showNotification('Cookie preferences updated');
        acceptCookies();
    }
    
    // ==============================================
    // UTILITY FUNCTIONS
    // ==============================================
    
    function showNotification(message) {
        const notification = document.getElementById('notification');
        notification.textContent = message;
        notification.classList.add('show');
        
        setTimeout(() => {
            notification.classList.remove('show');
        }, 3000);
    }
    
    function preloadImages() {
        // Preload critical images
        const images = [];
        Object.values(products).forEach(product => {
            Object.values(product.images).forEach(type => {
                Object.values(type).forEach(url => {
                    images.push(url);
                });
            });
        });
        
        images.forEach(url => {
            const img = new Image();
            img.src = url;
        });
    }
    
    // ==============================================
    // EVENT LISTENERS SETUP
    // ==============================================
    
    function setupEventListeners() {
        // Design selection
        document.querySelectorAll('.design-option').forEach(option => {
            option.addEventListener('click', function() {
                document.querySelectorAll('.design-option').forEach(o => o.classList.remove('active'));
                this.classList.add('active');
                state.currentDesign = this.getAttribute('data-design');
                updateProductDisplay();
                savePreferences();
            });
        });
        
        // Shirt type selection
        document.querySelectorAll('.shirt-type-option').forEach(option => {
            option.addEventListener('click', function() {
                document.querySelectorAll('.shirt-type-option').forEach(o => o.classList.remove('active'));
                this.classList.add('active');
                state.shirtType = this.getAttribute('data-type');
                updateProductDisplay();
                savePreferences();
            });
        });
        
        // Color selection
        document.querySelectorAll('.color-option').forEach(option => {
            option.addEventListener('click', function() {
                document.querySelectorAll('.color-option').forEach(o => o.classList.remove('active'));
                this.classList.add('active');
                state.color = this.getAttribute('data-color');
                updateProductDisplay();
                savePreferences();
            });
        });
        
        // Size selection
        document.querySelectorAll('.size-option').forEach(option => {
            option.addEventListener('click', function() {
                if (this.classList.contains('out-of-stock')) return;
                document.querySelectorAll('.size-option').forEach(o => o.classList.remove('active'));
                this.classList.add('active');
                state.size = this.getAttribute('data-size');
                savePreferences();
            });
        });
        
        // Delivery selection
        document.querySelectorAll('.delivery-option').forEach(option => {
            option.addEventListener('click', function() {
                document.querySelectorAll('.delivery-option').forEach(o => o.classList.remove('active'));
                this.classList.add('active');
                state.delivery = this.getAttribute('data-delivery');
                savePreferences();
            });
        });
        
        // Quantity buttons
        document.getElementById('decreaseQty').addEventListener('click', function() {
            if (state.quantity > 1) {
                state.quantity--;
                document.getElementById('quantityDisplay').textContent = state.quantity;
            }
        });
        
        document.getElementById('increaseQty').addEventListener('click', function() {
            state.quantity++;
            document.getElementById('quantityDisplay').textContent = state.quantity;
        });
        
        // Add to collection button
        document.getElementById('addToCollection').addEventListener('click', addToCart);
        
        // Like button (favourites)
        document.getElementById('likeBtn').addEventListener('click', toggleFavourite);
        
        // Cart icon
        document.getElementById('cartIcon').addEventListener('click', function() {
            document.getElementById('cartContainer').classList.add('active');
            document.body.style.overflow = 'hidden';
        });
        
        document.getElementById('closeCart').addEventListener('click', function() {
            document.getElementById('cartContainer').classList.remove('active');
            document.body.style.overflow = '';
        });
        
        // Cart item actions (delegated)
        document.getElementById('cartItems').addEventListener('click', function(e) {
            const editBtn = e.target.closest('.edit-item');
            const removeBtn = e.target.closest('.remove-item');
            
            if (editBtn) {
                const itemId = parseInt(editBtn.getAttribute('data-id'));
                const item = state.cart.find(item => item.id === itemId);
                if (item) {
                    // Load item into product display for editing
                    state.currentDesign = item.design;
                    state.shirtType = item.shirtType;
                    state.color = item.color;
                    state.size = item.size;
                    state.quantity = item.quantity;
                    
                    // Update UI
                    updateProductDisplay();
                    document.querySelectorAll('.design-option').forEach(o => o.classList.remove('active'));
                    document.querySelector(`[data-design="${item.design}"]`).classList.add('active');
                    
                    document.querySelectorAll('.shirt-type-option').forEach(o => o.classList.remove('active'));
                    document.querySelector(`[data-type="${item.shirtType}"]`).classList.add('active');
                    
                    document.querySelectorAll('.color-option').forEach(o => o.classList.remove('active'));
                    document.querySelector(`[data-color="${item.color}"]`).classList.add('active');
                    
                    document.querySelectorAll('.size-option').forEach(o => o.classList.remove('active'));
                    document.querySelector(`[data-size="${item.size}"]`).classList.add('active');
                    
                    document.getElementById('quantityDisplay').textContent = item.quantity;
                    
                    // Remove from cart
                    removeFromCart(itemId);
                    
                    showNotification('Item loaded for editing');
                }
            }
            
            if (removeBtn) {
                const itemId = parseInt(removeBtn.getAttribute('data-id'));
                removeFromCart(itemId);
            }
        });
        
        // Checkout button
        document.getElementById('checkoutBtn').addEventListener('click', processPayment);
        
        // Payment method selection
        document.querySelectorAll('.payment-method').forEach(method => {
            method.addEventListener('click', function() {
                document.querySelectorAll('.payment-method').forEach(m => m.classList.remove('active'));
                this.classList.add('active');
                
                const paymentType = this.getAttribute('data-method');
                
                // Hide all payment details
                document.querySelectorAll('.payment-details').forEach(el => el.style.display = 'none');
                
                // Show appropriate payment details
                if (paymentType === 'card') {
                    document.getElementById('cardDetails').style.display = 'block';
                } else if (paymentType === 'bank') {
                    document.getElementById('bankDetails').style.display = 'block';
                } else if (paymentType === 'paypal' || paymentType === 'afterpay') {
                    // Process immediately for these methods
                    completeOrder(paymentType);
                }
            });
        });
        
        // Card payment submission
        document.getElementById('submitCardPayment').addEventListener('click', function(e) {
            e.preventDefault();
            
            // Validate form
            const cardName = document.getElementById('cardName').value;
            const cardNumber = document.getElementById('cardNumber').value;
            const cardExpiry = document.getElementById('cardExpiry').value;
            const cardCVC = document.getElementById('cardCVC').value;
            
            if (!cardName || !cardNumber || !cardExpiry || !cardCVC) {
                showNotification('Please fill in all card details');
                return;
            }
            
            // Process payment
            completeOrder('card');
        });
        
        // Bank transfer confirmation
        document.getElementById('confirmBankTransfer').addEventListener('click', function() {
            completeOrder('bank');
        });
        
        // Close payment modal
        document.getElementById('closePayment').addEventListener('click', function() {
            document.getElementById('paymentModal').classList.remove('active');
            document.getElementById('orderConfirmation').classList.remove('active');
            document.querySelectorAll('.payment-details').forEach(el => el.style.display = 'none');
            document.getElementById('paymentSummary').style.display = 'block';
            document.querySelector('.payment-method[data-method="card"]').click();
            document.body.style.overflow = '';
        });
        
        // Floating Action Button
        document.getElementById('fabMain').addEventListener('click', function() {
            this.classList.toggle('active');
            document.getElementById('fabButtons').classList.toggle('active');
        });
        
        // FAB buttons
        document.getElementById('collectionsButton').addEventListener('click', function() {
            document.querySelector('footer').scrollIntoView({ behavior: 'smooth' });
        });
        
        document.getElementById('privacyButton').addEventListener('click', function() {
            document.getElementById('privacyModal').classList.add('active');
            document.body.style.overflow = 'hidden';
        });
        
        document.getElementById('dyslexiaButton').addEventListener('click', toggleDyslexiaMode);
        document.getElementById('contrastButton').addEventListener('click', toggleHighContrast);
        document.getElementById('shareButton').addEventListener('click', function() {
            document.getElementById('shareModal').classList.add('active');
            document.body.style.overflow = 'hidden';
        });
        
        // Share modal
        document.getElementById('closeShare').addEventListener('click', function() {
            document.getElementById('shareModal').classList.remove('active');
            document.body.style.overflow = '';
        });
        
        document.querySelector('.close-share-top').addEventListener('click', function() {
            document.getElementById('shareModal').classList.remove('active');
            document.body.style.overflow = '';
        });
        
        document.querySelectorAll('.share-platform').forEach(platform => {
            platform.addEventListener('click', function() {
                const platformType = this.getAttribute('data-platform');
                sharePage(platformType);
            });
        });
        
        document.getElementById('shareUrl').addEventListener('click', copyShareUrl);
        
        // Collection links in footer
        document.querySelectorAll('.collection-link').forEach(link => {
            link.addEventListener('click', function(e) {
                e.preventDefault();
                const collection = this.getAttribute('data-collection');
                openCollectionModal(collection);
            });
        });
        
        // Close collection modals
        document.querySelectorAll('.close-collection').forEach(button => {
            button.addEventListener('click', closeCollectionModals);
        });
        
        // Close modals on outside click
        document.querySelectorAll('.privacy-modal, .payment-modal, .share-modal, .collection-modal').forEach(modal => {
            modal.addEventListener('click', function(e) {
                if (e.target === this) {
                    this.classList.remove('active');
                    document.body.style.overflow = '';
                }
            });
        });
        
        // Cookie banner
        document.getElementById('cookieAccept').addEventListener('click', acceptCookies);
        document.getElementById('cookieSettings').addEventListener('click', function() {
            document.getElementById('cookieBanner').classList.remove('active');
            document.getElementById('privacyModal').classList.add('active');
            document.body.style.overflow = 'hidden';
        });
        
        document.getElementById('savePreferences').addEventListener('click', saveCookiePreferences);
        
        // Auto-follow buttons
        document.querySelectorAll('.social-links a').forEach(link => {
            link.addEventListener('click', function(e) {
                // Track social follows
                const platform = this.getAttribute('aria-label').toLowerCase();
                console.log(`Following on ${platform}`);
                // In a real implementation, you would send this to analytics
            });
        });
        
        // Prevent image drag
        document.getElementById('productImage').addEventListener('dragstart', function(e) {
            e.preventDefault();
        });
        
        // Mobile touch optimizations
        if ('ontouchstart' in window) {
            // Increase touch target sizes on mobile
            document.querySelectorAll('button, .design-option, .shirt-type-option, .size-option, .color-option, .delivery-option')
                .forEach(element => {
                    element.style.minHeight = '44px';
                    element.style.minWidth = '44px';
                });
        }
        
        // Handle window resize for mobile optimization
        window.addEventListener('resize', function() {
            // Reset zoom on orientation change for better mobile experience
            if (window.innerWidth <= 768) {
                resetZoom();
            }
        });
    }
    </script>
</body>
</html>