/* Enseigne.net — compléments au CSS d'origine (composants JS réécrits sans React) */

/* Apparition au scroll (remplace framer-motion) */
.js [data-reveal]{opacity:0;transform:translateY(calc(var(--r,12)*1px));transition:opacity .6s ease,transform .6s ease}
.js [data-reveal].is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js [data-reveal]{opacity:1;transform:none;transition:none}}

/* Menu mobile */
.mnav{border-top:1px solid var(--border);background:var(--background)}
.mnav nav{display:flex;flex-direction:column;gap:.25rem;padding-block:1rem}
.mnav a{padding:.625rem .75rem;border-radius:.375rem;font-size:.875rem;font-weight:500;color:color-mix(in oklab,var(--foreground) 80%,transparent)}
.mnav a:hover{background:var(--muted)}
.mnav .sub{padding-left:1.5rem;font-size:.8125rem;color:var(--muted-foreground)}
@media (min-width:64rem){.mnav{display:none!important}}

/* Boîte de dialogue générique */
.ui-overlay{position:fixed;inset:0;z-index:100;background:rgba(10,12,20,.55);backdrop-filter:blur(2px);display:flex;align-items:flex-start;justify-content:center;padding:8vh 1rem 1rem;animation:ui-fade .15s ease}
.ui-dialog{width:100%;max-width:36rem;background:var(--popover);color:var(--popover-foreground);border:1px solid var(--border);border-radius:1rem;box-shadow:0 25px 60px rgba(0,0,0,.25);overflow:hidden;max-height:84vh;display:flex;flex-direction:column}
.ui-dialog-h{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;border-bottom:1px solid var(--border)}
.ui-dialog-b{padding:1.25rem;overflow:auto}
.ui-x{margin-left:auto;background:none;border:0;cursor:pointer;color:var(--muted-foreground);font-size:1.5rem;line-height:1;padding:.25rem}
@keyframes ui-fade{from{opacity:0}to{opacity:1}}

/* Recherche */
.ui-search-in{flex:1;border:0;outline:0;font-size:1rem;background:transparent;color:var(--foreground)}
.ui-search-r{list-style:none;margin:0;padding:.5rem}
.ui-search-r a{display:block;padding:.625rem .75rem;border-radius:.5rem}
.ui-search-r a:hover,.ui-search-r a.is-active{background:var(--muted)}
.ui-search-r b{display:block;font-size:.9rem;font-weight:600}
.ui-search-r small{display:block;font-size:.75rem;color:var(--muted-foreground);margin-top:.125rem}
.ui-empty{padding:1.5rem;text-align:center;color:var(--muted-foreground);font-size:.875rem}

/* Champs de formulaire */
.ui-field{display:block;margin-bottom:.875rem}
.ui-label{display:block;font-size:.875rem;font-weight:500;margin-bottom:.375rem}
.ui-input{width:100%;height:2.5rem;border:1px solid var(--input);border-radius:.5rem;background:var(--background);padding:0 .75rem;font-size:.875rem;color:var(--foreground)}
textarea.ui-input{height:auto;min-height:6rem;padding:.5rem .75rem;resize:vertical}
.ui-input:focus{outline:2px solid var(--ring);outline-offset:1px}
.ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;height:2.5rem;padding:0 1.25rem;border-radius:.5rem;border:0;cursor:pointer;font-size:.875rem;font-weight:600;background:var(--primary);color:var(--primary-foreground)}
.ui-btn.accent{background:var(--accent);color:var(--accent-foreground)}
.ui-btn:disabled{opacity:.5;cursor:not-allowed}
.ui-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.ui-msg{font-size:.875rem;margin-top:.75rem}
.ui-msg.err{color:var(--destructive)}
.ui-msg.ok{color:var(--success)}

/* Notifications */
.ui-toast{position:fixed;left:50%;bottom:1.5rem;transform:translateX(-50%);z-index:120;background:var(--primary);color:var(--primary-foreground);padding:.75rem 1.25rem;border-radius:.75rem;font-size:.875rem;box-shadow:0 10px 30px rgba(0,0,0,.25);animation:ui-fade .2s ease}
.ui-toast.err{background:var(--destructive)}

/* Visionneuse d'images */
.ui-lightbox{position:fixed;inset:0;z-index:110;background:rgba(5,6,10,.92);display:flex;align-items:center;justify-content:center;padding:1rem}
.ui-lightbox img{max-width:100%;max-height:82vh;border-radius:.5rem;object-fit:contain}
.ui-lightbox figcaption{color:#fff;text-align:center;margin-top:.75rem;font-size:.875rem;opacity:.85}
.ui-lightbox button{position:absolute;background:rgba(255,255,255,.12);color:#fff;border:0;border-radius:999px;width:2.75rem;height:2.75rem;font-size:1.5rem;cursor:pointer}
.ui-lightbox .lb-x{top:1rem;right:1rem}.ui-lightbox .lb-p{left:1rem;top:50%}.ui-lightbox .lb-n{right:1rem;top:50%}

@media print{header,footer,.ui-noprint,[aria-label="Ouvrir EXPERT ENSEIGNE"]{display:none!important}}
