/* PoolConcept 2026 — modal Devis (componentă comună, injectată de devis.js) */
:root{
  --d-noir:#070708; --d-noir2:#0e0e10;
  --d-ivoire:#EFEBE3; --d-gris:#9a9a9e;
  --d-or:#C8A24C; --d-or2:#E4C879; --d-orsoft:rgba(200,162,76,.36);
  --d-line:rgba(239,235,227,.14);
  --d-disp:"Bodoni Moda", Georgia, serif;
  --d-ui:"Space Grotesk", system-ui, sans-serif;
  --d-mono:"Space Mono", ui-monospace, monospace;
  --d-e:cubic-bezier(.22,.61,.36,1); --d-slow:cubic-bezier(.16,1,.3,1);
}
.pc-devis{position:fixed;inset:0;z-index:120;display:flex;align-items:center;justify-content:center;
  padding:1.2rem;opacity:0;visibility:hidden;transition:opacity .4s var(--d-e),visibility .4s var(--d-e)}
.pc-devis.open{opacity:1;visibility:visible}
.pc-devis-bg{position:absolute;inset:0;background:rgba(4,4,5,.76);backdrop-filter:blur(7px)}
.pc-devis-panel{position:relative;width:100%;max-width:460px;max-height:92vh;overflow:auto;
  background:var(--d-noir2);border:1px solid var(--d-orsoft);padding:clamp(1.6rem,4vw,2.4rem);
  transform:translateY(16px);transition:transform .5s var(--d-slow)}
.pc-devis.open .pc-devis-panel{transform:none}
.pc-devis-close{position:absolute;top:.9rem;right:.9rem;background:none;border:0;cursor:pointer;
  color:var(--d-gris);font-size:1.05rem;line-height:1;padding:.3rem}
.pc-devis-close:hover{color:var(--d-or2)}
.pc-devis .eyebrow{font-family:var(--d-mono);font-size:.62rem;letter-spacing:.28em;text-transform:uppercase;color:var(--d-or2);margin:0}
.pc-devis h3{font-family:var(--d-disp);font-weight:500;font-size:1.55rem;color:var(--d-ivoire);margin:.35rem 0 1.3rem}
.pc-devis .field{margin-bottom:.95rem}
.pc-devis label{display:block;font-family:var(--d-mono);font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--d-gris);margin-bottom:.4rem}
.pc-devis input,.pc-devis select,.pc-devis textarea{width:100%;background:var(--d-noir);border:1px solid var(--d-line);
  color:var(--d-ivoire);padding:.68rem .8rem;font-family:var(--d-ui);font-weight:300;font-size:.95rem;border-radius:1px;
  transition:border-color .3s var(--d-e)}
.pc-devis input:focus,.pc-devis select:focus,.pc-devis textarea:focus{outline:none;border-color:var(--d-or)}
.pc-devis textarea{min-height:84px;resize:vertical}
.pc-devis .hp{position:absolute;left:-9999px}
.pc-devis .submit{width:100%;margin-top:.5rem;background:var(--d-or);color:#000;border:0;padding:.85rem;
  font-family:var(--d-mono);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;
  border-radius:1px;transition:background .3s var(--d-e)}
.pc-devis .submit:hover{background:var(--d-or2)}
.pc-devis .submit:disabled{opacity:.55;cursor:default}
.pc-devis .note{margin:.7rem 0 0;font-family:var(--d-ui);font-size:.8rem;color:var(--d-gris);min-height:1.2em;text-align:center}
.pc-devis .note.err{color:#d98a8a}
.pc-devis-success{display:none;text-align:center}
.pc-devis-success.show{display:block}
.pc-devis-form.hide{display:none}
.pc-devis-success p:last-child{color:var(--d-gris);margin:.5rem 0 0}
.pc-devis input:focus-visible,.pc-devis select:focus-visible,.pc-devis textarea:focus-visible,
.pc-devis .submit:focus-visible,.pc-devis-close:focus-visible{outline:2px solid var(--d-or2);outline-offset:2px}
@media (prefers-reduced-motion:reduce){.pc-devis,.pc-devis-panel{transition-duration:.001s!important}}

/* champ en erreur (validation maison) */
.pc-devis .field.invalid input,.pc-devis .field.invalid select,.pc-devis .field.invalid textarea{
  border-color:#d98a8a;background:rgba(217,138,138,.05)}
.pc-devis .field.invalid label{color:#d98a8a}