{"id":63,"date":"2025-10-02T17:05:05","date_gmt":"2025-10-02T17:05:05","guid":{"rendered":"http:\/\/lemarbre.tn\/lemarbre\/?page_id=63"},"modified":"2025-10-11T20:10:36","modified_gmt":"2025-10-11T20:10:36","slug":"table-basse","status":"publish","type":"page","link":"https:\/\/lemarbre.tn\/lemarbre\/table-basse\/","title":{"rendered":"Table Basse"},"content":{"rendered":"\n<style>\n.products-container {\n    max-width: 1400px;\n    margin: 0 auto;\n    padding: 60px 20px;\n}\n\n.page-header {\n    text-align: center;\n    margin-bottom: 60px;\n}\n\n.page-header h1 {\n    font-size: 42px;\n    font-weight: 300;\n    color: #222;\n    margin-bottom: 15px;\n}\n\n.page-header p {\n    font-size: 18px;\n    color: #666;\n}\n\n.products-grid {\n    display: grid;\n    grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));\n    gap: 40px;\n    margin-bottom: 40px;\n}\n\n.product-card {\n    background: white;\n    border-radius: 8px;\n    overflow: hidden;\n    box-shadow: 0 2px 15px rgba(0,0,0,0.08);\n    transition: transform 0.3s ease, box-shadow 0.3s ease;\n}\n\n.product-card:hover {\n    transform: translateY(-5px);\n    box-shadow: 0 8px 25px rgba(0,0,0,0.12);\n}\n\n.product-image-container {\n    position: relative;\n    width: 100%;\n    height: 300px;\n    overflow: hidden;\n    background: #f5f5f5;\n}\n\n.product-image {\n    width: 100%;\n    height: 100%;\n    object-fit: cover;\n    transition: opacity 0.3s ease;\n}\n\n.discount-badge {\n    position: absolute;\n    top: 15px;\n    right: 15px;\n    background: #e74c3c;\n    color: white;\n    padding: 8px 15px;\n    border-radius: 25px;\n    font-size: 14px;\n    font-weight: 600;\n}\n\n.product-info {\n    padding: 25px;\n}\n\n.product-title {\n    font-size: 22px;\n    font-weight: 500;\n    color: #222;\n    margin-bottom: 12px;\n}\n\n.product-description {\n    font-size: 14px;\n    color: #777;\n    margin-bottom: 20px;\n    line-height: 1.6;\n}\n\n.color-selector {\n    margin-bottom: 20px;\n}\n\n.color-label {\n    font-size: 13px;\n    color: #666;\n    margin-bottom: 10px;\n    display: block;\n    text-transform: uppercase;\n    letter-spacing: 0.5px;\n}\n\n.color-options {\n    display: flex;\n    gap: 10px;\n    flex-wrap: wrap;\n}\n\n.color-option {\n    width: 35px;\n    height: 35px;\n    border-radius: 50%;\n    border: 3px solid transparent;\n    cursor: pointer;\n    transition: all 0.3s ease;\n}\n\n.color-option:hover {\n    transform: scale(1.1);\n}\n\n.color-option.active {\n    border-color: #333;\n    box-shadow: 0 0 0 2px white, 0 0 0 4px #333;\n}\n\n\/* Couleurs *\/\n.color-green { background-color: #2d5016; }\n.color-white { background-color: #ffffff; border: 2px solid #ddd; }\n.color-rusted { background-color: #7a4a2b; }\n\n.color-terrazoblack{  background-color: #1b1b1b;\n  background-image: \n    radial-gradient(circle at 10% 20%, rgba(255,255,255,0.15) 1px, transparent 0),\n    radial-gradient(circle at 40% 60%, rgba(200,200,200,0.2) 1.5px, transparent 0),\n    radial-gradient(circle at 70% 30%, rgba(150,150,150,0.1) 1px, transparent 0),\n    radial-gradient(circle at 80% 80%, rgba(230,230,230,0.25) 1.5px, transparent 0);\n  background-size: 25px 25px;\n  border: 2px solid #111;\n  box-shadow: inset 0 0 8px rgba(0,0,0,0.6); }\n\n.color-terrazzowhite{ background: linear-gradient(135deg, #000 50%, #fff 50%); border: 1px solid #ddd; }\n.color-noir { background-color: #1a1a1a; }\n.color-cygnus {\n  background: linear-gradient(145deg, #d8d4cf 0%, #c8c4bf 50%, #e3e0dc 100%);\n  border: 2px solid #bfbab5;\n  box-shadow: inset 0 0 6px rgba(0,0,0,0.1), inset 0 2px 4px rgba(255,255,255,0.3);\n}\n\n.price-container {\n    display: flex;\n    align-items: center;\n    gap: 15px;\n    margin-bottom: 15px;\n}\n\n.original-price {\n    font-size: 18px;\n    color: #999;\n    text-decoration: line-through;\n}\n\n.current-price {\n    font-size: 28px;\n    color: #e74c3c;\n    font-weight: 600;\n}\n\n.savings {\n    font-size: 14px;\n    color: #27ae60;\n    font-weight: 500;\n    margin-bottom: 20px;\n}\n\n.btn-details {\n    width: 100%;\n    padding: 14px 25px;\n    background: #222;\n    color: white;\n    border: none;\n    border-radius: 5px;\n    font-size: 15px;\n    font-weight: 500;\n    cursor: pointer;\n    transition: background 0.3s ease;\n    text-transform: uppercase;\n    letter-spacing: 1px;\n}\n\n.btn-details:hover {\n    background: #000;\n}\n\n@media (max-width: 768px) {\n    .products-grid {\n        grid-template-columns: 1fr;\n    }\n    .page-header h1 {\n        font-size: 32px;\n    }\n}\n<\/style>\n\n<div class=\"products-container\">\n    <div class=\"page-header\">\n        <h1>Tables Basses en Quartz<\/h1>\n        <p>Collection exclusive de tables basses en quartz naturel<\/p>\n    <\/div>\n\n    <div class=\"products-grid\" id=\"productsGrid\"><\/div>\n<\/div>\n\n<script>\nconst products = [\n    {\n        id: 1,\n        name: \"Table Basse \u00c9l\u00e9gance\",\n        description: \"Table basse mobile en quartz au design \u00e9pur\u00e9 et naturel.\",\n        originalPrice: 2475,\n        currentPrice: 1980,\n        discount: 20,\n        images: {\n            green: \"http:\/\/lemarbre.tn\/lemarbre\/wp-content\/uploads\/2025\/10\/CN8A2141-co-1-scaled.jpg\",\n            cygnus: \"http:\/\/lemarbre.tn\/lemarbre\/wp-content\/uploads\/2025\/10\/Generated-Image-October-09-2025-4_36PM.png\",\n            rusted: \"http:\/\/lemarbre.tn\/lemarbre\/wp-content\/uploads\/2025\/10\/Generated-Image-October-09-2025-4_49PM.png\",\n            terrazoblack: \"http:\/\/lemarbre.tn\/lemarbre\/wp-content\/uploads\/2025\/10\/CN8A2240-copie-scaled.jpg\",\n            terrazzowhite: \"http:\/\/lemarbre.tn\/lemarbre\/wp-content\/uploads\/2025\/10\/CN8A2217-copie.png\"\n        },\n        colors: ['green', 'cygnus', 'rusted', 'terrazoblack', 'terrazzowhite']\n    },\n    {\n        id: 2,\n        name: \"Table Basse Prestige\",\n        description: \"Design \u00e9pur\u00e9 avec plateau en quartz massif.\",\n        originalPrice: 2975,\n        currentPrice: 2380,\n        discount: 20,\n        images: {\n            rusted: \"http:\/\/lemarbre.tn\/lemarbre\/wp-content\/uploads\/2025\/10\/prestige-1-1.png\"\n        },\n        colors: ['rusted']\n    },\n    {\n        id: 3,\n        name: \"Table Basse Minimaliste\",\n        description: \"Table luxueuse avec design minimaliste. Prix par pi\u00e8ce.\",\n        originalPrice: 1087.5,\n        currentPrice: 870,\n        discount: 20,\n        priceNote: \"par pi\u00e8ce\",\n        images: {\n            terrazzowhite: \"http:\/\/lemarbre.tn\/lemarbre\/wp-content\/uploads\/2025\/10\/CN8A2248-copie-scaled.jpg\"\n        },\n        colors: ['terrazzowhite']\n    },\n    {\n        id: 4,\n        name: \"Table Basse Contemporaine\",\n        description: \"Table luxueuse avec design contemporain.\",\n        originalPrice: 2475,\n        currentPrice: 1980,\n        discount: 20,\n        images: {\n            noir: \"http:\/\/lemarbre.tn\/lemarbre\/wp-content\/uploads\/2025\/10\/CN8A2115-copie-scaled.jpg\"\n        },\n        colors: ['noir']\n    }\n];\n\nfunction getColorName(color) {\n    const names = { \n        green: 'Vert', \n        white: 'Blanc', \n        rusted: 'Rusted Brown', \n        terrazoblack: 'Terrazo Black', \n        terrazzowhite: 'Terrazzo White',\n        noir: 'Noir',\n        cygnus: 'Cygnus'\n    };\n    return names[color] || color;\n}\n\nfunction renderProducts() {\n    const grid = document.getElementById('productsGrid');\n    \n    products.forEach(product => {\n        const defaultColor = Object.keys(product.images)[0];\n        const savings = product.originalPrice - product.currentPrice;\n        const card = document.createElement('div');\n        card.className = 'product-card';\n        \n        card.innerHTML = `\n            <div class=\"product-image-container\">\n                <img decoding=\"async\" src=\"${product.images[defaultColor]}\" alt=\"${product.name}\" class=\"product-image\" id=\"img-${product.id}\">\n                <div class=\"discount-badge\">-${product.discount}%<\/div>\n            <\/div>\n            <div class=\"product-info\">\n                <h3 class=\"product-title\">${product.name}<\/h3>\n                <p class=\"product-description\">${product.description}<\/p>\n                \n                <div class=\"color-selector\">\n                    <span class=\"color-label\">Couleurs disponibles<\/span>\n                    <div class=\"color-options\">\n                        ${product.colors.map(color => `\n                            <div class=\"color-option color-${color} ${color === defaultColor ? 'active' : ''}\" \n                                 data-color=\"${color}\" \n                                 data-product-id=\"${product.id}\"\n                                 title=\"${getColorName(color)}\">\n                            <\/div>\n                        `).join('')}\n                    <\/div>\n                <\/div>\n                \n                <div class=\"price-container\">\n                    <span class=\"original-price\">${product.originalPrice.toFixed(0)} DT<\/span>\n                    <span class=\"current-price\">${product.currentPrice} DT<\/span>\n                <\/div>\n                <p class=\"savings\">\u00c9conomisez ${savings.toFixed(0)} DT${product.priceNote ? ' (' + product.priceNote + ')' : ''}<\/p>\n\n                <button class=\"btn-details\" onclick=\"window.location.href='?page_id=155&#038;id=${product.id}'\">\n                    Voir les d\u00e9tails\n                <\/button>\n            <\/div>\n        `;\n        \n        grid.appendChild(card);\n    });\n    \n    document.querySelectorAll('.color-option').forEach(option => {\n        option.addEventListener('click', function(e) {\n            e.stopPropagation();\n            const productId = this.dataset.productId;\n            const color = this.dataset.color;\n            const product = products.find(p => p.id == productId);\n            const img = document.getElementById(`img-${productId}`);\n            \n            img.style.opacity = '0';\n            setTimeout(() => {\n                img.src = product.images[color];\n                img.style.opacity = '1';\n            }, 200);\n            \n            const card = this.closest('.product-card');\n            card.querySelectorAll('.color-option').forEach(opt => opt.classList.remove('active'));\n            this.classList.add('active');\n        });\n    });\n}\n\ndocument.addEventListener('DOMContentLoaded', renderProducts);\n<\/script>\n\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Tables Basses en Quartz Collection exclusive de tables basses en quartz naturel<\/p>\n","protected":false},"author":1,"featured_media":329,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-63","page","type-page","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"https:\/\/lemarbre.tn\/lemarbre\/wp-json\/wp\/v2\/pages\/63","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lemarbre.tn\/lemarbre\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/lemarbre.tn\/lemarbre\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/lemarbre.tn\/lemarbre\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/lemarbre.tn\/lemarbre\/wp-json\/wp\/v2\/comments?post=63"}],"version-history":[{"count":51,"href":"https:\/\/lemarbre.tn\/lemarbre\/wp-json\/wp\/v2\/pages\/63\/revisions"}],"predecessor-version":[{"id":521,"href":"https:\/\/lemarbre.tn\/lemarbre\/wp-json\/wp\/v2\/pages\/63\/revisions\/521"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/lemarbre.tn\/lemarbre\/wp-json\/wp\/v2\/media\/329"}],"wp:attachment":[{"href":"https:\/\/lemarbre.tn\/lemarbre\/wp-json\/wp\/v2\/media?parent=63"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}