.tbp-public-tutor-profile{background:var(--tbp-color-surface-soft);color:var(--tbp-color-text);min-height:70vh;padding-bottom:clamp(3rem,7vw,6rem)}
.tbp-profile-draft-banner{background:#fff1c7;border-bottom:1px solid #e1b744;color:#704f00;font-weight:800;padding:.75rem 1rem;text-align:center}
.tbp-profile-hero{background:linear-gradient(135deg,var(--tbp-color-navy-900),var(--tbp-color-navy-800));color:#fff;padding:clamp(2.5rem,6vw,5rem) 0}
.tbp-profile-hero__inner{align-items:center;display:flex;gap:2rem}
.tbp-profile-avatar{border:5px solid rgb(255 255 255 / 25%);border-radius:50%;height:140px;width:140px}
.tbp-profile-hero h1{color:#fff;font-size:clamp(2.2rem,5vw,4rem);line-height:1.15;margin:.65rem 0}
.tbp-profile-hero p{color:#dce5ef;font-size:1.15rem;margin:0}
.tbp-profile-verified{background:#dff5e6;border-radius:999px;color:#176b36;display:inline-flex;font-weight:800;padding:.35rem .7rem}
.tbp-profile-layout{align-items:start;display:grid;gap:1.5rem;grid-template-columns:minmax(0,1.65fr) minmax(270px,.75fr);padding-top:clamp(2rem,5vw,4rem)}
.tbp-profile-main{display:grid;gap:1.5rem;min-width:0}
.tbp-profile-card{background:var(--tbp-color-surface);border:1px solid var(--tbp-color-border);border-radius:var(--tbp-radius-xl);box-shadow:var(--tbp-shadow-sm);min-width:0;padding:clamp(1.25rem,3vw,2rem)}
.tbp-profile-card h2{font-size:clamp(1.35rem,3vw,1.8rem);margin:0 0 1rem}
.tbp-profile-bio{line-height:1.9;margin:0;white-space:normal}
.tbp-profile-facts{display:grid;gap:0;margin:0}
.tbp-profile-facts>div{border-bottom:1px solid var(--tbp-color-border);display:grid;gap:1rem;grid-template-columns:minmax(130px,.7fr) 1.3fr;padding:1rem 0}
.tbp-profile-facts dt{color:var(--tbp-color-text-muted);font-weight:700}
.tbp-profile-facts dd{font-weight:750;margin:0;overflow-wrap:anywhere}
.tbp-profile-booking-placeholder{position:sticky;top:8rem}
.tbp-profile-booking-placeholder>span{color:var(--tbp-color-primary);font-size:2rem}
.tbp-profile-booking-placeholder p{color:var(--tbp-color-text-muted);line-height:1.7;margin-bottom:0}
.tbp-profile-unavailable{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:560px;padding-block:5rem;text-align:center}
.tbp-profile-unavailable>span{font-size:3rem}
.tbp-profile-unavailable h1{font-size:clamp(2rem,5vw,3.2rem);margin:1rem 0}
.tbp-profile-unavailable p{color:var(--tbp-color-text-muted);margin:0 0 1.5rem}
.tbp-profile-button{background:var(--tbp-color-primary);border-radius:var(--tbp-radius-md);color:#fff!important;font-weight:800;padding:.8rem 1.2rem;text-decoration:none}
html[data-theme=dark] .tbp-profile-draft-banner{background:#3c310d;color:#ffe89b}
html[data-theme=dark] .tbp-profile-verified{background:#123b25;color:#bceccb}
@media(max-width:760px){
	.tbp-profile-hero__inner{align-items:flex-start;flex-direction:column}
	.tbp-profile-avatar{height:92px;width:92px}
	.tbp-profile-layout{grid-template-columns:1fr}
	.tbp-profile-card{border-radius:var(--tbp-radius-lg)}
	.tbp-profile-booking-placeholder{position:static}
	.tbp-profile-facts>div{grid-template-columns:1fr;gap:.35rem}
}
@media(max-width:360px){
	.tbp-profile-card{padding:1rem}
	.tbp-profile-draft-banner{font-size:.88rem}
}


/* Country identity elevation v0.7.5. */
.tbp-profile-hero__country{margin-top:1rem}.tbp-profile-hero__country .tbp-country-chip{background:rgb(255 255 255 / 10%);border-color:rgb(255 255 255 / 18%);color:#fff;box-shadow:none}.tbp-profile-hero__country .tbp-country-flag{border-color:rgb(255 255 255 / 22%)}
.tbp-profile-facts dd .tbp-country-chip{vertical-align:middle}

.tbp-profile-rate{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding-block:.75rem;border-block-end:1px solid rgb(11 31 58 / 12%)}
.tbp-profile-rate strong{color:var(--tbp-color-navy,#0b1f3a);font-size:1.4rem}
.tbp-profile-duration{display:grid;gap:.55rem;margin:1rem 0;padding:0;border:0}
.tbp-profile-duration legend{margin-block-end:.65rem;font-weight:800}
.tbp-profile-duration label{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.6rem;padding:.7rem .8rem;border:1px solid rgb(11 31 58 / 14%);border-radius:.75rem;cursor:pointer}
.tbp-profile-duration label:has(input:checked){border-color:var(--tbp-color-primary,#1278e7);background:rgb(18 120 231 / 7%)}
.tbp-profile-duration small{color:var(--tbp-color-navy,#0b1f3a);font-weight:800}
html[data-theme=dark] .tbp-profile-rate strong,html[data-theme=dark] .tbp-profile-duration small{color:#fff}
