199 lines
3.8 KiB
CSS
199 lines
3.8 KiB
CSS
/* ==========================================================
|
|
SOCIOWIRE MARKERS — ANCHOR STABLE (NO SHIFT)
|
|
Root = 0x0 on the exact geo point.
|
|
Bubble/Card are ABSOLUTE above the anchor.
|
|
========================================================== */
|
|
|
|
/* Root anchored by MapLibre at the geo point */
|
|
.post-pin {
|
|
position: relative;
|
|
width: 0;
|
|
height: 0;
|
|
pointer-events: none; /* children clickable */
|
|
transform: translate3d(0, 0, 0);
|
|
}
|
|
|
|
.post-pin * {
|
|
pointer-events: auto;
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
/* =========================
|
|
COMPACT
|
|
========================= */
|
|
.post-pin--compact .post-pin-bubble {
|
|
position: absolute;
|
|
left: 0;
|
|
top: 0;
|
|
transform: translate(-50%, calc(-100% - 12px));
|
|
display: inline-flex;
|
|
align-items: center;
|
|
padding: 4px 8px;
|
|
border-radius: 999px;
|
|
background: rgba(6, 40, 80, 0.95);
|
|
border: 1px solid rgba(80, 180, 255, 0.9);
|
|
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
|
|
max-width: 180px;
|
|
}
|
|
|
|
.post-pin-dot {
|
|
width: 10px;
|
|
height: 10px;
|
|
border-radius: 999px;
|
|
background: #ff8a00;
|
|
margin-right: 6px;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.post-pin-text {
|
|
color: #e8f5ff;
|
|
font-size: 11px;
|
|
font-weight: 500;
|
|
max-width: 160px;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
|
|
/* little pointer tip */
|
|
.post-pin--compact .post-pin-pointer-small {
|
|
position: absolute;
|
|
left: 0;
|
|
top: 0;
|
|
transform: translate(-50%, -100%);
|
|
width: 0;
|
|
height: 0;
|
|
border-left: 7px solid transparent;
|
|
border-right: 7px solid transparent;
|
|
border-top: 9px solid rgba(6, 40, 80, 0.95);
|
|
filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.6));
|
|
}
|
|
|
|
/* =========================
|
|
EXPANDED
|
|
========================= */
|
|
.post-pin--expanded {
|
|
z-index: 999999;
|
|
}
|
|
|
|
.post-pin--expanded .post-card {
|
|
position: absolute;
|
|
left: 0;
|
|
top: 0;
|
|
transform: translate(-50%, calc(-100% - 14px));
|
|
min-width: 260px;
|
|
max-width: 320px;
|
|
background: rgba(8, 20, 40, 0.97);
|
|
border-radius: 14px;
|
|
padding: 10px 12px;
|
|
box-shadow: 0 6px 18px rgba(0, 0, 0, 0.8);
|
|
border: 1px solid rgba(90, 190, 255, 0.9);
|
|
color: #e8f5ff;
|
|
}
|
|
|
|
/* header : catégorie + heure/date */
|
|
.post-card-header {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
font-size: 11px;
|
|
margin-bottom: 6px;
|
|
}
|
|
|
|
.post-card-cat {
|
|
font-weight: 600;
|
|
color: #8fc5ff;
|
|
}
|
|
|
|
.post-card-time {
|
|
color: #9eb7ff;
|
|
}
|
|
|
|
/* corps : media + texte */
|
|
.post-card-main {
|
|
display: flex;
|
|
flex-direction: row;
|
|
gap: 8px;
|
|
margin-bottom: 6px;
|
|
}
|
|
|
|
.post-card-media {
|
|
width: 72px;
|
|
height: 72px;
|
|
border-radius: 10px;
|
|
background: radial-gradient(circle at 30% 30%, #4a9dff, #07152b);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.post-card-media-label {
|
|
font-size: 9px;
|
|
text-align: center;
|
|
color: #e8f5ff;
|
|
}
|
|
|
|
.post-card-info {
|
|
flex: 1;
|
|
min-width: 0;
|
|
}
|
|
|
|
.post-card-title {
|
|
font-size: 13px;
|
|
font-weight: 600;
|
|
margin-bottom: 2px;
|
|
}
|
|
|
|
.post-card-meta {
|
|
font-size: 10px;
|
|
color: #9eb7ff;
|
|
margin-bottom: 4px;
|
|
}
|
|
|
|
.post-card-body {
|
|
font-size: 11px;
|
|
color: #c7e3ff;
|
|
max-height: 70px;
|
|
overflow: hidden;
|
|
}
|
|
|
|
/* footer boutons */
|
|
.post-card-footer {
|
|
display: flex;
|
|
gap: 6px;
|
|
margin-bottom: 6px;
|
|
flex-wrap: wrap;
|
|
}
|
|
|
|
.post-card-btn {
|
|
border: none;
|
|
border-radius: 999px;
|
|
padding: 3px 8px;
|
|
font-size: 10px;
|
|
background: rgba(5, 35, 70, 0.95);
|
|
color: #e8f5ff;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.post-card-comments {
|
|
font-size: 10px;
|
|
color: #9eb7ff;
|
|
padding: 4px 6px;
|
|
border-radius: 8px;
|
|
background: rgba(3, 14, 32, 0.95);
|
|
}
|
|
|
|
/* pointer under expanded card */
|
|
.post-pin--expanded .post-card-pointer {
|
|
position: absolute;
|
|
left: 0;
|
|
top: 0;
|
|
transform: translate(-50%, -100%);
|
|
width: 0;
|
|
height: 0;
|
|
border-left: 10px solid transparent;
|
|
border-right: 10px solid transparent;
|
|
border-top: 11px solid rgba(8, 20, 40, 0.97);
|
|
filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.8));
|
|
} |