/* PMS - Zone d’intervention V4 (Premium) */
.pms-zi-wrap{--pms-radius:18px;--pms-bg:#fff;--pms-fg:#101828;--pms-muted:rgba(16,24,40,.70);--pms-line:rgba(16,24,40,.10);--pms-card:rgba(255,255,255,.92);--pms-shadow:0 14px 40px rgba(16,24,40,.10);--pms-primary:#DD343B;--pms-primary-ghost:rgba(221,52,59,.10);--pms-focus:rgba(221,52,59,.45);max-width:1200px;margin:0 auto;padding:14px;border-radius:calc(var(--pms-radius) + 6px);border:1px solid var(--pms-line);background:var(--pms-bg);color:var(--pms-fg);box-shadow:var(--pms-shadow);position:relative}
.pms-zi-theme-dark{--pms-bg:#0f1115;--pms-fg:#eef2ff;--pms-muted:rgba(238,242,255,.75);--pms-line:rgba(238,242,255,.10);--pms-card:rgba(15,17,21,.85);--pms-shadow:0 18px 52px rgba(0,0,0,.35)}
.pms-zi-header{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;padding:6px 6px 12px;border-bottom:1px solid var(--pms-line)}
.pms-zi-title h3{margin:0;font-size:18px;line-height:1.2}
.pms-zi-sub{margin:6px 0 0;color:var(--pms-muted);font-size:13px}
.pms-zi-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;align-items:center}
.pms-zi-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;padding:10px 14px;text-decoration:none;border:1px solid var(--pms-line);cursor:pointer;font-size:13px;transition:transform .12s ease,background .12s ease,box-shadow .12s ease,border-color .12s ease;user-select:none}
.pms-zi-btn:hover{transform:translateY(-1px)}
.pms-zi-btn:focus{outline:none;box-shadow:0 0 0 4px var(--pms-focus)}
.pms-zi-btn-primary{background:var(--pms-primary);color:#fff;border-color:transparent;box-shadow:0 10px 26px rgba(221,52,59,.28)}
.pms-zi-btn-ghost{background:var(--pms-primary-ghost);color:var(--pms-fg)}
.pms-zi-grid{display:grid;grid-template-columns:1.3fr .9fr;gap:14px;padding-top:14px}
@media (max-width:980px){.pms-zi-grid{grid-template-columns:1fr}.pms-zi-actions{width:100%;justify-content:flex-start}}
.pms-zi-map-card{border-radius:var(--pms-radius);border:1px solid var(--pms-line);background:var(--pms-card);overflow:hidden;position:relative}
.pms-zi-searchbar{display:grid;grid-template-columns:1fr auto auto;gap:10px;padding:12px;border-bottom:1px solid var(--pms-line);align-items:center}
.pms-zi-search-input{width:100%;padding:10px 12px;border-radius:12px;border:1px solid var(--pms-line);background:transparent;color:var(--pms-fg)}
.pms-zi-search-input:focus{outline:none;box-shadow:0 0 0 4px var(--pms-focus);border-color:transparent}
.pms-zi-search-btn,.pms-zi-fullscreen-btn{padding:10px 12px;border-radius:12px;border:1px solid var(--pms-line);background:transparent;color:var(--pms-fg);cursor:pointer;transition:transform .12s ease,background .12s ease}
.pms-zi-search-btn:hover,.pms-zi-fullscreen-btn:hover{transform:translateY(-1px);background:rgba(255,255,255,.06)}
.pms-zi-map{width:100%;min-height:280px}
.pms-zi-map-footer{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:10px 12px 12px;border-top:1px solid var(--pms-line);flex-wrap:wrap}
.pms-zi-badges{display:flex;gap:8px;flex-wrap:wrap}
.pms-zi-badge{font-size:12px;padding:6px 10px;border-radius:999px;border:1px solid var(--pms-line);background:rgba(255,255,255,.04);color:var(--pms-muted)}
.pms-zi-legend{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:12px;color:var(--pms-muted)}
.pms-zi-dot{width:10px;height:10px;border-radius:999px;display:inline-block;border:1px solid rgba(255,255,255,.25)}
.pms-zi-side{display:grid;gap:14px;align-content:start}
.pms-zi-panel{border-radius:var(--pms-radius);border:1px solid var(--pms-line);background:var(--pms-card);padding:12px}
.pms-zi-panel h4{margin:0 0 10px;font-size:14px}
.pms-zi-list{margin:0;padding:0 0 0 16px;color:var(--pms-muted);font-size:13px;display:grid;gap:6px}
.pms-zi-note{margin:10px 0 0;color:var(--pms-muted);font-size:12px}
.pms-zi-form{display:grid;gap:10px}
.pms-zi-form label span{display:block;font-size:12px;color:var(--pms-muted);margin-bottom:6px}
.pms-zi-form input,.pms-zi-form select,.pms-zi-form textarea{width:100%;padding:10px 12px;border-radius:12px;border:1px solid var(--pms-line);background:transparent;color:var(--pms-fg)}
.pms-zi-form input:focus,.pms-zi-form select:focus,.pms-zi-form textarea:focus{outline:none;box-shadow:0 0 0 4px var(--pms-focus);border-color:transparent}
.pms-zi-chips{display:flex;flex-wrap:wrap;gap:8px}
.pms-zi-chip{font-size:12px;padding:6px 10px;border-radius:999px;border:1px solid var(--pms-line);background:rgba(255,255,255,.04);color:var(--pms-muted)}
.pms-zi-watermark{position:absolute;bottom:14px;left:14px;width:110px;height:auto;pointer-events:none;opacity:.18;filter:drop-shadow(0 8px 20px rgba(0,0,0,.20))}
.pms-zi-fullscreen{position:fixed !important;inset:14px;z-index:999999;max-width:none;height:auto;overflow:auto}
.pms-zi-editor-wrap .pms-zi-preview{border:1px solid rgba(0,0,0,.08);border-radius:16px;padding:12px}
.pms-zi-editor-wrap .pms-zi-preview-head{display:flex;gap:10px;align-items:baseline;justify-content:space-between;margin-bottom:10px}
.pms-zi-editor-wrap .pms-zi-preview-map{border-radius:16px;overflow:hidden;border:1px solid rgba(0,0,0,.08)}
.pms-zi-editor-wrap .pms-zi-preview-note{margin:10px 0 0;font-size:12px;opacity:.7}
/* === V4.1 WhatsApp + Dynamic Pricing === */
.pms-zi-btn-wa{
  background: linear-gradient(135deg, rgba(37,211,102,1), rgba(19,170,80,1));
  color:#fff !important;
  border:none;
}
.pms-zi-btn-wa:hover{ filter: brightness(1.03); }

.pms-zi-dynamic-price{
  margin: 10px 0 12px;
  padding: 12px 14px;
  border-radius: 16px;
  background: rgba(221, 52, 59, 0.07);
  border: 1px solid rgba(221, 52, 59, 0.18);
}
.pms-zi-dp-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:6px;
}
.pms-zi-dp-city{ font-weight: 700; }
.pms-zi-dp-zone{
  font-size: 12px;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(31,44,55,0.08);
}
.pms-zi-dp-mid{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:10px;
}
.pms-zi-dp-km{ opacity:.85; font-size: 13px; }
.pms-zi-dp-price{ font-weight: 800; }



/* === V4.1.1 UI FIXES === */

/* Pricing title wrap inside its panel */
.pms-zi-panel h4{
  line-height: 1.25;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}

/* Search bar: prevent input overlapping buttons */
.pms-zi-searchbar{
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.pms-zi-search-input{
  flex: 1 1 220px;
  min-width: 0;
}

.pms-zi-search-btn,
.pms-zi-fullscreen-btn{
  flex: 0 0 auto;
}

/* Quick form: ensure fields never overlap on small screens */
.pms-zi-form{
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

.pms-zi-form label{
  display: block;
  width: 100%;
}

.pms-zi-form input,
.pms-zi-form textarea,
.pms-zi-form select{
  width: 100%;
  box-sizing: border-box;
}

/* Buttons alignment on narrow screens */
.pms-zi-actions{
  display:flex;
  flex-wrap: wrap;
  gap: 10px;
}

/* === V4.1.3 Mobile Pro : interface simplifiée sur mobile (PC inchangé) === */

/* Accordéon "Voir plus" (contenu latéral) */
.pms-zi-more{display:grid;gap:14px;align-content:start}
.pms-zi-more summary{list-style:none}
.pms-zi-more summary::-webkit-details-marker{display:none}
.pms-zi-more-summary{
  display:none;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:12px 14px;
  border-radius:var(--pms-radius);
  border:1px solid var(--pms-line);
  background:var(--pms-card);
  cursor:pointer;
  font-weight:800;
}
.pms-zi-more-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;border:1px solid var(--pms-line);background:rgba(255,255,255,.04);transition:transform .18s ease}
details.pms-zi-more[open] .pms-zi-more-icon{transform:rotate(45deg)}

/* Résultat mobile (Zone + km + prix) */
.pms-zi-mobile-result{display:none}

@media (max-width: 767px){
  .pms-zi-wrap{padding:12px}

  /* Header plus compact */
  .pms-zi-header{padding:6px 6px 10px}
  .pms-zi-title h3{font-size:16px}
  .pms-zi-sub{font-size:12px}

  /* Actions : 2 gros boutons (WhatsApp + Appeler) en bas */
  .pms-zi-actions{
    position: sticky;
    bottom: 10px;
    z-index: 60;
    width: 100%;
    padding: 10px;
    border-radius: calc(var(--pms-radius) + 4px);
    background: rgba(255,255,255,.92);
    border: 1px solid var(--pms-line);
    box-shadow: 0 12px 30px rgba(16,24,40,.12);
    backdrop-filter: blur(8px);
  }
  .pms-zi-theme-dark .pms-zi-actions{background: rgba(15,17,21,.88)}

  .pms-zi-actions .pms-zi-btn{flex:1 1 calc(50% - 5px);width:auto;justify-content:center;padding:14px 12px;font-size:15px;border-radius:16px}
  .pms-zi-actions .pms-zi-btn-primary{display:none !important;} /* on garde 2 boutons */

  /* Recherche : empilage, bouton fullscreen masqué */
  .pms-zi-searchbar{flex-direction:column;align-items:stretch}
  .pms-zi-fullscreen-btn{display:none !important;}
  .pms-zi-search-input{flex:1 1 auto;width:100%}
  .pms-zi-search-btn{width:100%}

  /* Carte : plus compacte */
  .pms-zi-map{height:240px !important;min-height:240px !important}

  /* Footer carte : on allège */
  .pms-zi-count{display:none !important;}
  .pms-zi-legend{display:none !important;}

  /* Résultat (visible sans ouvrir l'accordéon) */
  .pms-zi-mobile-result{
    display:block;
    width:100%;
    padding:10px 12px;
    border-radius:16px;
    background: rgba(221, 52, 59, 0.07);
    border: 1px solid rgba(221, 52, 59, 0.18);
    font-size:13px;
  }

  /* Accordéon : on cache le contenu latéral par défaut */
  .pms-zi-more{border:0;background:transparent;padding:0}
  .pms-zi-more-summary{display:flex;margin-top:10px}

  /* Dans l'accordéon on simplifie encore */
  .pms-zi-pricing{display:none !important;} /* lignes complètes : dispo en PC */
  .pms-zi-chip{display:none !important;}     /* chips villes : trop chargé */
}

@media (min-width: 768px){
  /* Sur PC on garde exactement l'affichage complet */
  .pms-zi-more-summary{display:none}
  .pms-zi-mobile-result{display:none}
}
