/* Fiche publique d'un artisan et page d'avis : La Vitrine des Artisans */
@font-face{font-family:Manrope;font-style:normal;font-weight:400 800;font-display:swap;src:url(/assets/fonts/manrope-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Manrope;font-style:normal;font-weight:400 800;font-display:swap;src:url(/assets/fonts/manrope-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--ink:#0b1f3a;--ink-2:#3a4a5e;--muted:#66758a;--page:#f5f7f2;--line:#e1e6dc;--vert:#467d25;--vert-fonce:#386a1c;--vert-doux:#eef5e6;--or:#e0a100;--ombre:0 6px 20px rgba(11,31,58,.07)}
*{box-sizing:border-box;margin:0}
body{font-family:Manrope,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--page);line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:var(--vert-fonce)}
.cadre{max-width:760px;margin:0 auto;padding:0 16px}
.haut{background:#fff;border-bottom:1px solid var(--line);padding:12px 0}
.haut img{height:40px;width:auto;display:block}
main.cadre{padding-top:22px;padding-bottom:40px}
h1{font-size:28px;line-height:1.2;letter-spacing:-.02em;font-weight:800}
h2{font-size:19px;font-weight:800;margin-bottom:12px}
.tete{display:flex;gap:16px;align-items:flex-start}
.logo{width:96px;height:96px;border-radius:8px;object-fit:cover;background:#fff;box-shadow:var(--ombre);flex:0 0 auto}
.initiale{display:flex;align-items:center;justify-content:center;font-size:40px;font-weight:800;color:#fff;background:var(--ink)}
.metiers{font-weight:700;color:var(--vert-fonce);margin-top:4px}
.lieu{color:var(--ink-2);font-size:15px;margin-top:2px}
.badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.badge{font-size:13px;font-weight:800;border-radius:8px;padding:4px 9px;background:#fff;color:var(--ink-2);border:1px solid var(--line)}
.badge.ok{background:var(--vert-doux);color:var(--vert-fonce);border-color:transparent}
.etoiles{color:var(--or);letter-spacing:1px}
.actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin:20px 0}
.btn{display:flex;justify-content:center;align-items:center;background:var(--vert);color:#fff;border:0;border-radius:6px;padding:15px 20px;font:inherit;font-size:17px;font-weight:800;cursor:pointer;text-decoration:none;min-height:52px}
.btn:hover{background:var(--vert-fonce)}
.btn.second{background:#fff;color:var(--ink);border:1.5px solid var(--line)}
.btn:disabled{background:#a9b8a0;cursor:default}
.bloc{background:#fff;border-radius:8px;box-shadow:var(--ombre);padding:20px;margin-top:16px}
.bloc p+p{margin-top:10px}
.photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.photos img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:6px;display:block}
.avis{padding:14px 0;border-bottom:1px solid var(--line)}
.avis:last-of-type{border-bottom:0}
.avis .etoiles{font-size:18px;margin:2px 0}
.reponse{background:var(--page);border-radius:6px;padding:12px;margin-top:10px;font-size:15px}
.mini{color:var(--muted);font-size:14px}
.note-avis{margin-top:14px;font-size:13px}
.invite .btn{margin-top:14px}
.pied{padding:24px 0 40px;font-size:14px;color:var(--muted);text-align:center}
@media (max-width:520px){h1{font-size:24px}.logo{width:72px;height:72px;border-radius:8px}.initiale{font-size:30px}}
/* Page d'avis */
.choix-note{display:flex;gap:6px;margin:8px 0 4px}
.choix-note button{font-size:38px;line-height:1;background:none;border:0;color:#d5dbe3;cursor:pointer;padding:4px;min-width:48px;min-height:48px}
.choix-note button.on{color:var(--or)}
label.champ{display:grid;gap:6px;font-weight:700;font-size:15px;margin-top:16px}
.champ input,.champ textarea{width:100%;font:inherit;font-size:17px;padding:14px;border:1.5px solid var(--line);border-radius:6px;background:#fff}
.champ textarea{min-height:130px;resize:vertical}
.champ input:focus,.champ textarea:focus{outline:none;border-color:var(--vert)}
.erreur{color:#c4321f;font-weight:700;font-size:14px;margin-top:12px}
