.vendor-page{background:var(--paper);min-height:100vh}.vendor-dashboard:not(.vendor-authorized)>.header,.vendor-dashboard:not(.vendor-authorized)>.vendor-main{display:none}.vendor-access-status{max-width:600px;margin:18vh auto 0;padding:24px;text-align:center;color:var(--muted)}.vendor-access-status a{display:block;margin-top:16px;color:var(--coral-dark);text-decoration:underline}.vendor-access-status.is-error{color:#872f20}.vendor-main{width:min(1080px,calc(100% - 40px));margin:0 auto;padding:70px 0 100px}.vendor-intro{max-width:780px;margin:0 auto 38px;text-align:center}.vendor-intro h1{max-width:none;font-size:clamp(42px,6vw,70px);margin:12px 0 18px}.vendor-intro p{font-size:17px;line-height:1.7}.vendor-steps{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:24px}.vendor-steps span{background:#f0e8e2;padding:8px 13px;font-size:13px;color:#514842}.vendor-panel{background:var(--white);border:1px solid var(--line);padding:clamp(22px,5vw,54px);box-shadow:var(--shadow)}.vendor-panel h2{font-size:34px;margin:34px 0 18px}.vendor-panel h2:first-of-type{margin-top:0}.vendor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 22px;margin:18px 0}.vendor-panel label{display:grid;gap:7px;font-size:15px;font-weight:700;color:var(--ink)}.vendor-panel input:not([type=checkbox]),.vendor-panel select,.vendor-panel textarea{width:100%;min-height:48px;padding:11px 13px;border:1px solid #d9d2ca;background:#fffefa;border-radius:3px;color:var(--ink);font:inherit;font-weight:400}.vendor-panel textarea{resize:vertical;min-height:104px}.vendor-panel label small,.vendor-hint{color:var(--muted);font-size:13px;font-weight:400}.vendor-panel>form>label:not(.vendor-check){margin:18px 0}.vendor-panel fieldset{border:1px solid var(--line);padding:18px;margin:24px 0}.vendor-panel legend{padding:0 8px;font:22px var(--serif)}.vendor-checks{display:flex;flex-wrap:wrap;gap:12px 24px;margin:10px 0}.vendor-panel .vendor-checks label{display:flex;align-items:center;gap:9px;font-weight:400}.vendor-panel input[type=checkbox]{width:20px;height:20px;accent-color:var(--coral);flex:0 0 auto}.vendor-panel .vendor-check{display:flex;align-items:flex-start;gap:12px;margin:18px 0;font-weight:400;line-height:1.5}.vendor-panel .vendor-check span{color:var(--muted)}.vendor-panel .vendor-check a,.vendor-login a{color:var(--coral-dark);text-decoration:underline;text-underline-offset:3px}.vendor-hint{padding:14px 16px;background:#f5eee9}.vendor-submit{width:100%;min-height:56px;margin-top:12px}.vendor-message{display:none;padding:13px 16px;margin-bottom:20px;background:#f5eee9;color:var(--ink)}.vendor-message[data-kind=error]{display:block;background:#fbe9e5;color:#872f20}.vendor-message[data-kind=success],.vendor-message[data-kind=info]{display:block}.vendor-login{margin-top:18px}.vendor-account-status{padding:16px;background:#f5eee9;margin:0 0 22px}.vendor-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin:18px 0}.vendor-photo{position:relative;border:1px solid var(--line);padding:8px;background:white}.vendor-photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.vendor-photo .primary-tag{display:inline-block;margin:7px 0 0;color:var(--coral-dark);font-size:12px}.vendor-photo button{display:block;width:100%;margin-top:7px;min-height:34px;border:1px solid var(--line);background:#fffefa;cursor:pointer}.vendor-photo-upload{padding:18px;background:#faf7f3;border:1px dashed #cdbeb4}.vendor-page .brand-mark{flex:none}@media(max-width:680px){.vendor-main{width:min(100% - 24px,1080px);padding:40px 0 60px}.vendor-grid{grid-template-columns:1fr;gap:14px}.vendor-panel{padding:22px 18px}.vendor-steps{align-items:stretch;flex-direction:column}.vendor-steps span{text-align:left}.vendor-panel h2{font-size:30px}}
.vendor-page form[hidden]{display:none}.vendor-page .text-button{border:0;padding:4px 0;background:transparent;color:var(--coral-dark);text-decoration:underline;text-underline-offset:3px;font:inherit;cursor:pointer}.vendor-page .text-button[type=submit]{margin-top:12px}

/* Logo de marque pour l’annuaire prestataire */
.vendor-page .brand-mark.brand-logo{width:60px;height:60px;overflow:hidden;border:0;background:#fff;padding:0;flex:0 0 60px}
.vendor-page .brand-mark.brand-logo img{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%}
.vendor-page .brand-name{font-size:24px}
@media(max-width:680px){.vendor-page .brand-mark.brand-logo{width:50px;height:50px;flex-basis:50px}.vendor-page .brand-name{font-size:19px}}
