:root{ --sw-subcats-nudge: -45px; /* subcats vertical nudge */ --sw-below-overlap: 40px; /* wall overlaps map a bit */ } .map-page{ display:flex; flex-direction:column; width:100%; } /* Map stage first */ .map-stage{ position:relative; width:100%; height: clamp(520px, 72vh, 860px); overflow: hidden; } /* Landscape: vh is small, reduce min height */ @media (orientation: landscape){ :root{ --sw-below-overlap: 22px; } .map-stage{ height: clamp(360px, 62vh, 720px); } } .map-container, .maplibre-container{ position:absolute; inset:0; width:100%; height:100%; } .map-status{ position:absolute; left:.5rem; bottom:.5rem; font-size:.7rem; padding:.2rem .4rem; background:rgba(0,0,0,.6); border-radius:.5rem; z-index:30; } /* BELOW MAP (scroll area) – pulled up slightly over map */ .below-stage{ margin-top: calc(var(--sw-below-overlap) * -1); position:relative; z-index:25; padding: .25rem .7rem 1.0rem; transition: opacity 320ms ease, filter 320ms ease; } .below-row{ display:flex; gap:.6rem; align-items:stretch; min-width:0; } /* stack only ultra-small (NOT normal portrait phones) */ @media (max-width: 340px){ .below-row{ flex-direction:column; } } /* ======== OVERLAYS ======== */ .map-overlay{ position:absolute; pointer-events:none; z-index:40; } .map-overlay *{ pointer-events:auto; } /* TOP: centré horizontalement, petit offset en haut */ .map-overlay-top{ top: .7rem; left:50%; transform:translateX(-50%); max-width: min(980px, calc(100vw - 24px)); width:100%; z-index: 500; /* Au-dessus des filtres (z-index: 300) */ } /* Left / right: filtres */ .map-overlay-left{ left:.7rem; top:50%; transform:translateY(-50%); display:flex; flex-direction:column; gap:.5rem; } .map-overlay-right{ right:.7rem; top:50%; transform:translateY(-50%); display:flex; flex-direction:column; gap:.5rem; } /* BOTTOM: sub-cats au-dessus du Sociowall */ .map-overlay-bottom{ bottom: calc(3.2rem + var(--sw-below-overlap, 0px) + env(safe-area-inset-bottom) + var(--sw-subcats-nudge, 0px)); left:50%; transform:translateX(-50%); display:flex; gap:.4rem; } /* Crosshair pour création */ .map-crosshair{ left:50%; top:30%; transform:translate(-50%,-50%); } .crosshair-aim{ width:34px; height:34px; border-radius:999px; border:1px solid #38bdf8; position:relative; box-shadow:0 0 14px rgba(56,189,248,.9); } .crosshair-aim::before, .crosshair-aim::after{ content:""; position:absolute; left:50%; top:50%; background:#38bdf8; transform:translate(-50%,-50%); } .crosshair-aim::before{ width:70%; height:1px; } .crosshair-aim::after{ width:1px; height:70px; } .create-panel-compact{ position:absolute; left:50%; top:45%; transform:translate(-50%,-45%); width:300px; max-height:74vh; overflow:auto; background: var(--sw-panel-bg, rgba(7, 10, 14, 0.78)); backdrop-filter: blur(18px); border-radius:18px; border:1px solid var(--sw-panel-border, rgba(56,189,248,0.5)); box-shadow: 0 20px 40px rgba(0,0,0,0.65), 0 0 30px rgba(56,189,248,0.25); padding: .4rem .5rem .55rem; color: var(--sw-text, #e5e7eb); } .create-panel-header{ display:flex; justify-content:space-between; align-items:center; font-size:.8rem; letter-spacing:.08em; text-transform:uppercase; color:var(--sw-text,#e5e7eb); margin-bottom:.25rem; } .create-panel-body{ display:flex; flex-direction:column; gap:.4rem; } .create-step-label{ font-size:.65rem; text-transform:uppercase; letter-spacing:.2em; color:var(--sw-muted,rgba(255,255,255,0.6)); } .create-panel-hero{ font-size:.85rem; color:var(--sw-text,#f8fafc); margin:0; } .create-panel-step{ display:flex; flex-direction:column; gap:.35rem; } .create-panel-note{ font-size:.75rem; color:var(--sw-muted,rgba(255,255,255,0.6)); margin:0; } .create-panel-field{ display:flex; flex-direction:column; gap:.25rem; font-size:.7rem; color:var(--sw-text,#e5e7eb); } .create-panel-selects select, .create-input-narrow{ background:rgba(255,255,255,0.04); color:var(--sw-text,#e5e7eb); border-radius:.65rem; border:1px solid var(--sw-panel-border,rgba(255,255,255,0.28)); padding:.35rem .55rem; } .create-panel-selects select{ min-height:36px; } .create-input-narrow::placeholder{ color:var(--sw-muted,rgba(255,255,255,0.6)); } .create-textarea-tight{ background:rgba(255,255,255,0.03); border:1px solid var(--sw-panel-border,rgba(255,255,255,0.28)); color:var(--sw-text,#e5e7eb); border-radius:.8rem; padding:.35rem .6rem; font-size:.75rem; min-height:100px; resize:none; } .create-panel-actions{ display:flex; justify-content:space-between; gap:.5rem; margin-top:.2rem; } .create-panel-btn{ flex:1; padding:.4rem .6rem; font-size:.7rem; border-radius:999px; border:1px solid var(--sw-panel-border,rgba(226,232,240,0.4)); background:var(--sw-chip-bg,rgba(15,23,42,0.75)); color:var(--sw-text,#e5e7eb); } .create-panel-btn.primary{ background:linear-gradient(120deg,#38bdf8,#22c55e); border-color:transparent; color:#0f172a; } .create-panel-hero, .create-panel-note, .create-hint-tight{ margin:0; } .create-link-preview-tight{ border-radius:12px; padding:.25rem; background:var(--sw-panel-bg-2,rgba(15,23,42,0.8)); border:1px solid var(--sw-panel-border,rgba(148,163,184,0.4)); } .create-post-header{ display:flex; justify-content:space-between; align-items:center; font-size:.8rem; margin-bottom:.4rem; color:#e5e7eb; } .create-mode-bar{ display:flex; flex-direction:column; gap:.35rem; margin-bottom:.4rem; } .create-mode-bar-label{ font-size:.66rem; text-transform:uppercase; letter-spacing:.18em; color:#94a3b8; } .create-mode-chips{ display:flex; gap:.35rem; flex-wrap:wrap; } .create-mode-chip{ flex:1 1 110px; display:flex; align-items:center; gap:.4rem; padding:.35rem .65rem; border-radius:999px; border:1px solid rgba(148, 163, 184, 0.4); background:rgba(15, 23, 42, 0.65); color:#e5e7eb; font-size:.7rem; cursor:pointer; transition:border-color .2s ease, box-shadow .2s ease; } .create-mode-chip.is-active{ border-color:transparent; background:linear-gradient(120deg,#38bdf8,#22c55e); color:#0f172a; box-shadow:0 10px 20px rgba(56,189,248,.25); } .create-mode-hint{ font-size:.72rem; color:#cbd5f5; line-height:1.3; min-height:1.1rem; } .mode-change-btn{ margin-top:.5rem; align-self:flex-start; } .mode-selector-widget{ position:absolute; left:50%; top:18%; transform:translate(-50%, -5%); pointer-events:auto; } .mode-selector-bg{ position:absolute; inset:0; border-radius:18px; background:linear-gradient(135deg,var(--sw-panel-bg-2,rgba(15,23,42,0.95)),var(--sw-panel-bg,rgba(15,23,42,0.8))); border:1px solid var(--sw-panel-border,rgba(56,189,248,0.4)); box-shadow:0 20px 30px rgba(0,0,0,0.45); } .mode-selector-chips{ position:relative; display:flex; flex-wrap:wrap; gap:.5rem; padding:.5rem; z-index:1; } .mode-selector-chip{ display:flex; align-items:center; gap:.35rem; padding:.5rem .8rem; border-radius:999px; border:1px solid var(--sw-panel-border,rgba(255,255,255,0.15)); background:var(--sw-panel-bg,rgba(15,23,42,0.9)); color:var(--sw-text,#e5e7eb); font-size:.7rem; cursor:pointer; transition:transform .15s ease, border-color .15s ease; } .mode-selector-chip.is-active{ border-color:rgba(56,189,248,0.8); background:rgba(56,189,248,0.25); } .mode-selector-chip i{ font-size:1rem; } .create-mode-details{ display:flex; flex-direction:column; gap:.2rem; font-size:.68rem; color:#9ca3af; } .create-stepper{ background:rgba(255,255,255,0.02); border-radius:999px; padding:.2rem .3rem; margin-bottom:.35rem; } .create-step{ font-size:.6rem; } .create-mode-detail-line{ display:flex; gap:.35rem; } .create-mode-detail-line::before{ content:"•"; font-size:.9rem; line-height:1.8; color:#38bdf8; } @media (max-width: 640px){ .create-mode-chips{ flex-wrap:nowrap; overflow-x:auto; } .create-mode-chip{ flex:0 0 auto; } } .create-mode-panel{ margin-bottom:.4rem; display:flex; flex-direction:column; gap:.35rem; } .create-mode-summary{ display:none; align-items:center; justify-content:space-between; gap:.35rem; border-radius:999px; border:1px solid rgba(148,163,184,0.4); padding:.35rem .6rem; background:rgba(15,23,42,0.5); font-size:.72rem; color:#e5e7eb; margin-bottom:.4rem; } .create-mode-summary-label{ display:flex; align-items:center; gap:.3rem; } .create-mode-summary-btn{ border-radius:999px; border:1px solid rgba(148,163,184,0.6); background:transparent; color:#e5e7eb; padding:.2rem .6rem; font-size:.65rem; cursor:pointer; } .create-mode-title{ font-size:.68rem; text-transform:uppercase; letter-spacing:.18em; color:#94a3b8; } .create-mode-chips{ display:flex; flex-wrap:wrap; gap:.4rem; } .create-mode-chip{ flex:1 1 110px; display:flex; align-items:center; gap:.35rem; padding:.35rem .6rem; border-radius:999px; border:1px solid rgba(148, 163, 184, 0.5); background:rgba(15,23,42,0.65); color:#e5e7eb; font-size:.7rem; cursor:pointer; transition:border-color .2s ease, box-shadow .2s ease; } .create-mode-chip:hover{ border-color:rgba(56,189,248,0.8); } .create-mode-chip.is-active{ border-color:transparent; background:linear-gradient(120deg,#38bdf8,#22c55e); color:#0f172a; box-shadow:0 6px 16px rgba(34,197,94,0.35); } .create-mode-icon{ font-size:0.9rem; } .create-mode-helper{ font-size:.72rem; color:#cbd5f5; line-height:1.25; min-height:1.2rem; } @media (max-width: 640px){ .create-mode-summary{ display:flex; } .create-mode-panel{ display:none; } .create-mode-panel.create-mode-visible-mobile{ display:flex; } } @media (max-width: 640px){ .create-post-panel{ bottom:3%; left:50%; transform:translateX(-50%); width:95%; max-width:100%; max-height:70vh; border-radius:14px; padding:.5rem .6rem .6rem; } .create-mode-chips{ gap:.3rem; flex-wrap:nowrap; overflow-x:auto; } .create-mode-chip{ flex:0 0 auto; } .create-mode-chip span{ font-size:.65rem; } .create-mode-title{ font-size:.6rem; } .create-stepper{ gap:.25rem; } .create-step-label{ font-size:.6rem; } .create-hint{ font-size:.65rem; } } .create-close{ background:transparent; border:none; color:#9ca3af; font-size:.85rem; padding:.1rem .3rem; cursor:pointer; } .create-stepper{ display:flex; justify-content:space-between; align-items:center; gap:.4rem; margin:.3rem 0 .35rem; } .create-step{ display:flex; align-items:center; gap:.35rem; color:#64748b; font-size:.68rem; text-transform:uppercase; letter-spacing:.08em; } .create-step-active{ color:#e2e8f0; } .create-step-dot{ width:18px; height:18px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:.65rem; background:#0f172a; border:1px solid #334155; color:#cbd5f5; } .create-step-current .create-step-dot{ background:linear-gradient(120deg, #38bdf8, #22c55e); border-color:transparent; color:#0f172a; font-weight:700; } .create-step-label{ font-weight:600; } .create-step-progress{ height:4px; background:rgba(148, 163, 184, 0.15); border-radius:999px; overflow:hidden; } .create-step-progress span{ display:block; height:100%; background:linear-gradient(90deg, #38bdf8, #22c55e); } .create-step-body{ margin-top:.35rem; padding-bottom:.4rem; } .create-row{ display:flex; align-items:center; gap:.5rem; margin-bottom:.4rem; } .create-link-row{ display:flex; align-items:center; gap:.5rem; margin-bottom:.35rem; } .create-link-input{ flex:1; margin-bottom:0; } .create-link-btn{ border-radius:999px; border:1px solid rgba(148, 163, 184, 0.4); background:#0f172a; color:#e2e8f0; padding:.35rem .7rem; font-size:.7rem; cursor:pointer; white-space:nowrap; } .create-link-btn:disabled{ opacity:.6; cursor:not-allowed; } .create-link-meta{ display:flex; gap:.6rem; font-size:.68rem; color:#94a3b8; margin-bottom:.35rem; } .create-link-error{ font-size:.68rem; color:#f87171; margin-bottom:.35rem; } .crosshair-label{ font-size:.75rem; color:#cbd5f5; } .create-hint{ margin-top:.2rem; font-size:.7rem; color:#94a3b8; } .create-row select{ flex:1; background:#020617; border-radius:999px; border:1px solid #4b5563; padding:.35rem .7rem; font-size:.75rem; color:#e5e7eb; } .create-input{ width:100%; margin-bottom:.3rem; border-radius:999px; border:1px solid #4b5563; padding:.35rem .7rem; background:#020617; color:#e5e7eb; font-size:.8rem; } .create-textarea{ width:100%; border-radius:.75rem; border:1px solid #4b5563; padding:.35rem .7rem; background:#020617; color:#e5e7eb; resize:none; font-size:.78rem; } .create-image-option{ margin-top:.4rem; } .create-checkbox{ display:flex; align-items:center; gap:.5rem; font-size:.72rem; color:#e5e7eb; cursor:pointer; } .create-image-panel{ display:flex; flex-direction:column; gap:.4rem; margin-top:.35rem; } .create-image-choice{ display:flex; gap:.5rem; align-items:center; margin:.25rem 0 .35rem; } .create-image-choice-btn{ flex:1; padding:.4rem .6rem; border-radius:999px; border:1px solid rgba(148, 163, 184, 0.35); background:rgba(15, 23, 42, 0.6); color:#e2e8f0; font-size:.72rem; font-weight:700; cursor:pointer; } .create-image-choice-btn.is-active{ border-color: rgba(56, 189, 248, 0.7); box-shadow: 0 0 0 2px rgba(56, 189, 248, 0.2); } .create-image-placeholder{ display:flex; align-items:center; gap:.6rem; padding:.6rem; border-radius:12px; border:1px dashed rgba(148, 163, 184, 0.4); background:rgba(15, 23, 42, 0.45); margin:.35rem 0 .65rem; } .create-image-placeholder-title{ font-size:.8rem; font-weight:800; color:#e2e8f0; } .create-image-placeholder-sub{ font-size:.7rem; color:#94a3b8; } .create-image-row{ display:flex; gap:.5rem; align-items:center; } .create-file-input{ display:none; } .create-file-btn{ display:inline-flex; align-items:center; gap:.4rem; padding:.35rem .7rem; border-radius:999px; border:1px solid rgba(148, 163, 184, 0.4); color:#e2e8f0; font-size:.7rem; background:rgba(15, 23, 42, 0.8); cursor:pointer; } .create-file-btn--camera{ border-color: rgba(56, 189, 248, 0.65); color:#e0f2fe; } .create-uploading{ font-size:.7rem; color:#38bdf8; } .create-image-preview-row{ display:flex; align-items:center; gap:.5rem; } .create-image-preview-row img{ width:44px; height:44px; border-radius:8px; object-fit:cover; border:1px solid rgba(148, 163, 184, 0.5); } .create-image-preview-row button{ background:transparent; border:1px solid rgba(148, 163, 184, 0.4); color:#e2e8f0; padding:.2rem .45rem; border-radius:999px; font-size:.68rem; } .create-image-gallery{ display:flex; flex-direction:column; gap:.3rem; margin-bottom:.4rem; } .create-gallery-title{ font-size:.7rem; text-transform:uppercase; letter-spacing:0.2em; color:rgba(226, 232, 240, 0.7); } .create-gallery-items{ display:flex; flex-wrap:nowrap; gap:.3rem; overflow-x:auto; padding-bottom:.25rem; } .create-gallery-item{ position:relative; width:54px; height:54px; } .create-gallery-item img{ width:100%; height:100%; object-fit:cover; border-radius:10px; border:1px solid rgba(148, 163, 184, 0.5); } .create-gallery-remove{ position:absolute; top:-6px; right:-6px; width:22px; height:22px; border-radius:50%; border:1px solid rgba(255,255,255,0.4); background:rgba(15,23,42,0.8); color:#f8fafc; font-size:12px; display:flex; align-items:center; justify-content:center; cursor:pointer; } .create-gallery-row{ display:flex; gap:.35rem; margin-top:.6rem; overflow-x:auto; padding-bottom:.25rem; } .create-gallery-static{ width:48px; height:48px; border-radius:12px; border:1px solid rgba(255,255,255,0.3); overflow:hidden; flex:0 0 auto; } .create-gallery-static img{ width:100%; height:100%; object-fit:cover; display:block; } .create-link-preview{ position:relative; overflow:hidden; border-radius:18px; background:rgba(15,23,42,0.8); box-shadow:0 20px 40px rgba(2,6,23,0.45); } .create-link-preview-tight img{ width:100%; height:200px; object-fit:cover; display:block; border-bottom:1px solid rgba(255,255,255,0.1); } .create-gallery-overlay{ position:absolute; top:12px; right:12px; padding-bottom:0; background:rgba(15,23,42,0.35); border-radius:999px; } .create-gallery-overlay .create-gallery-item{ width:40px; height:40px; } .create-gallery-overlay .create-gallery-remove{ top:-4px; right:-4px; width:18px; height:18px; font-size:10px; } .create-image-url-row{ display:flex; gap:.4rem; } .create-gallery-add{ flex:0 0 auto; padding:.35rem .65rem; border-radius:999px; border:1px solid rgba(56, 189, 248, 0.7); background:rgba(56, 189, 248, 0.15); color:#e0f2fe; font-size:.72rem; font-weight:700; cursor:pointer; } .create-link-preview{ display:flex; align-items:center; gap:.65rem; padding:.45rem .6rem; border-radius:12px; border:1px solid rgba(148, 163, 184, 0.35); background:rgba(15, 23, 42, 0.55); margin-bottom:.6rem; } .create-link-preview img{ width:58px; height:58px; border-radius:10px; object-fit:cover; border:1px solid rgba(148, 163, 184, 0.5); } .create-link-preview-meta{ display:flex; flex-direction:column; gap:.2rem; font-size:.7rem; color:#cbd5f5; } .create-muted{ font-size:.7rem; color:#94a3b8; } .create-privacy-row{ display:flex; align-items:center; gap:.5rem; font-size:.7rem; color:#e5e7eb; } .create-privacy-row label{ white-space:nowrap; color:#cbd5f5; } .create-privacy-row select{ flex:1; background:#020617; border-radius:999px; border:1px solid #4b5563; padding:.3rem .6rem; font-size:.72rem; color:#e5e7eb; } .create-error{ margin-top:.25rem; font-size:.7rem; color:#f97373; } .create-actions{ margin-top:.6rem; display:flex; justify-content:space-between; align-items:center; gap:.5rem; } .create-actions-right{ display:flex; gap:.45rem; align-items:center; } .create-back{ background:transparent; border:1px solid rgba(148, 163, 184, 0.4); color:#cbd5f5; padding:.35rem .8rem; border-radius:999px; font-size:.72rem; cursor:pointer; } .create-back:disabled{ opacity:.45; cursor:not-allowed; } .create-review-card{ display:grid; grid-template-columns:72px 1fr; gap:.7rem; padding:.6rem; margin-top:.5rem; border-radius:12px; border:1px solid rgba(148, 163, 184, 0.35); background:rgba(2, 6, 23, 0.7); } .create-review-media{ width:72px; height:72px; border-radius:12px; overflow:hidden; background:rgba(30, 41, 59, 0.85); display:flex; align-items:center; justify-content:center; } .create-review-media img{ width:100%; height:100%; object-fit:cover; } .create-review-icon{ width:46px; height:46px; border-radius:14px; background:rgba(56, 189, 248, 0.2); display:flex; align-items:center; justify-content:center; color:#38bdf8; font-size:1.1rem; } .create-review-meta{ display:flex; flex-direction:column; gap:.2rem; } .create-review-title{ font-size:.85rem; color:#e2e8f0; font-weight:600; } .create-review-sub{ font-size:.7rem; color:#94a3b8; } .create-review-body{ font-size:.74rem; color:#cbd5f5; max-height:3.8em; overflow:hidden; } .create-review-visibility{ font-size:.68rem; color:#38bdf8; } body[data-theme="blue"] .create-post-panel{ background: rgba(12, 20, 60, 0.96); border-color: rgba(96, 165, 250, 0.95); box-shadow: 0 16px 40px rgba(2,8,26,.85), 0 0 24px rgba(56,189,248,.5); } body[data-theme="blue"] .create-row select, body[data-theme="blue"] .create-input, body[data-theme="blue"] .create-textarea, body[data-theme="blue"] .create-privacy-row select, body[data-theme="blue"] .create-link-btn{ background: #0b1b3b; border-color: rgba(96, 165, 250, 0.5); color:#e2e8f0; } body[data-theme="blue"] .create-step{ color:#94a3b8; } body[data-theme="blue"] .create-step-active{ color:#e2e8f0; } body[data-theme="blue"] .create-step-dot{ background:#0b1b3b; border-color: rgba(96, 165, 250, 0.6); color:#e2e8f0; } body[data-theme="blue"] .create-back{ border-color: rgba(96, 165, 250, 0.55); color:#e2e8f0; } body[data-theme="blue"] .create-review-card{ background: rgba(3, 10, 28, 0.7); border-color: rgba(96, 165, 250, 0.4); } body[data-theme="light"] .create-post-panel{ background: rgba(248, 250, 252, 0.98); border-color: rgba(148, 163, 184, 0.9); box-shadow: 0 18px 36px rgba(15, 23, 42, 0.15); color:#0f172a; } body[data-theme="light"] .create-row select, body[data-theme="light"] .create-input, body[data-theme="light"] .create-textarea, body[data-theme="light"] .create-privacy-row select, body[data-theme="light"] .create-link-btn{ background:#ffffff; border-color: rgba(148, 163, 184, 0.7); color:#0f172a; } body[data-theme="light"] .create-step{ color:#64748b; } body[data-theme="light"] .create-step-active{ color:#0f172a; } body[data-theme="light"] .create-step-dot{ background:#ffffff; border-color: rgba(148, 163, 184, 0.7); color:#334155; } body[data-theme="light"] .create-step-current .create-step-dot{ color:#0f172a; } body[data-theme="light"] .create-hint, body[data-theme="light"] .create-muted{ color:#64748b; } body[data-theme="light"] .create-back{ border-color: rgba(148, 163, 184, 0.7); color:#0f172a; } body[data-theme="light"] .create-review-card{ background: rgba(241, 245, 249, 0.95); border-color: rgba(148, 163, 184, 0.6); } body[data-theme="light"] .create-review-title{ color:#0f172a; } body[data-theme="light"] .create-review-body{ color:#334155; } .chip-pill{ background: rgba(15, 23, 42, 0.96); border: 1px solid rgba(148, 163, 184, 0.85); color: #e5e7eb; padding: 0.45rem 0.9rem; font-size: 0.78rem; border-radius: 999px; cursor: pointer; box-shadow: 0 5px 12px rgba(0,0,0,.7), 0 0 12px rgba(56,189,248,.35); } /* ===== SEARCHBAR TOP ===== */ .sw-searchbar{ pointer-events: auto; display:flex; align-items:center; gap: .55rem; padding: 0.42rem 0.70rem; border-radius: 999px; background: rgba(15, 23, 42, 0.92); border: 1px solid rgba(148, 163, 184, 0.85); box-shadow: 0 5px 12px rgba(0,0,0,.70), 0 0 14px rgba(56,189,248,.22); backdrop-filter: blur(10px); min-height: 38px; width: 100%; /* ✅ prend toute la largeur de son conteneur */ } .sw-searchbar:focus-within{ border-color: rgba(56,189,248,.85); box-shadow: 0 8px 18px rgba(0,0,0,.72), 0 0 18px rgba(56,189,248,.35); } .sw-search-icon{ font-size: 14px; opacity: .95; } .sw-search-input{ border: none; outline: none; background: transparent; color: #e5e7eb; font-size: 0.80rem; font-weight: 800; width: 100%; max-width: 100%; min-width: 0; } .sw-search-input::placeholder{ color: rgba(203, 213, 225, 0.88); font-weight: 800; } .sw-search-clear{ border: none; cursor: pointer; width: 28px; height: 28px; border-radius: 999px; background: rgba(2,6,23,.35); border: 1px solid rgba(148,163,184,.35); color: #e5e7eb; font-weight: 900; display:grid; place-items:center; } .sw-search-clear:active{ transform: scale(0.97); } /* Light theme */ body[data-theme="light"] .sw-searchbar{ background: rgba(255,255,255,0.92); border-color: rgba(148, 163, 184, 0.85); box-shadow: 0 8px 18px rgba(0,0,0,.10); } body[data-theme="light"] .sw-search-input{ color:#0B1220; } body[data-theme="light"] .sw-search-input::placeholder{ color: rgba(91, 103, 122, 0.92); } body[data-theme="light"] .sw-search-clear{ background: rgba(255,255,255,.85); color:#0B1220; border-color: rgba(148,163,184,.55); } /* ===== TOP ROW: search + 2 icônes ===== */ /* Ligne entière */ .sw-top-row{ display:flex; align-items:center; justify-content:space-between; gap:0.75rem; width:100%; } /* ✅ Search = prend tout, icônes juste ce qu’il faut */ .sw-top-search{ flex: 1 1 auto; max-width: 100%; } /* bloc des 2 boutons à droite, taille compacte */ .map-top-actions{ flex: 0 0 auto; display:flex; flex-direction:row; align-items:center; justify-content:flex-end; gap:0.5rem; } /* boutons icône */ .map-action-btn{ display:flex; flex-direction:column; align-items:center; justify-content:center; padding:0.35rem 0.55rem; border-radius:999px; border:1px solid rgba(255,255,255,0.15); background:rgba(5, 25, 60, 0.25); backdrop-filter:blur(8px); box-shadow:0 6px 14px rgba(0,0,0,0.35); font-size:0.7rem; line-height:1.1; cursor:pointer; white-space:nowrap; } .map-action-btn:disabled{ opacity:0.45; cursor:default; } .map-action-icon{ font-size:1.05rem; margin-bottom:0.15rem; } .map-action-label{ font-size:0.6rem; text-transform:uppercase; letter-spacing:0.04em; } /* petits écrans : on compresse un peu les boutons */ @media (max-width:480px){ .sw-top-row{ gap:0.5rem; } .map-action-btn{ padding:0.3rem 0.45rem; } } /* === CACHER LES BOUTONS DE ZOOM MAPLIBRE (+/-) === */ .maplibregl-ctrl-zoom-in, .maplibregl-ctrl-zoom-out{ display:none !important; } /* FIX FINAL : Texte blanc sur boutons MY SPOT / NEW WIRE (force le texte) */ .map-action-btn, .map-action-btn * { color: #e5e7eb !important; /* blanc forcé */ } /* FIX FINAL : Texte noir sous thème Blue (comme Light) */ body[data-theme="blue"] .map-action-btn, body[data-theme="blue"] .map-action-btn * { color: #0b1220 !important; /* noir forcé */ } /* Light theme : texte noir si besoin */ body[data-theme="light"] .map-action-btn, body[data-theme="light"] .map-action-btn * { color: #0b1220 !important; } /* FIX FINAL : Supprime le spot blanc MapLibre (cercle blanc en bas à droite) */ .maplibregl-ctrl-bottom-right, .maplibregl-ctrl-group { display: none !important; } .maplibregl-ctrl { background: transparent !important; box-shadow: none !important; } .map-overlay.mode-selector-widget{ pointer-events:none; }