/* Page Plantes — Patio & Garden */
#page-plantes .eyebrow{color:var(--or-vif)}

.pl-hero-actions{
  display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.4rem
}

.pl-id{
  display:grid;gap:1.4rem 1.6rem;
  grid-template-columns:1.05fr .95fr;
  margin:0 0 2.6rem;
  align-items:start
}
.pl-id-copy{grid-column:1;grid-row:1}
.pl-drop-wrap{grid-column:2;grid-row:1}
.pl-result{grid-column:1 / -1;grid-row:2}
@media(max-width:860px){
  .pl-id{grid-template-columns:1fr}
  .pl-id-copy,.pl-drop-wrap,.pl-result{grid-column:1}
  .pl-id-copy{grid-row:1}
  .pl-drop-wrap{grid-row:2}
  .pl-result{grid-row:3}
}

.pl-id-copy h2{
  font-size:clamp(1.55rem,2.8vw,2.1rem);margin:0 0 .7rem
}
.pl-id-copy p{
  margin:0 0 .9rem;color:var(--ivoire-60);font-weight:300;line-height:1.6;max-width:54ch
}
.pl-id-note{
  font-size:.82rem;color:var(--ivoire-30);font-weight:200;line-height:1.5;margin-top:.8rem
}

.pl-drop{
  border:1px dashed rgba(236,202,146,.35);
  background:linear-gradient(160deg,rgba(46,59,49,.55),rgba(26,35,29,.35));
  padding:1rem;
  display:flex;flex-direction:column;gap:.85rem;
  text-align:center;transition:border-color .25s, background .25s
}
.pl-drop:hover,.pl-drop.is-drag{
  border-color:var(--or-vif);
  background:linear-gradient(160deg,rgba(46,59,49,.75),rgba(26,35,29,.5))
}

/* Cadre preview à hauteur fixe → plus de saut quand le résultat apparaît */
.pl-preview-frame{
  position:relative;
  width:100%;
  height:min(52vw,280px);
  min-height:220px;
  max-height:280px;
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
  background:rgba(10,14,12,.28)
}
.pl-preview-frame img{
  width:100%;height:100%;
  object-fit:contain;
  display:none
}
.pl-drop.has-img .pl-preview-frame img{display:block}
.pl-drop.has-img .pl-drop-hint{display:none}

.pl-drop-hint{
  display:flex;flex-direction:column;gap:.35rem;align-items:center;
  color:var(--ivoire-60);font-weight:300;font-size:.95rem;line-height:1.45;
  padding:1rem
}
.pl-drop-hint strong{
  font-family:var(--display);font-weight:400;font-size:1.15rem;color:var(--ivoire)
}
.pl-drop-hint span{font-size:.88rem;color:var(--ivoire-30)}

.pl-drop-actions{
  display:flex;flex-wrap:wrap;gap:.55rem;justify-content:center
}
.pl-drop input[type=file]{display:none}

.pl-result{
  display:none;margin:0;padding:1.15rem 0 0;
  border-top:1px solid var(--hair)
}
.pl-result.is-on{display:block}
.pl-result-head{
  display:flex;flex-wrap:wrap;align-items:baseline;gap:.6rem 1rem;margin-bottom:.55rem
}
.pl-result-head strong{
  font-family:var(--display);font-size:1.35rem;font-weight:400;color:var(--ivoire)
}
.pl-result-head em{
  font-family:var(--italic);font-style:italic;color:var(--or-vif);font-size:1rem
}
.pl-conf{
  font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ivoire-30)
}
.pl-result p{margin:0 0 .55rem;color:var(--ivoire-60);font-weight:300;line-height:1.55;font-size:.95rem}
.pl-result .pl-disc{
  font-size:.78rem;color:var(--ivoire-30);margin-top:.8rem
}
.pl-status{
  display:none;margin:.55rem 0 0;font-size:.9rem;color:var(--or-vif);font-weight:300;min-height:1.35em
}
.pl-status.is-on{display:block}
.pl-status.is-err{color:#e8a090}

.pl-tox{
  display:inline-block;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;
  padding:.28rem .55rem;border:1px solid rgba(236,202,146,.35);color:var(--or-vif)
}
.pl-tox.tox-aucune{border-color:rgba(140,180,140,.45);color:#b7d4b7}
.pl-tox.tox-faible{border-color:rgba(236,202,146,.5);color:var(--or-vif)}
.pl-tox.tox-elevee{border-color:rgba(220,120,100,.55);color:#e8a090}

/* Caméra live */
.pl-cam{
  position:fixed;inset:0;z-index:90;
  display:flex;align-items:center;justify-content:center;
  background:rgba(10,14,12,.78);padding:1rem
}
.pl-cam[hidden]{display:none !important}
.pl-cam-panel{
  width:min(520px,100%);
  background:var(--nuit-2);
  border:1px solid var(--hair);
  padding:1rem;
  display:flex;flex-direction:column;gap:.85rem
}
.pl-cam-panel video{
  width:100%;
  aspect-ratio:3/4;
  max-height:min(68vh,560px);
  object-fit:cover;
  background:#0a0e0c
}
.pl-cam-bar{
  display:flex;flex-wrap:wrap;gap:.55rem;justify-content:center
}
.pl-cam-err{
  margin:0;color:#e8a090;font-size:.9rem;font-weight:300;text-align:center
}

.pl-toolbar{
  display:flex;flex-wrap:wrap;gap:.7rem;align-items:center;
  margin:0 0 1.4rem
}
.pl-search-row{
  display:flex;flex-wrap:wrap;gap:.55rem;width:100%;align-items:center
}
.pl-search{
  flex:1 1 220px;min-width:180px;
  background:var(--nuit-2);border:1px solid var(--hair);color:var(--ivoire);
  padding:.75rem 1rem;font:inherit;font-weight:300
}
.pl-search::placeholder{color:var(--ivoire-30)}
.pl-world-status{
  width:100%;margin:0;min-height:1.2em;
  font-size:.9rem;color:var(--or-vif);font-weight:300
}
.pl-world-status.is-err{color:#e8a090}
.pl-world-grid{
  width:100%;
  display:grid;gap:1rem;
  grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
  margin:.2rem 0 .6rem
}
.pl-world-grid[hidden]{display:none !important}
.pl-card.is-world{border-color:rgba(236,202,146,.45)}
.pl-card .pl-card-tag{
  display:block;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ivoire-30);margin-bottom:.35rem
}
.pl-local-title{
  font-family:var(--display);font-weight:400;font-size:1.25rem;
  color:var(--ivoire);margin:1.2rem 0 .9rem
}
.pl-inline-btn{
  appearance:none;border:0;background:none;padding:0;margin:0;
  color:var(--or-vif);font:inherit;text-decoration:underline;cursor:pointer
}
.pl-r-meta{color:var(--ivoire-30)!important;font-size:.85rem!important}
.pl-alts{
  display:flex;flex-wrap:wrap;gap:.45rem;margin:.4rem 0 .9rem
}
.pl-alts[hidden]{display:none !important}
.pl-alt{
  appearance:none;border:1px solid var(--hair);background:transparent;
  color:var(--ivoire-60);padding:.4rem .65rem;font:inherit;font-size:.82rem;cursor:pointer
}
.pl-alt:hover{border-color:var(--or-vif);color:var(--ivoire)}
.pl-d-sub{
  margin:0 0 .7rem;color:var(--ivoire-30);font-size:.88rem;font-weight:300
}
.pl-filters{display:flex;flex-wrap:wrap;gap:.4rem}
.pl-filter{
  appearance:none;border:1px solid var(--hair);background:transparent;
  color:var(--ivoire-60);padding:.45rem .75rem;font:inherit;font-size:.82rem;
  letter-spacing:.04em;cursor:pointer;transition:color .2s,border-color .2s,background .2s
}
.pl-filter:hover{color:var(--ivoire);border-color:rgba(236,202,146,.4)}
.pl-filter.is-on{
  color:var(--nuit);background:var(--or-vif);border-color:var(--or-vif)
}
.pl-tox-filters{display:flex;flex-wrap:wrap;gap:.4rem;width:100%}

.pl-grid{
  display:grid;gap:1rem;
  grid-template-columns:repeat(auto-fill,minmax(240px,1fr))
}
.pl-card{
  text-align:left;width:100%;
  background:transparent;border:1px solid var(--hair);
  padding:1.1rem 1.15rem;cursor:pointer;color:inherit;
  transition:border-color .25s, background .25s
}
.pl-card:hover{
  border-color:rgba(236,202,146,.45);
  background:rgba(46,59,49,.35)
}
.pl-card-top{
  display:flex;justify-content:space-between;align-items:flex-start;gap:.6rem;margin-bottom:.45rem
}
.pl-card h3{
  margin:0;font-size:1.15rem;font-weight:400;color:var(--ivoire)
}
.pl-card .latin{
  display:block;font-family:var(--italic);font-style:italic;
  color:var(--or-vif);font-size:.9rem;margin-bottom:.5rem
}
.pl-card p{
  margin:0;color:var(--ivoire-60);font-weight:200;font-size:.9rem;line-height:1.5;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden
}
.pl-empty{
  color:var(--ivoire-60);font-weight:300;padding:1.5rem 0
}

.pl-drawer{
  position:fixed;inset:0;z-index:80;display:none;
  align-items:stretch;justify-content:flex-end
}
.pl-drawer.is-on{display:flex}
.pl-drawer-bg{
  position:absolute;inset:0;background:rgba(10,14,12,.62);border:0;cursor:pointer
}
.pl-drawer-panel{
  position:relative;width:min(440px,100%);
  background:linear-gradient(180deg,var(--nuit-2),var(--nuit));
  border-left:1px solid var(--hair);
  padding:1.6rem 1.4rem 2.2rem;
  overflow:auto;animation:plSlide .28s ease
}
@keyframes plSlide{from{transform:translateX(18px);opacity:.6}to{transform:none;opacity:1}}
.pl-drawer-close{
  position:absolute;top:.9rem;right:.9rem;
  border:1px solid var(--hair);background:transparent;color:var(--ivoire);
  width:2.2rem;height:2.2rem;cursor:pointer;font-size:1.2rem;line-height:1
}
.pl-drawer-panel h2{
  margin:0 2rem .35rem 0;font-size:1.7rem
}
.pl-drawer-panel .latin{
  font-family:var(--italic);font-style:italic;color:var(--or-vif);margin:0 0 1rem
}
.pl-meta{
  display:grid;gap:.65rem;margin:1.1rem 0 1.3rem
}
.pl-meta div{
  border-top:1px solid var(--hair);padding-top:.55rem
}
.pl-meta span{
  display:block;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ivoire-30);margin-bottom:.2rem
}
.pl-meta p{margin:0;color:var(--ivoire-90);font-weight:300;line-height:1.5;font-size:.95rem}
.pl-drawer-cta{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.4rem}
