/* SBK-UA-0306: V4 composition; existing shared 1920px shell and identity own the site. */
body:has(.pp-page) .public-main{padding:0;margin:0;background:#fff}
.pp-page{min-height:60vh;padding:8px 0 32px;background:#fff;color:#0f172a}
.pp-page,.pp-page *{box-sizing:border-box}
.pp-page [hidden]{display:none!important}
.pp-page :is(a,button,summary):focus-visible{outline:3px solid #9bbcf2;outline-offset:3px}
.pp-page :is(h1,h2,h3,p,strong,small){overflow-wrap:anywhere}
.pp-page h1{font-size:24px;line-height:1.2;margin:0;color:#102b4b}
.pp-page h2{font-size:20px;line-height:1.25;margin:0 0 12px;color:#102b4b}
.pp-page h3{font-size:15px;line-height:1.3;margin:8px 0 3px}
.pp-page p{font-size:14px;line-height:1.45;margin:0 0 8px;color:#52647c}
.pp-page a{color:#1b56b5;text-decoration:none}
.pp-breadcrumb{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:13px;min-height:44px;margin-bottom:8px;color:#64748b}
.pp-breadcrumb a{display:inline-flex;align-items:center;min-height:44px}
.pp-cover{height:160px;border-radius:20px;background:#f1f5fa}
.pp-profile-strip{display:flex;align-items:flex-start;justify-content:space-between;height:60px;padding:0 16px;position:relative}
.pp-avatar{display:grid;place-items:center;position:relative;transform:translateY(-50%);width:112px;height:112px;flex:none;border:6px solid #fff;border-radius:50%;color:#102b4b;background:#e8eef7;font-size:28px;font-weight:700}
.pp-share{display:grid;place-items:center;width:44px;height:44px;flex:none;margin-top:12px;padding:10px;border:0;border-radius:50%;background:#f1f5fa;color:#102b4b;cursor:pointer}
.pp-share svg{display:block;max-width:100%}
.pp-identity{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin:12px 0 28px}
.pp-identity__text{min-width:0;flex:0 1 360px}
.pp-role{margin:6px 0 0!important}
.pp-facts{display:flex;align-items:center;gap:14px;flex-wrap:wrap;min-width:0}
.pp-location,.pp-reputation,.pp-hours{display:flex;gap:6px;align-items:center;margin:0!important;font-size:13px!important;line-height:1.35;color:#52647c!important}
.pp-facts .material-symbols-rounded,.pp-hours>.material-symbols-rounded{font-size:20px;flex:none}
.pp-reputation{min-height:44px}
.pp-hours{gap:10px}
.pp-hours small{display:block;font-size:12px;color:#64748b;margin-top:3px}
.pp-header-action{margin-left:auto;flex:none}
.pp-share-status:empty{display:none}
.pp-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);grid-template-rows:auto auto auto 1fr;gap:28px;align-items:start}
.pp-prices{grid-column:1;grid-row:1}.pp-portfolio{grid-column:1;grid-row:2}.pp-reviews{grid-column:1;grid-row:3 / span 2}
.pp-contact{grid-column:2;grid-row:1}.pp-availability{grid-column:2;grid-row:2}.pp-geography{grid-column:2;grid-row:3}
.pp-layout>*{min-width:0;margin:0}
.pp-section{margin-bottom:32px}
.pp-page :is(section[id],header[id]){scroll-margin-top:calc(var(--pp-header-height,108px) + 16px)}
.pp-section-heading{display:flex;gap:12px;align-items:start;justify-content:space-between;margin-bottom:16px}
.pp-section-heading h2{margin:0}.pp-section-heading p{font-size:13px;margin:6px 0 0}
.pp-price-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.pp-price-group{min-width:0;border-radius:16px;background:#f4f6fb}
.pp-price-group>summary{display:flex;align-items:center;gap:12px;min-height:110px;list-style:none;padding:18px 16px;cursor:pointer;color:#102b4b;font-size:14px}
.pp-price-group>summary::-webkit-details-marker,.pp-collection>summary::-webkit-details-marker{display:none}
.pp-price-group>summary:hover{background:#ecf1fa;border-radius:16px}
.pp-group-icon{display:grid;place-items:center;width:40px;height:40px;flex:none;border-radius:12px;font-size:23px;color:#1b56b5;background:#e9effa}
.pp-group-copy{flex:1;min-width:0}.pp-group-copy strong,.pp-group-copy small{display:block}.pp-group-copy small{color:#52647c;font-size:12px;margin-top:6px}
.pp-price-items{display:grid;gap:8px;padding:0 12px 12px}
.pp-service{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;min-height:64px;border-radius:12px;background:#fff}
.pp-service__title{display:block;color:#102b4b;font-size:14px;margin-bottom:4px}
.pp-service strong{font-size:14px;color:#0f172a}
.pp-service__action{font-size:12px;text-align:right;flex:none;max-width:100px}
.pp-price-group[open]{grid-column:1/-1}
.pp-collection{min-width:0}
.pp-collection>summary{display:grid;grid-template-columns:minmax(0,1fr) 32px;align-items:center;gap:12px;width:min(100%,320px);list-style:none;cursor:pointer;color:#102b4b}
.pp-album-cover{display:block;grid-column:1/-1;border-radius:16px;overflow:hidden;background:#f1f5fa;aspect-ratio:1.35}
.pp-album-cover img{display:block;width:100%;height:100%;object-fit:cover}
.pp-album-title strong,.pp-album-title small{display:block;font-size:14px}.pp-album-title small{margin-top:4px;font-size:12px;color:#64748b}
.pp-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 14px;margin-top:20px}
.pp-work{min-width:0}.pp-work__image{display:block;overflow:hidden;border-radius:14px;background:#f1f5fa}
.pp-work__image img{display:block;width:100%;height:auto;aspect-ratio:1.4;object-fit:cover}.pp-work p{font-size:13px}
.pp-work-details summary{display:inline-flex;align-items:center;min-height:44px;color:#1b56b5;font-size:13px;cursor:pointer}
.pp-panel{padding:20px;border-radius:20px;background:#f4f6fb}
.pp-panel h2{font-size:19px}.pp-panel h3{font-size:14px}
.pp-button{display:flex;justify-content:center;align-items:center;gap:12px;min-height:48px;padding:12px 20px;border:0;border-radius:12px;background:#e4edff;color:#1b56b5!important;font-size:14px;font-weight:650;text-align:center}
.pp-button--primary{background:var(--color-action-primary,#1b56b5);color:#fff!important}
.pp-button--primary:hover{background:#17499b}
.pp-contact .pp-button{margin-top:16px}.pp-contact .pp-muted{margin-top:10px;margin-bottom:0}
.pp-muted{color:#64748b!important;font-size:13px!important}.pp-empty{background:#f4f6fb;padding:16px;border-radius:14px;color:#64748b}
.pp-schedule-empty{display:flex;align-items:center;gap:10px}.pp-schedule-empty .material-symbols-rounded{flex:none;color:#64748b}
.pp-about{margin-top:32px;max-width:80ch}.pp-not-found{padding:40px 0;min-height:50vh}
.rd-picker305{display:grid;gap:10px;margin-top:18px}
.rd-picker305 a{display:flex;justify-content:space-between;align-items:center;gap:14px;min-height:64px;padding:14px;border-radius:12px;background:#f1f5fa;color:#102b4b;text-decoration:none}
.rd-picker305 strong{display:block;margin-top:5px;font-size:14px;color:#52647c}
.rd-dialog.pp-media-dialog{width:min(1000px,calc(100vw - 24px))}
.pp-modal-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:16px}
.pp-modal-gallery a{display:block;min-width:0;color:#102b4b;text-decoration:none}
.pp-modal-gallery img{display:block;width:100%;aspect-ratio:1.4;object-fit:cover;border-radius:12px;background:#f1f5fa}
.pp-modal-gallery span{display:block;margin-top:8px;font-size:14px;overflow-wrap:anywhere}
.pp-photo-image{display:block;width:100%;max-height:60dvh;object-fit:contain;margin:16px 0;background:#f1f5fa;border-radius:12px}
.pp-photo-description{white-space:pre-wrap;overflow-wrap:anywhere;color:#52647c;font-size:14px}
.pp-photo-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.pp-photo-actions button{min-height:44px;padding:10px 14px;border:0;border-radius:10px;background:#e4edff;color:#1b56b5;font:inherit;cursor:pointer}
.pp-photo-actions button:disabled{opacity:.4;cursor:default}
.pp-image-failed{object-fit:contain!important;opacity:0}
@media(min-width:1600px){.pp-layout{grid-template-columns:minmax(0,1fr) 400px;gap:32px}.pp-identity__text{flex-basis:420px}}
@media(max-width:1300px) and (min-width:1001px){.pp-header-action{flex-basis:auto}.pp-identity__text{flex-basis:280px}.pp-identity{gap:16px}.pp-price-groups{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1000px){
.pp-layout{grid-template-columns:minmax(0,1fr);gap:28px}
.pp-prices,.pp-portfolio,.pp-reviews,.pp-availability,.pp-geography{grid-column:1;grid-row:auto}
.pp-contact{display:none}
.pp-identity{align-items:flex-start;gap:16px;flex-direction:column;margin-bottom:28px}
.pp-identity__text{flex-basis:auto}.pp-header-action{margin:4px 0 0;width:min(100%,480px)}
.pp-cover{height:140px}
.pp-price-groups{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width: 579px){
.pp-page h1{font-size:22px}.pp-page h2{font-size:19px}
.pp-cover{height:122px;border-radius:16px}.pp-profile-strip{height:48px;padding:0 12px}
.pp-avatar{width:88px;height:88px;border-width:5px;font-size:24px}
.pp-identity{margin-top:12px}.pp-facts{gap:12px}.pp-header-action{width:100%;margin-top:6px}
.pp-price-groups{grid-template-columns:minmax(0,1fr)}
.pp-price-group>summary{min-height:82px;padding:14px}
.pp-gallery,.pp-modal-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
.pp-service{align-items:flex-start;flex-direction:column}.pp-service__action{max-width:none}
.pp-panel{padding:16px}
}

.pp-photo-unavailable{display:grid;place-items:center;width:100%;min-height:120px;aspect-ratio:1.4;padding:16px;background:#f1f5fa;color:#64748b;font-size:13px;text-align:center;border-radius:12px}

.pp-layout>.pp-section{margin-bottom:0}
.rd-picker-action{flex:none;font-size:13px;white-space:nowrap;color:#1b56b5}

/* One profile-owned view dialog; global0285 owns positioning and backdrop. */
.pp-dialog>.sb-modal__panel{position:relative;width:min(800px,100%);padding:24px;background:#fff;color:#0f172a}
.pp-dialog h2{font-size:22px;line-height:1.25;margin:0 0 12px;padding-right:44px;overflow-wrap:anywhere}
.pp-dialog-close{position:absolute;top:12px;right:12px;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:#f1f5f9;color:#0f172a;font:inherit;font-size:24px;cursor:pointer}
.pp-dialog-master{font-size:14px;color:#64748b;margin:0 0 16px}
.pp-picker{display:grid;gap:10px}
.pp-picker a{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;padding:16px;border-radius:12px;background:#f1f5f9;color:#0f172a;text-decoration:none;font-size:14px}
.pp-picker strong{display:block;margin-top:6px;font-weight:600;color:#0f172a}
.pp-native-action{flex:none;font-size:13px;color:var(--color-action-primary,#1b56b5);max-width:120px}
.pp-dialog :is(a,button):focus-visible{outline:0;box-shadow:0 0 0 3px #afc5e5;background:#e4edff}
@media(max-width:579px){.pp-dialog>.sb-modal__panel{padding:20px 16px}.pp-dialog h2{font-size:20px}.pp-picker a{gap:12px;padding:14px}.pp-native-action{max-width:85px;font-size:12px}}

.pp-dialog h2:focus{outline:0}
