
/* Unified city search, horizontal supplier rows and categorized editing. */
[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.company-list,.public .company-grid,.public .directory-company-grid,.public .similar-grid{display:flex!important;flex-direction:column!important;gap:18px;width:100%}
.public .company-card{width:100%;max-width:none;min-width:0;display:grid!important;grid-template-columns:minmax(200px,1.3fr) minmax(180px,1fr) minmax(160px,.9fr);align-items:center;gap:16px 24px;padding:24px;margin:0;box-sizing:border-box}
.public .company-card .company-top{grid-column:1;grid-row:1 / span 2;align-self:center;margin:0}.public .company-card .company-details{grid-column:2;grid-row:1;display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin:0}.public .company-card .tags{grid-column:2;grid-row:2;margin:0}.public .company-card .company-bottom{grid-column:3;grid-row:1 / span 2;border:0;padding:0;margin:0;display:flex;justify-content:flex-end;align-items:center;gap:14px;flex-wrap:wrap}.public .company-card .avatar{width:80px;height:80px;flex:none}.public .company-card .avatar img{width:100%;height:100%;object-fit:cover}.public .company-card .company-name{font-size:1.18rem}
.city-only-search{display:flex;align-items:stretch;gap:12px;width:100%;margin:0 0 28px;background:#fff;padding:14px;border:1px solid #dce3eb;border-radius:18px;box-sizing:border-box}.city-only-search label{flex:1;min-width:0}.city-only-search input{width:100%;height:52px;border:1px solid #dce3eb;border-radius:10px;padding:0 16px;font:inherit;box-sizing:border-box}.simple-directory{max-width:1120px}.simple-directory .company-list{margin-top:24px}.simple-directory .directory-layout{display:block}.hero-links{display:flex;gap:10px;flex-wrap:wrap}
.header-dropdown .cities-menu{max-height:65vh;overflow:auto}.neighborhood-links{padding:16px;border:1px solid #dce3eb;border-radius:14px;margin:0 0 24px}.neighborhood-links .chips{margin-top:12px;flex-wrap:wrap}.rich-footer::before,.footer-watermark{display:none!important}
.category-editor{min-width:0}.category-tabs{display:flex;flex-wrap:wrap;gap:8px;background:#fff;padding:14px;border:1px solid #dce3eb;border-radius:16px;margin-bottom:22px}.category-tabs button{font:inherit;cursor:pointer;border:1px solid #dce3eb;border-radius:10px;padding:12px 16px;background:#f7fafc;color:#3F4247}.category-tabs button[aria-selected=true]{color:white;background:#3F4247;border-color:#3F4247}.category-tabs button:focus-visible{outline:3px solid #3F4247;outline-offset:2px}.category-editor [role=tabpanel]{min-width:0}.company-portal .company-main{min-width:0}.code-editor{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.code-editor>label{display:flex;flex-direction:column;gap:8px}.code-editor textarea{font:13px/1.8 monospace;background:#f8fafc;min-height:110px;width:100%;resize:vertical;border:1px solid #cbd6e1;border-radius:10px;padding:12px;box-sizing:border-box}.code-preview{width:100%;height:420px;border:1px solid #cbd6e1;border-radius:10px;background:white}.authored-content{contain:layout paint;isolation:isolate;overflow:auto;white-space:normal;max-width:100%;overflow-wrap:anywhere}.authored-content img{max-width:100%;height:auto}.authored-content h1,.authored-content h2,.authored-content h3{line-height:1.7}.authored-content p{line-height:2}.media-link-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.media-link-row input{flex:1;min-width:160px;width:100%;padding:10px;border:1px solid #cbd6e1;border-radius:8px}.image-picker{display:flex;flex-direction:column;gap:10px}.image-picker>select{width:100%;padding:12px;border:1px solid #cbd6e1;border-radius:8px}.access-tabs{display:flex;gap:12px;margin:24px 0}.signup-card>h1{font-size:28px}.form-message a{overflow-wrap:anywhere}.public .form-grid{min-width:0}
@media(max-width:760px){.public .company-card{grid-template-columns:minmax(0,1fr) minmax(100px,.7fr);gap:12px;padding:18px}.public .company-card .company-top{grid-column:1 / -1;grid-row:1;flex-direction:row;gap:12px}.public .company-card .company-details{grid-column:1;grid-row:2}.public .company-card .tags{grid-column:1;grid-row:3}.public .company-card .company-bottom{grid-column:2;grid-row:2 / span 2;flex-direction:column;align-items:flex-end}.public .company-card .avatar{width:62px;height:62px}.public .company-card .company-name{font-size:1.03rem}.city-only-search{gap:8px;padding:10px}.city-only-search .button{padding:10px 12px;min-width:auto}.category-tabs{gap:6px}.category-tabs button{font-size:12px;padding:10px}.hero-links .button{flex:1 1 40%;justify-content:center}}

/* Keep the original .cta-band design; change only its placement. */
.footer-supplier-cta{padding-top:30px;padding-bottom:44px}.footer-company-access{margin-top:14px;background:#e5f0cd;color:#2E3137;display:inline-flex}.rich-footer .footer-company-access:hover{background:#E2DED3;color:#2E3137}
.city-autocomplete{position:relative;flex:1;min-width:0}.city-autocomplete label{display:block}.city-suggestions{position:absolute;inset-inline:0;top:calc(100% + 8px);z-index:80;max-height:280px;overflow-y:auto;padding:6px;margin:0;list-style:none;border:1px solid #dce3eb;border-radius:12px;background:white;box-shadow:0 12px 30px #193d5b24;text-align:start;color:#3F4247}.city-suggestions [role=option]{padding:12px 14px;border-radius:8px;cursor:pointer;line-height:1.6}.city-suggestions [role=option]:hover,.city-suggestions [aria-selected=true]{background:#e9eef3;color:#121519}.city-suggestions-empty{padding:14px;font-size:13px;color:#657b73}.city-only-search:focus-within{position:relative;z-index:20}
[data-media-upload-results]{border:1px solid #c7d0da;border-radius:14px;background:#f7f9fb;padding:18px;margin:18px 0}[data-media-urls]{width:100%;box-sizing:border-box;resize:vertical;font:13px/1.8 monospace;padding:12px;border:1px solid #cbd6e1;border-radius:10px;background:white}.media-results-title{font-weight:700;color:#3F4247}.media-upload-links{padding:0;margin:18px 0 0;list-style:none;display:grid;gap:10px}.media-upload-links a{display:grid;grid-template-columns:48px minmax(0,1fr);gap:2px 12px;align-items:center;padding:10px;border:1px solid #dce3eb;border-radius:10px;background:white}.media-upload-links img{width:48px;height:48px;object-fit:cover;border-radius:7px;grid-row:1 / span 2}.media-upload-links small{overflow-wrap:anywhere;color:#3F4247;text-align:left;font-size:11px}.media-upload-links span{overflow-wrap:anywhere}
@media(max-width:760px){.footer-supplier-cta{padding-top:20px;padding-bottom:30px}.city-suggestions{max-height:240px}[data-media-upload-results]{padding:12px}}
/* Limited work-sample previews shared by every supplier-card list. */
.public .company-card .company-portfolio{grid-column:1 / -1;grid-row:3;display:grid;grid-template-columns:minmax(150px,.55fr) minmax(0,1fr);align-items:center;gap:18px;border-top:1px solid #e6e9eb;padding-top:16px;margin-top:2px}.company-portfolio-heading{display:grid;gap:8px}.company-portfolio-heading b{font-size:13px;color:#2E3137}.portfolio-more{font-size:11px;color:#3F4247}.company-portfolio-images{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-width:450px;width:100%;justify-self:end}.portfolio-image{position:relative;display:block;min-width:0;overflow:hidden;border-radius:12px;border:1px solid #e0e3e7;background:#eef0f3;box-shadow:0 4px 12px #143d3010;isolation:isolate}.portfolio-image img{display:block;width:100%;height:100%;aspect-ratio:3/2;object-fit:cover;transition:transform .2s ease}.portfolio-image:hover img{transform:scale(1.04)}.portfolio-image:focus-visible{outline:3px solid #3F4247;outline-offset:3px}.portfolio-image-zoom{position:absolute;inset-inline-end:6px;bottom:6px;background:#183b2dd9;color:white;border-radius:6px;line-height:1;padding:5px 7px;font-size:13px}.portfolio-full-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:18px 0}.portfolio-full-grid .portfolio-image img{aspect-ratio:4/3;max-height:300px}.portfolio-detail{scroll-margin-top:100px}.company-work-samples{margin:28px 0;padding:26px;border:1px solid #e0e3e7;background:white;border-radius:20px}.company-work-samples>h2{font-size:22px;margin:0 0 16px}.portfolio-lightbox{box-sizing:border-box;width:min(1050px,94vw);max-height:94vh;padding:16px;border:0;border-radius:18px;background:#121519;color:white;box-shadow:0 20px 90px #0005}.portfolio-lightbox::backdrop{background:#081b16db}.portfolio-lightbox-toolbar{display:flex;justify-content:space-between;align-items:center;padding:0 4px 8px;gap:12px}.portfolio-close{border:1px solid #71897d;border-radius:10px;background:transparent;color:white;font:28px/1.3 sans-serif;padding:0 12px;cursor:pointer}.portfolio-lightbox figure{margin:0;text-align:center}.portfolio-lightbox [data-portfolio-full]{display:block;width:100%;max-height:65vh;object-fit:contain;border-radius:8px;background:#121519}.portfolio-lightbox figcaption{font-size:13px;padding:12px;line-height:1.8;overflow-wrap:anywhere}.portfolio-lightbox-controls{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.portfolio-lightbox-controls button,.portfolio-lightbox-controls a{font:inherit;font-size:12px;padding:9px 12px;border:1px solid #70877b;border-radius:9px;background:#2E3137;color:white;text-decoration:none;cursor:pointer}.portfolio-lightbox-controls button:disabled{opacity:.45;cursor:default}
@media(max-width:760px){.public .company-card .company-portfolio{grid-row:4;grid-template-columns:1fr;gap:12px;padding-top:14px}.company-portfolio-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.company-portfolio-images{max-width:none;gap:8px}.company-portfolio-heading b{font-size:12px}.portfolio-more{font-size:10px}.portfolio-full-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.company-work-samples{padding:18px}.portfolio-lightbox{padding:12px}.portfolio-lightbox-controls{gap:7px}.portfolio-lightbox-controls button,.portfolio-lightbox-controls a{font-size:10px;padding:8px}.portfolio-lightbox [data-portfolio-full]{max-height:60vh}}
@media(prefers-reduced-motion:reduce){.portfolio-image img{transition:none}.portfolio-image:hover img{transform:none}}

/* Dedicated work-sample editor shared by the supplier and administrator. */
.portfolio-editor-intro{line-height:2;margin:0 0 20px;color:#3F4247;max-width:850px}
.portfolio-editor-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px;margin:16px 0 24px}
.portfolio-editor-item{min-width:0;border:1px solid #dde0e4;border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 4px 14px #193d5b08}
.portfolio-editor-item>img{display:block;width:100%;height:150px;object-fit:cover;background:#eef1f4}
.portfolio-editor-item>b,.portfolio-editor-item>small{display:block;padding:0 12px;overflow-wrap:anywhere}
.portfolio-editor-item>b{font-size:12px;color:#2E3137;margin-top:12px}
.portfolio-editor-item>small{color:#607466;margin:7px 0 12px;font-size:11px}
.portfolio-editor-actions{display:flex;flex-wrap:wrap;gap:5px;padding:0 12px 14px}
.portfolio-editor-actions button{font:inherit;font-size:11px;cursor:pointer;background:#f3f5f7;color:#2E3137;border:1px solid #dadee3;padding:6px 8px;border-radius:7px}
.portfolio-editor-actions button:disabled{opacity:.4;cursor:default}
.portfolio-editor-actions [data-portfolio-action="remove"]{color:#9c3434;background:#fff7f7}
.portfolio-description{border-top:1px solid #e2e5e8;padding-top:18px}.portfolio-description>summary{cursor:pointer;padding:8px 0 18px;font-weight:600}
[data-portfolio-count]{font-size:13px;color:#2E3137;line-height:1.9}
@media(max-width:560px){.portfolio-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.portfolio-editor-item>img{height:110px}.portfolio-editor-actions{padding:0 8px 10px}.portfolio-editor-item>b,.portfolio-editor-item>small{padding:0 8px}.portfolio-editor-actions button{font-size:10px}}
