:root{
  --sw-subcats-nudge: -45px; /* subcats vertical nudge */
  --sw-below-overlap: 120px;  /* sociowall overlaps map */
}

.map-page{
  display:flex;
  flex-direction:column;
  width:100%;
}

/* Map stage - 7/8 of viewport on desktop */
.map-stage{
  position:relative;
  width:100%;
  height: clamp(500px, 87.5vh, 1100px);
  overflow: hidden;
}

.map-stage--placeholder{
  display:flex;
  align-items:center;
  justify-content:center;
  background:
    radial-gradient(circle at 20% 20%, rgba(56,189,248,0.2), transparent 45%),
    radial-gradient(circle at 80% 30%, rgba(14,116,144,0.25), transparent 40%),
    linear-gradient(135deg, rgba(2,6,23,0.9), rgba(6,14,36,0.95));
  border: 1px solid rgba(56,189,248,0.25);
}

.map-placeholder-content{
  text-align:center;
  padding: 16px 20px;
  border-radius: 16px;
  background: rgba(2, 6, 23, 0.5);
  border: 1px solid rgba(148, 163, 184, 0.25);
  color: #e2e8f0;
  box-shadow: 0 14px 30px rgba(2,6,23,0.4);
}

.map-placeholder-title{
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 0.02em;
}

.map-placeholder-subtitle{
  margin-top: 6px;
  font-size: 13px;
  color: rgba(226, 232, 240, 0.75);
}

.map-placeholder-overlay{
  position:absolute;
  display:flex;
  gap: 10px;
  z-index: 2;
  opacity: 0.85;
}

.map-placeholder-top{
  top: 16px;
  left: 50%;
  transform: translateX(-50%);
}

.map-placeholder-left{
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  flex-direction: column;
}

.map-placeholder-right{
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  flex-direction: column;
}

.map-placeholder-bottom{
  left: 50%;
  bottom: 18px;
  transform: translateX(-50%);
}

.map-placeholder-pill{
  width: 42px;
  height: 42px;
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(148,163,184,0.15), rgba(56,189,248,0.25));
  border: 1px solid rgba(148, 163, 184, 0.25);
  box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.4);
  animation: map-skel-pulse 1.6s ease-in-out infinite;
}

.map-placeholder-pill--wide{
  width: min(520px, calc(100vw - 72px));
  height: 48px;
  border-radius: 18px;
}

.map-placeholder-chip{
  width: 84px;
  height: 30px;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(148,163,184,0.18), rgba(14,116,144,0.25));
  border: 1px solid rgba(148, 163, 184, 0.25);
  animation: map-skel-pulse 1.6s ease-in-out infinite;
}

@keyframes map-skel-pulse{
  0%{ opacity: 0.5; }
  50%{ opacity: 1; }
  100%{ opacity: 0.6; }
}

/* Landscape: vh is small, but still keep map tall */
@media (orientation: landscape){
  :root{ --sw-below-overlap: 90px; }
  .map-stage{ height: clamp(400px, 80vh, 900px); }
}

.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) – overlaps map */
.below-stage{
  margin-top: calc(var(--sw-below-overlap) * -1);
  position:relative;
  z-index:250;
  padding: 0.5rem 1rem 1.5rem;
  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: 850; /* Above FAB (820) but below modals (9999) */
}


/* Left / right: filtres */
.map-overlay-left{
  left: 0.6rem;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.map-overlay-right{
  right: 0.6rem;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  gap: 0.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 - centered for mobile thumb reach */
.map-crosshair{
  left:50%;
  top:45%;
  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-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:0;
  margin-top:.1rem;
  overflow-x:auto;
  padding-bottom:.05rem;
}
.create-gallery-row figure{
  margin:0;
}
.create-gallery-row--bottom{
  margin-bottom:.2rem;
}
.create-gallery-static{
  width:44px;
  height:44px;
  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-card{
  position:relative;
  border-radius:18px;
  background:rgba(15,23,42,0.85);
  border:1px solid rgba(148,163,184,0.4);
  box-shadow:0 20px 40px rgba(2,6,23,0.35);
  padding:.35rem;
  display:flex;
  flex-direction:column;
  gap:.45rem;
  margin-bottom:.5rem;
}
.create-link-preview-card img{
  width:100%;
  height:140px;
  border-radius:14px;
  object-fit:cover;
  border:1px solid rgba(148,163,184,0.5);
  display:block;
}
.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-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;
}

/* ===== FLOATING CREATE UI ===== */
.create-floating-ui{
  --cf-bg: rgba(15,20,30,0.92);
  --cf-border: rgba(100,116,139,0.25);
  --cf-text: #f1f5f9;
  --cf-muted: #cbd5e1;
  --cf-accent: #e2e8f0;
  --cf-glow: rgba(226,232,240,0.08);
  --cf-input: rgba(30,41,59,0.9);

  position:fixed;
  bottom:50%;
  left:50%;
  transform:translate(-50%, 50%);
  z-index:900; /* Below modals (9999) but above filters/content */
  display:flex;
  flex-direction:column;
  gap:6px;
  width:min(320px, calc(100vw - 24px));
  pointer-events:none;
}

body[data-theme="light"] .create-floating-ui{
  --cf-bg: rgba(255,255,255,0.94);
  --cf-border: rgba(148,163,184,0.3);
  --cf-text: #1e293b;
  --cf-muted: #475569;
  --cf-accent: #334155;
  --cf-glow: rgba(51,65,85,0.08);
  --cf-input: rgba(241,245,249,0.95);
}

body[data-theme="blue"] .create-floating-ui{
  --cf-bg: rgba(15,23,42,0.95);
  --cf-border: rgba(51,65,85,0.5);
  --cf-text: #f1f5f9;
  --cf-muted: #cbd5e1;
  --cf-accent: #e2e8f0;
  --cf-glow: rgba(226,232,240,0.06);
  --cf-input: rgba(30,41,59,0.98);
}

/* Close button - inline top right */
.cfloat-close{
  position:absolute;
  top:-40px;
  right:0;
  width:32px;
  height:32px;
  border-radius:8px;
  background: var(--cf-bg);
  border:1px solid var(--cf-border);
  color: var(--cf-muted);
  font-size:0.85rem;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  pointer-events:auto;
  backdrop-filter:blur(20px) saturate(1.2);
  -webkit-backdrop-filter:blur(20px) saturate(1.2);
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  transition:all 0.2s;
}

.cfloat-close:hover{
  background:rgba(239,68,68,0.15);
  border-color:rgba(239,68,68,0.5);
  color:#ef4444;
}

/* Box base - stacked */
.cfloat-box{
  background: var(--cf-bg);
  border:1px solid var(--cf-border);
  border-radius:12px;
  padding:10px 14px;
  backdrop-filter:blur(20px) saturate(1.2);
  -webkit-backdrop-filter:blur(20px) saturate(1.2);
  pointer-events:auto;
  color: var(--cf-text);
  animation: cfloat-in 0.2s ease-out;
  box-shadow: 0 4px 16px rgba(0,0,0,0.15);
}

@keyframes cfloat-in{
  from{ opacity:0; transform:translateY(8px); }
  to{ opacity:1; transform:translateY(0); }
}

/* Step indicator */
.cfloat-step{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font-weight:600;
  font-size:0.9rem;
  padding:6px 10px;
}

.cfloat-step i{
  color: var(--cf-accent);
  font-size:1rem;
}

/* Hint */
.cfloat-hint{
  text-align:center;
  padding:10px 14px;
}

.cfloat-hint p{
  margin:0;
  font-size:0.9rem;
  line-height:1.4;
  color: var(--cf-muted);
}

/* Category */
.cfloat-category label{
  display:block;
  font-size:0.7rem;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:0.05em;
  color: var(--cf-muted);
  margin-bottom:6px;
}

.cfloat-selects{
  display:flex;
  gap:6px;
}

.cfloat-selects select{
  flex:1;
  background: var(--cf-input);
  color: var(--cf-text);
  border:1px solid var(--cf-border);
  border-radius:8px;
  padding:8px 10px;
  font-size:0.85rem;
  cursor:pointer;
}

.cfloat-selects select:focus{
  outline:none;
  border-color: var(--cf-accent);
}

/* Title */
.cfloat-title label{
  display:block;
  font-size:0.7rem;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:0.05em;
  color: var(--cf-muted);
  margin-bottom:6px;
}

.cfloat-title input{
  width:100%;
  background: var(--cf-input);
  color: var(--cf-text);
  border:1px solid var(--cf-border);
  border-radius:8px;
  padding:10px 12px;
  font-size:0.9rem;
}

.cfloat-title input:focus{
  outline:none;
  border-color: var(--cf-accent);
}

.cfloat-meta{
  display:block;
  margin-top:4px;
  font-size:0.7rem;
  color: var(--cf-accent);
}

.cfloat-error{
  display:block;
  margin-top:4px;
  font-size:0.7rem;
  color:#ef4444;
}

/* Preview - compact */
.cfloat-preview{
  display:flex;
  align-items:center;
  gap:10px;
  padding:6px;
}

.cfloat-preview img{
  width:60px;
  height:45px;
  object-fit:cover;
  border-radius:6px;
  flex-shrink:0;
}

.cfloat-preview span{
  font-size:0.8rem;
  color: var(--cf-muted);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

/* Description */
.cfloat-desc label{
  display:block;
  font-size:0.7rem;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:0.05em;
  color: var(--cf-muted);
  margin-bottom:6px;
}

.cfloat-desc textarea{
  width:100%;
  background: var(--cf-input);
  color: var(--cf-text);
  border:1px solid var(--cf-border);
  border-radius:8px;
  padding:8px 10px;
  font-size:0.85rem;
  resize:none;
  height:60px;
}

.cfloat-desc textarea:focus{
  outline:none;
  border-color: var(--cf-accent);
}

/* Image */
.cfloat-image{
  padding:6px 10px;
}

.cfloat-img-toggle{
  display:flex;
  gap:6px;
  margin-bottom:8px;
}

.cfloat-img-toggle button{
  flex:1;
  padding:6px 8px;
  border-radius:6px;
  border:1px solid var(--cf-border);
  background:transparent;
  color: var(--cf-muted);
  font-size:0.8rem;
  cursor:pointer;
  transition:all 0.15s;
}

.cfloat-img-toggle button.active{
  background: rgba(255,255,255,0.15);
  border-color: var(--cf-text);
  color: var(--cf-text);
}

.cfloat-img-toggle button i{
  margin-right:3px;
}

.cfloat-img-upload{
  display:flex;
  gap:6px;
}

.cfloat-img-upload label{
  flex:1;
  padding:8px 6px;
  border-radius:6px;
  border:1px dashed var(--cf-border);
  background: var(--cf-input);
  color: var(--cf-muted);
  font-size:0.7rem;
  text-align:center;
  cursor:pointer;
  transition:all 0.15s;
}

.cfloat-img-upload label:hover{
  border-color: var(--cf-accent);
  color: var(--cf-accent);
}

.cfloat-img-upload label i{
  display:block;
  font-size:1rem;
  margin-bottom:2px;
}

/* Gallery thumbnails */
.cfloat-gallery{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:8px;
}

.cfloat-gallery-item{
  position:relative;
  width:60px;
  height:60px;
  border-radius:8px;
  overflow:hidden;
  border:1px solid var(--cf-border);
}

.cfloat-gallery-item img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.cfloat-gallery-item button{
  position:absolute;
  top:2px;
  right:2px;
  width:20px;
  height:20px;
  border-radius:50%;
  border:none;
  background:rgba(0,0,0,0.6);
  color:#fff;
  font-size:0.65rem;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
}

.cfloat-gallery-item button:hover{
  background:rgba(239,68,68,0.8);
}

/* Error box */
.cfloat-error-box{
  display:flex;
  align-items:center;
  gap:8px;
  background:rgba(239,68,68,0.15);
  border-color:rgba(239,68,68,0.4);
  color:#fca5a5;
}

.cfloat-error-box i{
  color:#ef4444;
  font-size:0.9rem;
}

.cfloat-error-box span{
  font-size:0.8rem;
  line-height:1.3;
}

/* Navigation */
.cfloat-nav{
  display:flex;
  gap:8px;
  padding:6px 10px;
}

.cfloat-btn{
  flex:1;
  padding:10px 16px;
  border-radius:8px;
  border:1px solid var(--cf-border);
  background: var(--cf-input);
  color: var(--cf-text);
  font-size:0.85rem;
  font-weight:600;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  transition:all 0.15s;
}

.cfloat-btn:disabled{
  opacity:0.4;
  cursor:not-allowed;
}

.cfloat-btn:hover:not(:disabled){
  border-color: var(--cf-accent);
}

.cfloat-btn-primary{
  background: var(--cf-accent);
  border-color: var(--cf-accent);
  color:#0f172a;
}

.cfloat-btn-primary:hover:not(:disabled){
  filter:brightness(1.1);
}

/* ===== MODE SELECTOR V2 - IMPROVED DESIGN ===== */

.mode-selector-backdrop{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,0.5);
  z-index:9998;
  backdrop-filter:blur(4px);
}

.mode-selector-v2{
  --ms-bg: rgba(8,12,24,0.95);
  --ms-glass: rgba(15,23,42,0.85);
  --ms-border: rgba(56,189,248,0.3);
  --ms-text: #f1f5f9;
  --ms-text-muted: #94a3b8;
  --ms-accent: #38bdf8;
  --ms-glow: rgba(56,189,248,0.25);

  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  pointer-events:auto;
  background: var(--ms-bg);
  backdrop-filter: blur(20px);
  border-radius:18px;
  border:1px solid var(--ms-border);
  box-shadow:
    0 25px 60px rgba(0,0,0,0.5),
    0 0 40px var(--ms-glow);
  padding:1rem;
  min-width:260px;
  z-index:9999;
}

body[data-theme="light"] .mode-selector-v2{
  --ms-bg: rgba(248,250,252,0.97);
  --ms-glass: rgba(255,255,255,0.9);
  --ms-border: rgba(148,163,184,0.5);
  --ms-text: #1e293b;
  --ms-text-muted: #475569;
  --ms-accent: #0ea5e9;
  --ms-glow: rgba(14,165,233,0.15);
}

body[data-theme="blue"] .mode-selector-v2{
  --ms-bg: rgba(15,23,42,0.97);
  --ms-glass: rgba(30,41,59,0.9);
  --ms-border: rgba(71,85,105,0.5);
  --ms-text: #e2e8f0;
  --ms-text-muted: #94a3b8;
  --ms-accent: #60a5fa;
  --ms-glow: rgba(96,165,250,0.15);
}

.mode-selector-v2 .mode-selector-bg{
  display:none;
}

.mode-selector-close{
  position:absolute;
  top:0.6rem;
  right:0.6rem;
  width:28px;
  height:28px;
  border-radius:50%;
  border:1px solid var(--ms-border);
  background: var(--ms-glass);
  color: var(--ms-text-muted);
  font-size:0.9rem;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:all 0.2s ease;
  z-index:10;
}

.mode-selector-close:hover{
  background:rgba(239,68,68,0.15);
  border-color:rgba(239,68,68,0.5);
  color:#f87171;
  transform:scale(1.05);
}

.mode-selector-title{
  text-align:center;
  font-size:1rem;
  font-weight:700;
  color: var(--ms-text);
  margin-bottom:0.8rem;
  padding-right:1.5rem;
}

.mode-selector-v2 .mode-selector-chips{
  display:flex;
  flex-direction:column;
  gap:0.5rem;
  padding:0;
}

.mode-selector-v2 .mode-selector-chip{
  display:flex;
  align-items:center;
  gap:0.7rem;
  padding:0.7rem 1rem;
  border-radius:12px;
  border:1px solid var(--ms-border);
  background: var(--ms-glass);
  color: var(--ms-text);
  font-size:0.9rem;
  font-weight:500;
  cursor:pointer;
  transition:all 0.2s ease;
  text-align:left;
}

.mode-selector-v2 .mode-selector-chip i{
  font-size:1.1rem;
  width:22px;
  text-align:center;
  color: var(--ms-accent);
}

.mode-selector-v2 .mode-selector-chip:hover{
  border-color: var(--ms-accent);
  transform:translateX(3px);
}

.mode-selector-v2 .mode-selector-chip.is-active{
  background: var(--ms-glow);
  border-color: var(--ms-accent);
}

@media (max-width: 360px){
  .mode-selector-v2{
    min-width:auto;
    width:calc(100vw - 24px);
    padding:0.8rem;
  }
  .mode-selector-v2 .mode-selector-chip{
    padding:0.6rem 0.8rem;
    font-size:0.85rem;
  }
}

/* Location Picker UI */
.location-picker-ui {
  position: absolute;
  top: 58%; /* Position hint below crosshair (which is at 45%) */
  left: 50%;
  transform: translate(-50%, 0);
  z-index: 1100;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}

.location-picker-hint {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 20px;
  background: linear-gradient(135deg, rgba(15, 23, 42, 0.95), rgba(30, 41, 59, 0.9));
  border: 1px solid rgba(96, 165, 250, 0.4);
  border-radius: 16px;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  backdrop-filter: blur(12px);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
}

.location-picker-hint i {
  font-size: 18px;
  color: #60a5fa;
}

.location-picker-actions {
  display: flex;
  gap: 12px;
}

.location-picker-cancel,
.location-picker-confirm {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 24px;
  border: none;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.2s ease;
}

.location-picker-cancel {
  background: rgba(30, 41, 59, 0.9);
  border: 1px solid rgba(148, 163, 184, 0.3);
  color: #94a3b8;
}

.location-picker-cancel:hover {
  background: rgba(239, 68, 68, 0.2);
  border-color: rgba(239, 68, 68, 0.4);
  color: #f87171;
}

.location-picker-confirm {
  background: linear-gradient(135deg, #3b82f6, #06b6d4);
  color: #fff;
  box-shadow: 0 4px 16px rgba(59, 130, 246, 0.4);
}

.location-picker-confirm:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 24px rgba(59, 130, 246, 0.5);
}

.location-picker-confirm:active {
  transform: translateY(0);
}
