ordinarthur 1dbcef4660
All checks were successful
Build & Deploy to K3s / build-and-deploy (push) Successful in 2m59s
style(frontend): match carousel nav to admin (square dots, overlay arrows)
Frontend product panel now mirrors the admin preview: 14px black square
dots with a 1px yellow border and a 6px yellow inner square when active,
and prev/next arrows as dark overlay buttons on the image sides that
fade in on hover.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-21 18:34:43 +02:00

1352 lines
25 KiB
CSS
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/* ==========================================================================
REBOUR — RAW HTML 2000s + GRILLE GUFRAM + PANEL PRODUIT
========================================================================== */
:root {
--clr-bg: #c8c8c8;
--clr-black: #111;
--clr-white: #dcdcdc;
--clr-card-bg: #d0d0d0;
--clr-grid: rgba(0, 0, 0, 0.10);
--clr-red: #e8a800;
--font-mono: 'Space Mono', monospace;
--border: 1px solid #111;
--pad: 2rem;
}
* {
margin: 0;
padding: 0;
box-sizing: border-box;
-webkit-tap-highlight-color: transparent;
}
@media (hover: hover) and (pointer: fine) {
* {
cursor: none !important;
}
}
html {
font-size: 13px;
}
body {
background: var(--clr-bg);
color: var(--clr-black);
font-family: var(--font-mono);
overflow-x: hidden;
-webkit-text-size-adjust: 100%;
}
/* ---- LEGACY CURSOR (hidden) ---- */
.cursor-dot,
.cursor-outline {
display: none;
}
/* ---- CAD CROSSHAIR CURSOR ---- */
.cad-h,
.cad-v {
position: fixed;
pointer-events: none;
z-index: 999998;
opacity: 0;
background: var(--clr-black);
transition: width 0.15s, height 0.15s, background 0.15s;
}
.cad-h {
width: 32px;
height: 2px;
transform: translateY(-1px);
}
.cad-h.cad-hover {
width: 44px;
margin-left: -6px;
background: var(--clr-red);
}
.cad-v {
width: 2px;
height: 32px;
transform: translateX(-1px);
}
.cad-v.cad-hover {
height: 44px;
margin-top: -6px;
background: var(--clr-red);
}
.cad-center {
position: fixed;
width: 6px;
height: 6px;
background: var(--clr-red);
pointer-events: none;
z-index: 999999;
opacity: 0;
transform: translate(-3px, -3px);
transition: width 0.15s, height 0.15s;
}
.cad-center.cad-hover {
width: 9px;
height: 9px;
transform: translate(-4.5px, -4.5px);
background: var(--clr-black);
}
.cad-center.cad-whatsapp {
background: #25D366;
}
.cad-coords {
position: fixed;
pointer-events: none;
z-index: 999999;
font-family: var(--font-mono);
font-size: 0.55rem;
color: rgba(0, 0, 0, 0.55);
opacity: 0;
letter-spacing: 0.05em;
background: rgba(200, 200, 200, 0.7);
padding: 1px 5px;
border: 1px solid rgba(0, 0, 0, 0.08);
white-space: nowrap;
}
/* ---- INTERACTIVE GRID (derrière tout) ---- */
.interactive-grid {
position: fixed;
top: 0;
left: 0;
width: 100vw;
height: 100vh;
height: 100dvh;
z-index: 0;
pointer-events: auto;
overflow: hidden;
}
.grid-cell {
border-right: 1px solid var(--clr-grid);
border-bottom: 1px solid var(--clr-grid);
pointer-events: auto;
transition: background-color 1.3s ease-out;
}
/* ---- PAGE WRAPPER ---- */
.page-wrapper {
position: relative;
z-index: 1;
pointer-events: none;
/* laisse passer vers la grid */
min-height: 100vh;
min-height: 100dvh;
display: flex;
flex-direction: column;
}
/* Re-active pointer-events sur les éléments interactifs */
.page-wrapper a,
.page-wrapper button,
.page-wrapper input,
.page-wrapper form,
.page-wrapper nav,
.page-wrapper .product-card,
.page-wrapper summary,
.page-wrapper details {
pointer-events: auto;
}
/* ---- HEADER ---- */
.header {
display: flex;
justify-content: space-between;
align-items: baseline;
padding: 1.1rem var(--pad);
border-bottom: var(--border);
background: var(--clr-bg);
pointer-events: auto;
}
.logo-text {
font-size: 1rem;
font-weight: 700;
letter-spacing: 0.18em;
text-decoration: none;
color: var(--clr-black);
}
.header-nav {
display: flex;
align-items: baseline;
gap: 2.5rem;
font-size: 0.82rem;
}
.header-nav a {
color: var(--clr-black);
text-decoration: none;
}
.header-nav a:hover {
text-decoration: underline;
}
.wip-tag {
color: #555;
font-size: 0.78rem;
}
/* ---- UTILS ---- */
.label {
font-size: 0.75rem;
color: #555;
letter-spacing: 0.04em;
}
.mono-sm {
font-size: 0.75rem;
line-height: 1.9;
color: #555;
}
.red {
color: var(--clr-red);
font-weight: 700;
}
.blink {
animation: blink 1.4s step-end infinite;
color: var(--clr-red);
}
@keyframes blink {
0%,
100% {
opacity: 1;
}
50% {
opacity: 0;
}
}
hr {
border: none;
border-top: var(--border);
margin: 0;
}
/* ---- HERO ---- */
.hero {
display: grid;
grid-template-columns: 1fr 1fr;
height: calc(100vh - var(--header-h, 44px));
height: calc(100dvh - var(--header-h, 44px));
pointer-events: none;
}
.hero-left {
padding: 5rem var(--pad) 3rem;
border-right: var(--border);
display: flex;
flex-direction: column;
justify-content: flex-end;
gap: 1.6rem;
position: relative;
overflow: hidden;
}
.hero-left h1 {
font-size: clamp(3.5rem, 7vw, 6rem);
font-weight: 700;
line-height: 0.92;
letter-spacing: -0.02em;
}
.hero-sub {
font-size: 0.85rem;
line-height: 1.75;
max-width: 300px;
}
.hero-right {
overflow: hidden;
background: #1c1c1c;
}
.hero-img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
filter: grayscale(10%);
opacity: 0.92;
transition: opacity 0.5s, filter 0.5s;
}
.hero-right:hover .hero-img {
opacity: 1;
filter: grayscale(0%);
}
/* ---- COLLECTION ---- */
.collection {
pointer-events: none;
}
.collection-header {
display: flex;
justify-content: space-between;
align-items: center;
padding: 1rem var(--pad);
}
/* ---- PRODUCT GRID — style Gufram ---- */
/* 3 colonnes, image centrée sur fond neutre, bordure fine */
.product-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
border-top: 2px solid #111;
border-left: 2px solid #111;
}
.product-card {
border-right: 2px solid #111;
border-bottom: 2px solid #111;
background: var(--clr-card-bg);
cursor: none;
pointer-events: auto;
display: flex;
flex-direction: column;
transition: background 0.2s;
position: relative;
}
.product-card::before {
content: '';
position: absolute;
inset: -2px;
border: 2px solid transparent;
pointer-events: none;
transition: border-color 0.15s;
z-index: 2;
}
.product-card:hover::before {
border-color: var(--clr-red);
}
.product-card:hover .card-name {
color: var(--clr-red);
}
.product-card:hover .card-index {
color: var(--clr-black);
}
.product-card:hover .card-arrow {
opacity: 1;
color: var(--clr-black);
}
/* Image : objet centré sur fond neutre, comme Gufram */
.card-img-wrap {
position: relative;
aspect-ratio: 1 / 1;
overflow: hidden;
display: flex;
align-items: center;
justify-content: center;
padding: 2rem;
border-bottom: 2px solid #111;
background: var(--clr-card-bg);
transition: background 0.2s, border-color 0.15s;
}
/* Fallback for Safari < 15 without aspect-ratio */
@supports not (aspect-ratio: 1 / 1) {
.card-img-wrap {
padding-bottom: 100%;
}
.card-img-wrap img {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
}
.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);
}
.card-img-wrap img {
width: 88%;
height: 88%;
object-fit: contain;
display: block;
filter: grayscale(15%);
}
/* Bas de la card : index + nom + flèche, tout en ligne */
.card-meta {
display: flex;
align-items: baseline;
justify-content: space-between;
padding: 0.9rem 1.1rem;
gap: 0.8rem;
}
.card-index {
font-size: 0.72rem;
color: #555;
flex-shrink: 0;
}
.card-name {
font-size: 0.82rem;
font-weight: 700;
letter-spacing: 0.04em;
flex-grow: 1;
}
.card-arrow {
font-size: 1rem;
opacity: 0.4;
}
/* ---- PRODUCT PANEL (overlay) ---- */
.product-panel {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
z-index: 1000;
background: var(--clr-bg);
display: flex;
flex-direction: column;
transform: translateY(100%);
-webkit-transform: translateY(100%);
transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
-webkit-transition: -webkit-transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
pointer-events: none;
overflow: hidden;
-webkit-overflow-scrolling: touch;
}
.product-panel.is-open {
transform: translateY(0);
-webkit-transform: translateY(0);
pointer-events: auto;
}
.panel-close {
display: flex;
align-items: center;
padding: 1.1rem var(--pad);
border-bottom: var(--border);
font-size: 0.78rem;
font-weight: 700;
cursor: none;
background: var(--clr-bg);
letter-spacing: 0.05em;
pointer-events: auto;
flex-shrink: 0;
}
.panel-close:hover {
background: var(--clr-white);
}
.panel-close span {
pointer-events: none;
}
.panel-inner {
display: grid;
grid-template-columns: 1fr 1fr;
flex-grow: 1;
overflow: hidden;
}
/* Colonne image : sticky, fond sombre, image centrée */
.panel-img-col {
border-right: var(--border);
background: #1a1a1a;
display: flex;
flex-direction: column;
overflow: hidden;
position: relative;
}
.panel-gallery {
flex: 1;
display: flex;
align-items: center;
justify-content: center;
overflow: hidden;
min-height: 0;
}
#panel-img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
opacity: 0.92;
}
/* Gallery navigation — dots overlay at the bottom of the image, arrows overlay on sides */
.panel-gallery-nav {
position: absolute;
bottom: 0.75rem;
left: 0;
right: 0;
display: flex;
align-items: center;
justify-content: center;
gap: 0.45rem;
padding: 0;
background: transparent;
border-top: none;
z-index: 3;
pointer-events: none;
}
.panel-gallery-nav > * {
pointer-events: auto;
}
/* Square dot: 14×14 black with yellow border, yellow inner 6×6 square when active */
.gallery-dot {
width: 14px;
height: 14px;
background: #111;
border: 1px solid var(--amber);
cursor: pointer;
padding: 0;
display: flex;
align-items: center;
justify-content: center;
transition: background 0.15s;
}
.gallery-dot::before {
content: '';
width: 6px;
height: 6px;
background: transparent;
transition: background 0.15s;
}
.gallery-dot.active::before {
background: var(--amber);
}
/* Arrows: overlay on image sides, shown on hover */
.gallery-arrow {
position: absolute;
top: 50%;
transform: translateY(-50%);
width: 2.4rem;
height: 2.4rem;
display: flex;
align-items: center;
justify-content: center;
background: rgba(0, 0, 0, 0.55);
color: #fff;
border: 1px solid rgba(255, 255, 255, 0.25);
font-family: 'Space Mono', monospace;
font-size: 1rem;
cursor: pointer;
opacity: 0;
transition: opacity 0.15s, background 0.15s, color 0.15s;
z-index: 4;
padding: 0;
}
.panel-img-col:hover .gallery-arrow {
opacity: 1;
}
.gallery-arrow:hover {
background: rgba(232, 168, 0, 0.85);
color: #111;
border-color: rgba(255, 255, 255, 0.25);
}
.gallery-prev {
left: 0.75rem;
}
.gallery-next {
right: 0.75rem;
}
/* Colonne infos : scrollable */
.panel-info-col {
overflow-y: auto;
-webkit-overflow-scrolling: touch;
padding: 2.5rem var(--pad);
display: flex;
flex-direction: column;
gap: 1.4rem;
background: #dcdcdc;
}
.panel-index {
font-size: 0.72rem;
color: #555;
letter-spacing: 0.05em;
}
.panel-info-col h2 {
font-size: clamp(1.8rem, 3vw, 2.8rem);
font-weight: 700;
line-height: 1;
letter-spacing: -0.01em;
}
/* Meta table */
.panel-meta {
display: flex;
flex-direction: column;
gap: 0;
}
.panel-meta-row {
display: flex;
gap: 1.5rem;
padding: 0.55rem 0;
border-bottom: 1px solid rgba(0, 0, 0, 0.1);
font-size: 0.8rem;
align-items: baseline;
}
.meta-key {
color: #555;
width: 7rem;
flex-shrink: 0;
font-size: 0.72rem;
}
.panel-desc {
font-size: 0.85rem;
line-height: 1.85;
color: #333;
}
/* Accordion */
.accordion {
border-bottom: var(--border);
}
.accordion summary {
display: flex;
justify-content: space-between;
align-items: center;
padding: 1rem 0;
font-size: 0.78rem;
font-weight: 700;
letter-spacing: 0.04em;
cursor: none;
list-style: none;
pointer-events: auto;
}
.accordion summary::-webkit-details-marker {
display: none;
}
.accordion summary span {
transition: transform 0.2s;
display: inline-block;
}
.accordion[open] summary span {
transform: rotate(180deg);
}
.accordion-body {
font-size: 0.78rem;
line-height: 2;
color: #333;
padding-bottom: 1rem;
white-space: pre-line;
}
.panel-footer {
font-size: 0.75rem;
color: #555;
padding-top: 0.5rem;
}
/* ---- CHECKOUT SECTION ---- */
.checkout-price-line {
display: flex;
align-items: baseline;
gap: 1.2rem;
margin-bottom: 1rem;
}
.checkout-price {
font-size: 1.6rem;
font-weight: 700;
letter-spacing: -0.01em;
}
.checkout-edition {
font-size: 0.72rem;
color: #555;
}
/* Bouton jaune parking rectangulaire — aucun border-radius */
.checkout-btn {
display: block;
width: 100%;
background: #e8a800;
color: var(--clr-black);
border: var(--border);
font-family: var(--font-mono);
font-size: 0.82rem;
font-weight: 700;
letter-spacing: 0.04em;
padding: 1.1rem 1.5rem;
text-align: center;
cursor: none;
transition: background 0.15s, color 0.15s;
pointer-events: auto;
}
.checkout-btn:hover:not(:disabled) {
background: var(--clr-black);
color: #e8a800;
}
.checkout-btn--disabled {
background: #999;
border-color: #999;
color: #ddd;
cursor: default;
pointer-events: none;
}
/* Form qui se déploie */
.checkout-form-wrap {
border: var(--border);
border-top: none;
background: var(--clr-white);
}
.checkout-form {
display: flex;
flex-direction: column;
gap: 0;
}
.checkout-form-field {
display: flex;
flex-direction: column;
gap: 0.4rem;
padding: 1.1rem;
border-bottom: var(--border);
}
.checkout-form-field label {
font-size: 0.68rem;
font-weight: 700;
color: #555;
letter-spacing: 0.05em;
}
.checkout-form-field input {
border: none;
background: transparent;
font-family: var(--font-mono);
font-size: 0.85rem;
outline: none;
cursor: none;
padding: 0;
color: var(--clr-black);
pointer-events: auto;
}
.checkout-form-field input::placeholder {
color: #bbb;
}
.checkout-form-field input:focus {
outline: none;
}
.checkout-form-note {
padding: 0.9rem 1.1rem;
font-size: 0.72rem;
line-height: 1.8;
color: #555;
border-bottom: var(--border);
}
.checkout-submit {
background: var(--clr-black);
color: #e8a800;
border: none;
font-family: var(--font-mono);
font-size: 0.78rem;
font-weight: 700;
letter-spacing: 0.04em;
padding: 1.1rem 1.5rem;
cursor: none;
text-align: center;
transition: background 0.15s, color 0.15s;
pointer-events: auto;
}
.checkout-submit:hover {
background: #e8a800;
color: var(--clr-black);
}
.checkout-submit:disabled {
opacity: 0.5;
pointer-events: none;
}
/* ---- NEWSLETTER ---- */
.newsletter {
display: grid;
grid-template-columns: 1fr 1fr;
pointer-events: none;
}
.nl-left {
padding: 3rem var(--pad);
border-right: var(--border);
display: flex;
flex-direction: column;
justify-content: flex-end;
gap: 1rem;
}
.nl-left h2 {
font-size: clamp(2rem, 4vw, 3rem);
font-weight: 700;
line-height: 0.95;
letter-spacing: -0.02em;
}
.nl-right {
padding: 3rem var(--pad);
display: flex;
align-items: flex-end;
}
.nl-form {
width: 100%;
display: flex;
flex-direction: column;
gap: 0.7rem;
pointer-events: auto;
}
.nl-form label {
font-size: 0.75rem;
font-weight: 700;
}
.nl-row {
display: flex;
border: var(--border);
background: var(--clr-white);
}
.nl-row input {
flex-grow: 1;
border: none;
background: transparent;
font-family: var(--font-mono);
font-size: 0.85rem;
padding: 0.9rem;
outline: none;
cursor: none;
}
.nl-row input::placeholder {
color: #bbb;
}
.nl-row input:focus {
background: rgba(0, 0, 0, 0.03);
}
.nl-row button {
border: none;
border-left: var(--border);
background: var(--clr-black);
color: var(--clr-white);
font-family: var(--font-mono);
font-size: 0.75rem;
font-weight: 700;
padding: 0 1.3rem;
cursor: none;
transition: background 0.15s;
pointer-events: auto;
}
.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;
display: flex;
justify-content: space-between;
align-items: center;
padding: 1.1rem var(--pad);
border-top: var(--border);
font-size: 0.75rem;
pointer-events: auto;
background: var(--clr-bg);
}
.footer a {
color: var(--clr-black);
text-decoration: none;
}
.footer a:hover {
text-decoration: underline;
}
/* ---- (REMOVED) tech overlay + card CAD effects ---- */
/* Construction line under collection header — visible on hover only */
.cad-construction-line {
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 1px;
background: linear-gradient(to right,
var(--clr-red),
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 ---- */
.sound-toggle {
display: flex;
align-items: center;
gap: 0.35rem;
background: none;
border: 1px solid rgba(0, 0, 0, 0.18);
font-family: var(--font-mono);
font-size: 0.65rem;
color: #555;
padding: 0.2rem 0.55rem;
cursor: none;
transition: color 0.2s, border-color 0.2s;
letter-spacing: 0.04em;
}
.sound-toggle:hover {
color: var(--clr-black);
border-color: var(--clr-black);
}
.sound-toggle.sound-active {
color: var(--clr-red);
border-color: var(--clr-red);
}
.sound-icon {
font-size: 0.7rem;
line-height: 1;
}
.sound-bars {
display: flex;
align-items: flex-end;
gap: 1px;
height: 10px;
}
.sound-bar {
width: 2px;
background: currentColor;
transition: height 0.2s;
}
.sound-bar:nth-child(1) {
height: 3px;
}
.sound-bar:nth-child(2) {
height: 6px;
}
.sound-bar:nth-child(3) {
height: 4px;
}
.sound-toggle.sound-active .sound-bar {
animation: soundPulse 0.8s ease-in-out infinite alternate;
}
.sound-toggle.sound-active .sound-bar:nth-child(2) {
animation-delay: 0.15s;
}
.sound-toggle.sound-active .sound-bar:nth-child(3) {
animation-delay: 0.3s;
}
@keyframes soundPulse {
0% {
height: 2px;
}
100% {
height: 10px;
}
}
/* ---- CONTACT MODAL ---- */
.contact-modal {
position: fixed;
inset: 0;
z-index: 1001;
display: none;
align-items: center;
justify-content: center;
opacity: 0;
pointer-events: none;
transition: opacity 0.3s ease;
}
.contact-modal.is-open {
display: flex;
opacity: 1;
pointer-events: auto;
}
.contact-modal-backdrop {
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;
background: var(--clr-bg);
border: 2px solid var(--clr-black);
width: 90%;
max-width: 480px;
max-height: 90vh;
overflow-y: auto;
padding: 2rem;
display: flex;
flex-direction: column;
gap: 1.2rem;
pointer-events: none;
}
.contact-modal.is-open .contact-modal-content {
pointer-events: auto;
}
.contact-modal-header {
display: flex;
justify-content: space-between;
align-items: center;
}
.contact-modal-close {
background: none;
border: 1px solid var(--clr-black);
font-family: var(--font-mono);
font-size: 0.85rem;
width: 32px;
height: 32px;
display: flex;
align-items: center;
justify-content: center;
cursor: none;
pointer-events: auto;
transition: background 0.15s, color 0.15s;
}
.contact-modal-close:hover {
background: var(--clr-black);
color: var(--clr-white);
}
.contact-modal-title {
font-size: clamp(1.6rem, 3vw, 2.2rem);
font-weight: 700;
line-height: 1;
letter-spacing: -0.01em;
}
.contact-form {
display: flex;
flex-direction: column;
gap: 0;
}
.contact-field {
display: flex;
flex-direction: column;
gap: 0.3rem;
padding: 0.8rem 0;
border-bottom: 1px solid rgba(0, 0, 0, 0.12);
}
.contact-field label {
font-size: 0.68rem;
font-weight: 700;
color: #555;
letter-spacing: 0.05em;
}
.contact-field input,
.contact-field textarea {
border: none;
background: transparent;
font-family: var(--font-mono);
font-size: 0.82rem;
outline: none;
cursor: none;
padding: 0;
color: var(--clr-black);
pointer-events: auto;
resize: vertical;
width: 100%;
}
.contact-field input::placeholder,
.contact-field textarea::placeholder {
color: #aaa;
}
.contact-submit {
margin-top: 1rem;
background: var(--clr-black);
color: #e8a800;
border: none;
font-family: var(--font-mono);
font-size: 0.78rem;
font-weight: 700;
letter-spacing: 0.04em;
padding: 1.1rem 1.5rem;
cursor: none;
text-align: center;
transition: background 0.15s, color 0.15s;
pointer-events: auto;
}
.contact-submit:hover {
background: #e8a800;
color: var(--clr-black);
}
.contact-note {
margin-top: 0.6rem;
text-align: center;
}
/* ---- RESPONSIVE ---- */
@media (max-width: 900px) {
.hero,
.newsletter {
grid-template-columns: 1fr;
}
.hero-left {
border-right: none;
border-bottom: var(--border);
min-height: auto;
padding: 3rem var(--pad);
order: -1;
}
.hero-right {
height: 55vw;
}
.nl-left {
border-right: none;
border-bottom: var(--border);
}
.product-grid {
grid-template-columns: 1fr 1fr;
}
.panel-inner {
grid-template-columns: 1fr;
}
.panel-img-col {
height: 50vw;
}
.panel-info-col {
overflow-y: auto;
-webkit-overflow-scrolling: touch;
}
.contact-modal-content {
width: 95%;
max-width: none;
padding: 1.5rem;
}
}
@media (max-width: 600px) {
.product-grid {
grid-template-columns: 1fr;
margin: 0 1rem;
border-left: none;
}
.product-card {
border-left: 2px solid #111;
}
.header-nav {
gap: 0.8rem;
font-size: 0.72rem;
}
.hero {
height: auto;
}
.hero-left {
min-height: unset;
padding: 2rem var(--pad);
order: -1;
}
.hero-right {
height: 60vw;
}
.newsletter {
grid-template-columns: 1fr;
}
.nl-left {
border-right: none;
border-bottom: var(--border);
padding: 2rem var(--pad);
}
.nl-right {
padding: 2rem var(--pad);
}
.whatsapp-btn {
font-size: 0.72rem;
padding: 1rem 1rem;
}
.panel-img-col {
height: 60vw;
min-height: 200px;
}
.panel-info-col {
padding: 1.5rem var(--pad);
}
.contact-modal-content {
width: 95%;
padding: 1.2rem;
}
.contact-modal {
align-items: flex-end;
}
.cursor-dot,
.cursor-outline,
.cad-h,
.cad-v,
.cad-center,
.cad-coords {
display: none !important;
}
body,
* {
cursor: auto !important;
}
}