Files
Khwezi Mngoma 8d2efbeb4a
continuous-integration/drone/pr Build is passing
Added legal pages, contact and abut us
Redesigned account, checkout
Added stock management design elements
2026-06-16 23:32:44 +02:00

219 lines
5.3 KiB
CSS

/* ==========================================================================
Midrand Books — Glassine Architectural Veil & Ribbon Strip
========================================================================== */
/* --- Native Dialog Element Layout Overrides --- */
#components-reconnect-modal {
position: fixed;
top: 0;
left: 0;
width: 100vw;
height: 100vh;
max-width: 100vw;
max-height: 100vh;
margin: 0;
padding: 0;
border: none;
background: transparent;
z-index: 99999;
overflow: hidden;
}
/* Remove default browser modal backdrop blockout to allow custom layering below */
#components-reconnect-modal::backdrop {
background: transparent;
}
/* --- Glassine Page Jacket Layer ---
Frosted translucent shield that preserves context visibility while blocking mouse actions
*/
.glassine-page-jacket {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(251, 251, 250, 0.4); /* Premium warm paper tint */
backdrop-filter: blur(5px); /* Elegant frosted glass sweep */
cursor: wait;
animation: glassFadeIn 0.35s ease-out forwards;
}
@keyframes glassFadeIn {
from {
opacity: 0;
backdrop-filter: blur(0px);
}
to {
opacity: 1;
backdrop-filter: blur(5px);
}
}
/* --- The Sliding Ribbon Banner --- */
.literary-sync-strip {
position: absolute;
top: 0;
left: 0;
width: 100%;
background-color: #FFFFFF;
border-bottom: 1px solid rgba(0, 0, 0, 0.08);
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05), 0 1px 3px rgba(0, 0, 0, 0.02);
padding: 1.1rem 2rem;
box-sizing: border-box;
z-index: 2;
/* Animation kinematics: smooth physical drop slide */
transform: translateY(-100%);
animation: stripSlideDown 0.4s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
@keyframes stripSlideDown {
to {
transform: translateY(0);
}
}
/* --- Ribbon Layout Matrix Grid --- */
.strip-container {
max-width: 1200px;
margin: 0 auto;
display: grid;
grid-template-columns: auto 1fr auto;
align-items: center;
gap: 2.5rem;
}
/* Left Node Ticker Elements & Animated Vector */
.sync-status-indicator {
display: flex;
align-items: center;
gap: 0.85rem;
border-right: 1px solid rgba(0, 0, 0, 0.08);
padding-right: 2rem;
}
.small-tracking {
font-family: var(--bs-font-monospace);
font-size: 0.7rem;
letter-spacing: 0.12em;
color: #111111;
font-weight: 600;
}
/* Animated Book Helix SVG */
.literary-helix-loader {
width: 18px;
height: 18px;
color: #111111;
}
.flipping-leaf-vector {
transform-origin: 12px 12px;
animation: svgLeafFlip 1.6s infinite cubic-bezier(0.4, 0, 0.2, 1);
}
@keyframes svgLeafFlip {
0% {
transform: scaleX(1);
opacity: 1;
}
50% {
transform: scaleX(0);
opacity: 0.3;
}
100% {
transform: scaleX(-1);
opacity: 0;
}
}
/* Center Node Text Content */
.sync-message-body {
font-family: Georgia, 'Times New Roman', serif;
font-size: 0.95rem;
color: #333333;
font-style: italic;
}
.text-crimson {
color: #A34843;
font-style: normal;
font-weight: 500;
}
/* Right Node Fine-Press Button Trigger */
.btn-strip-action {
background: #111111;
color: #FFFFFF;
border: 1px solid #111111;
padding: 0.45rem 1.25rem;
font-family: var(--bs-font-monospace);
font-size: 0.7rem;
letter-spacing: 0.08em;
text-transform: uppercase;
border-radius: 4px;
transition: all 0.2s ease;
cursor: pointer;
display: inline-flex;
align-items: center;
gap: 0.5rem;
}
.btn-strip-action:hover {
background: transparent;
color: #111111;
}
.btn-strip-action svg {
transition: transform 0.2s ease;
}
.btn-strip-action:hover svg {
transform: rotate(45deg);
}
/* --- Display Mechanics Matrix Controllers --- */
.components-reconnect-first-attempt-visible,
.components-reconnect-repeated-attempt-visible,
.components-reconnect-failed-visible,
.components-pause-visible,
.components-resume-failed-visible {
display: none !important;
}
#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible,
#components-reconnect-modal.components-reconnect-paused .components-pause-visible,
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible,
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible,
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible {
display: inline-block !important;
}
#components-reconnect-modal.components-reconnect-failed .btn-strip-action,
#components-reconnect-modal.components-reconnect-paused .btn-strip-action,
#components-reconnect-modal.components-reconnect-resume-failed .btn-strip-action {
display: inline-flex !important;
}
/* Tablet Parameters Response Collapse Matrix */
@media (max-width: 768px) {
.strip-container {
grid-template-columns: 1fr;
gap: 0.65rem;
text-align: center;
}
.sync-status-indicator {
border-right: none;
padding-right: 0;
justify-content: center;
}
.sync-action-node {
margin-top: 0.25rem;
}
}