/* JSV 2.0.260: scoped styling for real Directory services and owned portfolio records.
 * No new shell, rail, scroll, position or breakpoint overrides outside the business page. */
.jsv-b234-page .bs-hero .bs-banner-rating,
.jsd-bs .bs-hero .bs-banner-rating{position:absolute;z-index:3;top:13px;right:15px;display:flex;align-items:center;gap:10px;background:#fffaf0;color:#203951;border:1px solid #e7d2a1;border-radius:11px;padding:8px 12px;box-shadow:0 5px 14px #091f3333;text-decoration:none;max-width:190px}
.jsv-b234-page .bs-banner-rating .bs-banner-star,.jsd-bs .bs-banner-rating .bs-banner-star{font-size:23px;color:#a87513;line-height:1}
.jsv-b234-page .bs-banner-rating strong,.jsd-bs .bs-banner-rating strong{display:block;color:#153750;font-size:16px;font-weight:850;white-space:nowrap}
.jsv-b234-page .bs-banner-rating small,.jsd-bs .bs-banner-rating small{display:block;color:#5b7285;font-size:11px;font-weight:650}
.jsv-b234-page .bs-banner-rating:hover,.jsd-bs .bs-banner-rating:hover{background:#fff0c5;text-decoration:none}
/* Readable service cards with the owner's actual descriptions, never fabricated details. */
.jsv-b234-page .bs-service-feature-grid,.jsd-bs .bs-service-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0}
.jsv-b234-page .bs-service-feature,.jsd-bs .bs-service-feature{display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid #dce7ee;border-radius:12px;overflow:hidden}
.jsv-b234-page .bs-service-feature-media,.jsd-bs .bs-service-feature-media{background:#eef4f6;aspect-ratio:16/8;overflow:hidden}
.jsv-b234-page .bs-service-feature-media img,.jsd-bs .bs-service-feature-media img{width:100%;height:100%;object-fit:cover}
.jsv-b234-page .bs-service-feature-copy,.jsd-bs .bs-service-feature-copy{padding:12px;display:flex;flex-direction:column;align-items:start;gap:6px;flex:1;overflow-wrap:anywhere}
.jsv-b234-page .bs-service-feature h3,.jsd-bs .bs-service-feature h3{margin:0;font-size:15px;font-weight:850;color:#163650}
.jsv-b234-page .bs-service-feature small,.jsd-bs .bs-service-feature small{font-size:11px;color:#687d8b}
.jsv-b234-page .bs-service-feature b,.jsd-bs .bs-service-feature b{font-size:12px;color:#78560d}
.jsv-b234-page .bs-service-feature p,.jsd-bs .bs-service-feature p{font-size:12px;line-height:1.65;color:#455d70;margin:3px 0 10px}
.jsv-b234-page .bs-service-feature a,.jsd-bs .bs-service-feature a{font-size:12px;font-weight:800;color:#195c87;margin-top:auto}
.jsv-b234-page .bs-kind-service .bs-item-copy p,.jsd-bs .bs-kind-service .bs-item-copy p{font-size:12px;line-height:1.65;color:#3e586e;margin:9px 0 12px}
.jsv-b234-page .bs-kind-service .bs-item-image img,.jsd-bs .bs-kind-service .bs-item-image img{aspect-ratio:16/8;object-fit:cover}
/* Public Portfolio tabs live inside the existing main column. Side rails are unchanged. */
.jsv-b234-page .bs-portfolio-grid,.jsd-bs .bs-portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;min-width:0}
.jsv-b234-page .bs-portfolio-card,.jsd-bs .bs-portfolio-card{background:#fff;border:1px solid #dce6ec;border-radius:12px;overflow:hidden;min-width:0;box-shadow:0 2px 8px #0c2e4c0b}
.jsv-b234-page .bs-portfolio-media,.jsd-bs .bs-portfolio-media{display:grid;grid-template-columns:1fr;min-width:0;gap:3px;background:#e6edf1;overflow:hidden}
.jsv-b234-page .bs-portfolio-pair,.jsd-bs .bs-portfolio-pair{grid-template-columns:repeat(2,minmax(0,1fr))}
.jsv-b234-page .bs-portfolio-media>a,.jsd-bs .bs-portfolio-media>a{display:block;position:relative;min-width:0;min-height:120px;overflow:hidden;color:#fff}
.jsv-b234-page .bs-portfolio-media img,.jsd-bs .bs-portfolio-media img{width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;display:block;transition:transform .18s ease}
.jsv-b234-page .bs-portfolio-media a:hover img,.jsd-bs .bs-portfolio-media a:hover img{transform:scale(1.035)}
.jsv-b234-page .bs-portfolio-media a span,.jsd-bs .bs-portfolio-media a span{position:absolute;left:8px;bottom:8px;background:#102f49dd;color:#fff;padding:4px 8px;border-radius:6px;font-size:11px;font-weight:750}
.jsv-b234-page .bs-portfolio-copy,.jsd-bs .bs-portfolio-copy{padding:13px}
.jsv-b234-page .bs-portfolio-copy small,.jsd-bs .bs-portfolio-copy small{font-size:11px;color:#6e8090;display:block}
.jsv-b234-page .bs-portfolio-copy h3,.jsd-bs .bs-portfolio-copy h3{margin:5px 0 8px;font-size:15px;font-weight:850;color:#14344e}
.jsv-b234-page .bs-portfolio-copy p,.jsd-bs .bs-portfolio-copy p{margin:0 0 8px;font-size:12px;line-height:1.6;color:#40576d}
.jsv-b234-page .bs-portfolio-extra,.jsd-bs .bs-portfolio-extra{display:flex;gap:5px;flex-wrap:wrap;margin-top:11px}
.jsv-b234-page .bs-portfolio-extra a,.jsd-bs .bs-portfolio-extra a{display:block;overflow:hidden;border-radius:6px;border:1px solid #d9e4eb;width:56px;height:48px}
.jsv-b234-page .bs-portfolio-extra img,.jsd-bs .bs-portfolio-extra img{width:100%;height:100%;object-fit:cover}
.jsv-b234-page .bs-overview-portfolio .bs-card-head,.jsd-bs .bs-overview-portfolio .bs-card-head{margin-bottom:12px}
/* Private portfolio editor and list stay inside Business Studio's existing owner workspace. */
.jsv-b234-page .bs-portfolio-manager-row,.jsd-bs .bs-portfolio-manager-row{display:flex;gap:14px;align-items:center;flex-wrap:wrap;padding:11px 0;border-bottom:1px solid #e2e9ee}
.jsv-b234-page .bs-portfolio-manager-row>.bs-list-thumb,.jsd-bs .bs-portfolio-manager-row>.bs-list-thumb{flex:none;width:83px;height:70px;border-radius:9px;overflow:hidden;background:#edf4f8}
.jsv-b234-page .bs-portfolio-manager-row>.bs-list-thumb img,.jsd-bs .bs-portfolio-manager-row>.bs-list-thumb img{width:100%;height:100%;object-fit:cover}
.jsv-b234-page .bs-portfolio-manager-row>div:nth-child(2),.jsd-bs .bs-portfolio-manager-row>div:nth-child(2){flex:1;min-width:150px}
.jsv-b234-page .bs-portfolio-manager-row h3,.jsd-bs .bs-portfolio-manager-row h3{font-size:14px;margin:0 0 3px}
.jsv-b234-page .bs-portfolio-manager-row small,.jsd-bs .bs-portfolio-manager-row small{font-size:11px;color:#627c92}
.jsv-b234-page .bs-portfolio-manager-row p,.jsd-bs .bs-portfolio-manager-row p{font-size:12px;margin:4px 0;color:#567083}
.jsv-b234-page .bs-portfolio-image-input,.jsd-bs .bs-portfolio-image-input{display:inline-block;width:min(100%,260px);vertical-align:top;margin:8px 12px 12px 0}
.jsv-b234-page .bs-portfolio-image-input label,.jsd-bs .bs-portfolio-image-input label{display:flex;flex-direction:column;gap:8px;font-weight:750;font-size:12px}
.jsv-b234-page .bs-portfolio-image-input img,.jsd-bs .bs-portfolio-image-input img{height:130px;width:100%;max-width:240px;object-fit:cover;border-radius:9px}
.jsv-b234-page .bs-portfolio-pair-uploads,.jsd-bs .bs-portfolio-pair-uploads{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
.jsv-b234-page .bs-portfolio-pair-uploads label,.jsd-bs .bs-portfolio-pair-uploads label{font-size:12px;font-weight:750}
@media(max-width:850px){.jsv-b234-page .bs-service-feature-grid,.jsv-b234-page .bs-portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.jsv-b234-page .bs-service-feature-grid,.jsd-bs .bs-service-feature-grid,.jsv-b234-page .bs-portfolio-grid,.jsd-bs .bs-portfolio-grid,.jsv-b234-page .bs-portfolio-pair-uploads,.jsd-bs .bs-portfolio-pair-uploads{grid-template-columns:1fr}.jsv-b234-page .bs-banner-rating,.jsd-bs .bs-banner-rating{top:7px;right:7px;padding:5px 8px;gap:6px}.jsv-b234-page .bs-banner-rating .bs-banner-star,.jsd-bs .bs-banner-rating .bs-banner-star{font-size:17px}.jsv-b234-page .bs-banner-rating strong,.jsd-bs .bs-banner-rating strong{font-size:12px}.jsv-b234-page .bs-banner-rating small,.jsd-bs .bs-banner-rating small{font-size:9px}.jsv-b234-page .bs-portfolio-pair,.jsd-bs .bs-portfolio-pair{grid-template-columns:repeat(2,minmax(0,1fr))}.jsv-b234-page .bs-portfolio-manager-row>.bs-btn,.jsd-bs .bs-portfolio-manager-row>.bs-btn{margin-left:auto}}

/* Fallback legacy directory public view, without introducing new rails. */
.jsf-bp .bs-portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.jsf-bp .bs-portfolio-card{border:1px solid #dce6ee;border-radius:11px;overflow:hidden;background:#fff}
.jsf-bp .bs-portfolio-media{display:grid;grid-template-columns:1fr;gap:3px}.jsf-bp .bs-portfolio-media.bs-portfolio-pair{grid-template-columns:repeat(2,minmax(0,1fr))}
.jsf-bp .bs-portfolio-media a{position:relative;display:block;min-width:0;overflow:hidden}.jsf-bp .bs-portfolio-media img{display:block;width:100%;height:100%;aspect-ratio:4/3;object-fit:cover}
.jsf-bp .bs-portfolio-media span{position:absolute;bottom:7px;left:7px;border-radius:5px;background:#102f49de;color:#fff;font-size:11px;font-weight:800;padding:4px 8px}
.jsf-bp .bs-portfolio-copy{padding:13px}.jsf-bp .bs-portfolio-copy h3{font-size:15px;margin:5px 0}.jsf-bp .bs-portfolio-copy p{font-size:12px;line-height:1.6}.jsf-bp .bs-portfolio-extra{display:flex;gap:5px;flex-wrap:wrap}.jsf-bp .bs-portfolio-extra img{width:54px;height:48px;object-fit:cover;border-radius:6px}
@media(max-width:550px){.jsf-bp .bs-portfolio-grid{grid-template-columns:1fr}}
