/* Profile editor: a calm operational surface in the existing Foodtruckdirekt world. */
.profile-editor-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem;margin-bottom:1.5rem}
.profile-editor-heading>div{min-width:0;max-width:65ch}.profile-editor-heading h2{font-size:1.75rem;line-height:1.3;letter-spacing:-.025em;margin:0 0 .625rem}.profile-editor-heading p{color:var(--muted);line-height:1.6}.profile-editor-heading>.button{flex:none}
.profile-editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 19rem;gap:2rem;align-items:start}.profile-editor-main,.profile-editor-aside{min-width:0}#profile-editable-fields{border:0;padding:0;margin:0;min-width:0}#profile-editable-fields:disabled{opacity:.7}
.profile-editor-section{background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:1rem;scroll-margin-top:7.5rem;overflow-wrap:anywhere}
.profile-editor-section>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.5rem;min-height:5.75rem}
.profile-editor-section>summary::-webkit-details-marker{display:none}.profile-editor-section>summary>span{display:flex;flex-direction:column;gap:.375rem;min-width:0}.profile-editor-section>summary strong{font-size:1.125rem;line-height:1.4}.profile-editor-section>summary span>span{font-size:.875rem;line-height:1.5;color:var(--muted)}
.profile-editor-section>summary>svg{width:1.25rem;height:1.25rem;flex:none;color:var(--muted);transform:rotate(90deg);transition:transform .18s var(--ease)}.profile-editor-section[open]>summary>svg{transform:rotate(-90deg)}.profile-editor-section>summary:hover{background:var(--cream);border-radius:14px}.profile-editor-section[open]>summary{border-bottom:1px solid var(--line);border-radius:14px 14px 0 0}
.profile-section-body{padding:1.5rem}.profile-section-body .form-grid{gap:1.5rem 1.25rem}.profile-section-intro{max-width:65ch;font-size:.9375rem;line-height:1.65;color:var(--muted);margin:0 0 1.5rem}.profile-section-body .form-group input,.profile-section-body .form-group select,.profile-section-body .form-group textarea{font-size:1rem;min-width:0}.profile-section-body .form-group textarea{line-height:1.65}.profile-section-body .field-hint,.profile-editor-footnote,.profile-preview .field-hint,.profile-checklist .field-hint{font-size:.875rem;line-height:1.6}.profile-section-body .form-group label{font-size:.875rem;line-height:1.5}
.profile-choice-set{border:0;padding:0;margin:0;min-width:0}.profile-choice-set legend{font-size:.875rem;line-height:1.5;font-weight:700;margin-bottom:.625rem;padding:0}.profile-choice-set>.field-hint{margin-bottom:.875rem;max-width:65ch}.profile-choices{display:flex;flex-wrap:wrap;gap:.625rem}.profile-choices .check-choice{flex:1 1 10rem;max-width:100%;padding:.75rem;min-height:2.75rem;font-size:.9375rem;line-height:1.45;align-items:center}.profile-choices .check-choice input,.profile-section-body .check-choice input{width:1.125rem;height:1.125rem;min-height:0;margin:0;padding:0;flex:0 0 1.125rem}.profile-choices .check-choice span{min-width:0;overflow-wrap:anywhere}.profile-choices .check-choice:hover{border-color:var(--muted)}
.profile-custom-choice>div{display:flex;gap:.625rem;align-items:stretch}.profile-custom-choice input{flex:1;min-width:0}.profile-custom-choice .button{flex:none;padding:.625rem 1rem;font-size:.875rem}
.profile-image-editor{display:grid;grid-template-columns:10rem minmax(0,1fr);gap:1.25rem;align-items:start}.profile-image-editor #profile-image-preview{aspect-ratio:4/3;overflow:hidden;border-radius:10px;background:var(--cream)}.profile-image-editor img{width:100%;height:100%;object-fit:cover}.profile-photo-empty{width:100%;height:100%;min-height:7.5rem;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:.625rem;padding:1rem;background:#f1f2ea;color:#59604f;font-size:.8125rem;line-height:1.5}.profile-photo-empty svg{width:1.5rem;height:1.5rem;flex:none}.profile-section-body input[type=file]{font-size:1rem;line-height:1.5;min-width:0;max-width:100%;padding:.625rem}.profile-section-body input::file-selector-button{font:inherit;color:var(--ink);background:var(--cream);border:1px solid var(--line);border-radius:5px;padding:.5rem .625rem;margin-right:.625rem;cursor:pointer;min-height:2.75rem}.profile-section-body input:disabled::file-selector-button{cursor:not-allowed}.profile-remove-image{justify-self:start;align-self:flex-start;min-height:2.75rem;font-size:.875rem}
.profile-gallery-editor{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.profile-gallery-editor:empty{display:none}.profile-gallery-editor figure{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:10px;margin:0;background:var(--cream)}.profile-gallery-editor img{height:100%;width:100%;object-fit:cover}.profile-gallery-remove{position:absolute;top:.375rem;right:.375rem;display:grid;place-items:center;min-width:2.75rem;min-height:2.75rem;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:8px}.profile-gallery-remove:hover{background:var(--peach)}.profile-gallery-remove svg{width:1.125rem;height:1.125rem}
.profile-dimensions{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:1.5rem}.profile-private-note{display:flex;gap:.875rem;padding:1rem;background:var(--cream);border-radius:10px;color:var(--muted);font-size:.9375rem;line-height:1.6;margin-bottom:1.5rem}.profile-private-note svg{width:1.25rem;height:1.25rem;flex:none;margin-top:.2rem;color:var(--ink)}.profile-private-note p{max-width:65ch}.profile-private-note strong{color:var(--ink)}.profile-subheading{border-top:1px solid var(--line);padding-top:1.5rem;margin-top:2rem;margin-bottom:1.25rem}.profile-subheading h3{margin-bottom:.5rem}
.profile-save-bar{position:sticky;bottom:0;z-index:3;display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding:1rem 1.25rem;background:#fff;border:1px solid var(--line);border-radius:12px;margin-top:1.5rem}.profile-save-bar>div{min-width:0;display:flex;flex-direction:column;gap:.25rem}.profile-save-bar strong{font-size:.875rem;line-height:1.5}.profile-save-bar span{font-size:.8125rem;line-height:1.5;color:var(--muted)}.profile-save-bar .button{white-space:nowrap;flex:none;font-size:.9375rem;min-height:3rem;padding:.75rem 1.125rem}.profile-save-bar .button svg{width:1.125rem;height:1.125rem}.profile-editor-footnote{color:var(--muted);max-width:75ch;margin-top:1rem}
.profile-preview{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff}.profile-preview #profile-card-image{height:11.25rem}.profile-preview img{width:100%;height:100%;object-fit:cover}.profile-preview-copy{padding:1.25rem}.profile-preview-copy h3{font-size:1.25rem;line-height:1.4;margin:.625rem 0 .5rem;overflow-wrap:anywhere}.profile-preview-copy>p:not(.field-hint){font-size:.875rem;color:var(--muted);line-height:1.6;overflow-wrap:anywhere}.profile-preview-copy>p:last-child{margin-top:.625rem}.profile-checklist{margin-top:1.75rem}.profile-checklist h3{font-size:1.125rem;margin-bottom:.625rem}.profile-checklist ul{list-style:none;margin:1rem 0;padding:0}.profile-checklist li+li{margin-top:.25rem}.profile-checklist li button{display:flex;gap:.75rem;align-items:center;min-height:2.75rem;width:100%;text-align:left;background:transparent;border:0;font-size:.875rem;line-height:1.5;color:var(--muted);padding:.5rem 0}.profile-checklist li button:hover{color:var(--ink)}.profile-check{display:grid;place-items:center;width:1.25rem;height:1.25rem;flex:none;border:1px solid #89917e;border-radius:50%}.profile-check.is-complete{background:#edf3e7;border-color:#4f6c3b;color:#3f5f2b}.profile-check svg{width:.875rem;height:.875rem}.profile-checklist>.text-link{min-height:2.75rem;font-size:.9375rem}.profile-preview-note{margin-top:.875rem}.profile-section-links{border-top:1px solid var(--line);padding-top:.875rem;margin-top:1.5rem;display:flex;flex-direction:column}.profile-section-links button{border:0;background:transparent;display:flex;align-items:center;justify-content:space-between;text-align:left;min-height:2.75rem;padding:.5rem 0;color:var(--ink);font-size:.875rem;line-height:1.5;gap:.5rem}.profile-section-links button:hover{color:var(--orange)}.profile-section-links svg{width:1rem;height:1rem;flex:none}
/* Extended public information only appears when the supplier has supplied it. */
.public-profile .profile-tagline{font-size:1.125rem;line-height:1.6;margin-top:1rem;color:var(--muted);max-width:60ch}.public-profile .profile-description{white-space:pre-line}.public-profile .profile-links{display:flex;gap:1.25rem;flex-wrap:wrap;margin-top:1.25rem}.public-profile .profile-links a{min-height:2.75rem}.public-profile .profile-public-details{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2.5rem;margin-top:3rem}.profile-public-section{min-width:0;border-top:1px solid var(--line);padding-top:1.75rem}.profile-public-section h2{font-size:1.5rem;line-height:1.35;margin-bottom:1.25rem}.profile-public-section h3{font-size:1rem;line-height:1.5;margin-top:1.25rem;margin-bottom:.5rem}.profile-public-section p{line-height:1.7;font-size:1rem;white-space:pre-line;overflow-wrap:anywhere;max-width:65ch}.profile-public-section .field-hint{font-size:.875rem;margin-top:1rem;color:var(--muted)}.profile-public-section .profile-facts{grid-template-columns:minmax(6rem,10rem) minmax(0,1fr);margin-block:1rem 1.5rem}.profile-public-section .profile-facts dd{white-space:pre-line;overflow-wrap:anywhere}.profile-public-tags{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.75rem}.profile-public-tags span{font-size:.875rem;line-height:1.5;background:var(--cream);color:var(--ink);border-radius:6px;padding:.375rem .625rem;overflow-wrap:anywhere}.profile-gallery-section{margin-top:2.5rem}.profile-public-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.5rem}.profile-public-gallery img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px}.profile-public-gallery a{border-radius:12px;min-width:0}.profile-public-gallery a:focus-visible{outline-offset:4px}
@media(max-width:1100px){.profile-editor-layout{grid-template-columns:minmax(0,1fr) 17rem;gap:1.5rem}.profile-section-body,.profile-editor-section>summary{padding:1.25rem}.profile-image-editor{grid-template-columns:8rem minmax(0,1fr)}.profile-dimensions{grid-template-columns:1fr}}
@media(max-width:900px){.profile-editor-layout{grid-template-columns:minmax(0,1fr)}.profile-editor-aside{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.5rem}.profile-checklist{margin:0}.profile-section-links{display:none}.profile-preview #profile-card-image{height:12rem}.profile-dimensions{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){.profile-editor-heading{flex-direction:column;gap:1rem}.profile-editor-heading h2{font-size:1.5rem}.profile-editor-heading>.button{min-height:2.75rem}.profile-section-body .form-grid{grid-template-columns:minmax(0,1fr);gap:1.25rem}.profile-editor-section>summary{min-height:5.5rem;padding:1.25rem 1rem}.profile-section-body{padding:1.25rem 1rem}.profile-choices .check-choice{flex-basis:8rem;font-size:.875rem}.profile-image-editor{grid-template-columns:minmax(0,1fr)}.profile-image-editor #profile-image-preview{width:12rem;max-width:100%}.profile-save-bar{padding:.875rem;gap:.75rem;align-items:center;border-radius:10px;padding-bottom:max(.875rem,env(safe-area-inset-bottom,0px))}.profile-save-bar strong{font-size:.8125rem}.profile-save-bar span{display:none}.profile-save-bar .button{font-size:.875rem;padding:.75rem .875rem}.profile-save-bar .button svg{display:none}.profile-editor-aside{grid-template-columns:minmax(0,1fr)}.profile-preview{max-width:25rem}.profile-gallery-editor{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-dimensions{grid-template-columns:minmax(0,1fr)}.profile-custom-choice>div{flex-wrap:wrap}.profile-custom-choice input{flex-basis:10rem}.public-profile .profile-public-details{grid-template-columns:minmax(0,1fr);gap:2rem;margin-top:2rem}.profile-public-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.profile-public-section .profile-facts{grid-template-columns:minmax(0,1fr);gap:.375rem}.profile-public-section .profile-facts dd{margin-bottom:.625rem}}
@media(prefers-reduced-motion:reduce){.profile-editor-section>summary>svg{transition:none}}
@media print{.profile-save-bar,.profile-editor-aside{display:none}.profile-editor-layout{display:block}.profile-editor-section{break-inside:avoid}.profile-public-gallery{grid-template-columns:repeat(3,1fr)}}
