diff --git a/public/style.css b/public/style.css index fd4088b..26be1c4 100644 --- a/public/style.css +++ b/public/style.css @@ -256,6 +256,9 @@ hr { border: none; border-top: var(--border); margin: 0; } .product-card:hover .card-img-wrap { border-bottom-color: var(--clr-red); } +.product-card::before { + transition: border-color 0.2s ease; +} .product-card:hover .card-img-wrap { background: var(--clr-card-bg); } @@ -357,7 +360,7 @@ hr { border: none; border-top: var(--border); margin: 0; } display: flex; flex-direction: column; gap: 1.4rem; - background: var(--clr-bg); + background: #dcdcdc; } .panel-index { @@ -614,6 +617,33 @@ hr { border: none; border-top: var(--border); margin: 0; } } .nl-row button:hover { background: var(--clr-red); color: var(--clr-black); } +/* ---- WHATSAPP BUTTON ---- */ +.whatsapp-btn { + display: flex; + align-items: center; + justify-content: center; + gap: 0.7rem; + width: 100%; + background: #25D366; + color: #fff; + border: 2px solid #111; + font-family: var(--font-mono); + font-size: 0.78rem; + font-weight: 700; + letter-spacing: 0.04em; + padding: 1.1rem 1.5rem; + text-align: center; + text-decoration: none; + cursor: none; + transition: background 0.2s, color 0.2s, border-color 0.2s; + pointer-events: auto; +} +.whatsapp-btn:hover { + background: var(--clr-black); + color: #25D366; + border-color: #25D366; +} + /* ---- FOOTER ---- */ .footer { margin-top: auto; @@ -735,14 +765,14 @@ hr { border: none; border-top: var(--border); margin: 0; } .tech-scanline { position: absolute; left: 0; right: 0; - height: 2px; + height: 1px; background: linear-gradient(to bottom, transparent, - rgba(232,168,0,0.6), - rgba(232,168,0,0.9), - rgba(232,168,0,0.6), + rgba(232,168,0,0.3), + rgba(232,168,0,0.5), + rgba(232,168,0,0.3), transparent); - box-shadow: 0 0 12px rgba(232,168,0,0.4); + box-shadow: 0 0 4px rgba(232,168,0,0.15); z-index: 11; pointer-events: none; opacity: 0; @@ -762,14 +792,14 @@ hr { border: none; border-top: var(--border); margin: 0; } .card-scanline { position: absolute; left: 0; right: 0; - height: 2px; + height: 1px; background: linear-gradient(to bottom, transparent, - rgba(232,168,0,0.7), - rgba(232,168,0,1), - rgba(232,168,0,0.7), + rgba(232,168,0,0.3), + rgba(232,168,0,0.5), + rgba(232,168,0,0.3), transparent); - box-shadow: 0 0 16px rgba(232,168,0,0.5), 0 0 4px rgba(232,168,0,0.8); + box-shadow: 0 0 6px rgba(232,168,0,0.15); z-index: 5; pointer-events: none; top: 100%; @@ -805,7 +835,7 @@ hr { border: none; border-top: var(--border); margin: 0; } padding: 2px 7px; } -/* Construction line under collection header */ +/* Construction line under collection header — visible on hover only */ .cad-construction-line { position: absolute; bottom: 0; left: 0; right: 0; @@ -815,9 +845,15 @@ hr { border: none; border-top: var(--border); margin: 0; } var(--clr-red) 60%, transparent); transform-origin: left center; + opacity: 0; + transition: opacity 0.3s ease; +} +.collection-header:hover .cad-construction-line { + opacity: 1; } .collection-header { position: relative; + pointer-events: auto; } /* ---- SOUND TOGGLE ---- */ @@ -888,6 +924,10 @@ hr { border: none; border-top: var(--border); margin: 0; } position: absolute; inset: 0; background: rgba(0,0,0,0.6); + pointer-events: none; +} +.contact-modal.is-open .contact-modal-backdrop { + pointer-events: auto; } .contact-modal-content { position: relative; @@ -901,6 +941,9 @@ hr { border: none; border-top: var(--border); margin: 0; } display: flex; flex-direction: column; gap: 1.2rem; + pointer-events: none; +} +.contact-modal.is-open .contact-modal-content { pointer-events: auto; } .contact-modal-header { diff --git a/src/pages/index.astro b/src/pages/index.astro index e33b264..57b554a 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -202,21 +202,23 @@ const schemaOrg = { - -
+ +
-

// ACCÈS_ANTICIPÉ

-

REJOINDRE
L'EXPÉRIENCE

+

// CONTACT

+

UNE QUESTION ?
PARLONS-EN

-
- -
- - -
-

CONNECTION_STATUS: PENDING

-
+
+

Commandes sur mesure, questions techniques,
ou simplement dire bonjour.

+ + + + + CONTACTEZ-NOUS SUR WHATSAPP + +

RÉPONSE SOUS 24H

+
diff --git a/src/scripts/main.js b/src/scripts/main.js index 58c6d53..f042e5b 100644 --- a/src/scripts/main.js +++ b/src/scripts/main.js @@ -205,9 +205,9 @@ document.addEventListener('DOMContentLoaded', () => { }, }); - // 1. Image clip-path reveal (bottom → top scan) + // 1. Image clip-path reveal (bottom → top scan) — subtle tl.fromTo(img, - { clipPath: 'inset(100% 0 0 0)', filter: 'brightness(1.8) grayscale(100%)' }, + { clipPath: 'inset(100% 0 0 0)', filter: 'brightness(1.1) grayscale(40%)' }, { clipPath: 'inset(0% 0 0 0)', filter: 'brightness(1) grayscale(15%)', duration: 0.9, ease: 'power3.out' }, 0 @@ -405,11 +405,11 @@ document.addEventListener('DOMContentLoaded', () => { 0.6 ); - // 7. Panel image scan reveal + // 7. Panel image scan reveal — subtle const panelImg = document.getElementById('panel-img'); if (panelImg) { techTimeline.fromTo(panelImg, - { clipPath: 'inset(0 0 100% 0)', filter: 'brightness(1.8) grayscale(100%)' }, + { clipPath: 'inset(0 0 100% 0)', filter: 'brightness(1.05) grayscale(30%)' }, { clipPath: 'inset(0 0 0% 0)', filter: 'brightness(1) contrast(1) grayscale(0%)', duration: 1, ease: 'power3.out' }, 0.05