/* Public host profile (/hosts/{id}): one profile card, then the host's stays,
   then a compact reviews block. Colours come from the guest theme tokens, so
   light and dark mode both work. */
.host-page{padding-top:32px;padding-bottom:88px}
.public-host-context .context-bar__inner{position:relative}

/* ---------- Profile card ---------- */
.host-card{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"identity cta" "facts facts";align-items:center;gap:24px 32px;padding:28px 32px;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--elev-1)}
.host-card__identity{grid-area:identity;display:flex;align-items:center;gap:20px;min-width:0}
.host-card__avatar{position:relative;flex:0 0 96px;width:96px;height:96px}
.host-card__avatar>img{display:block;width:100%;height:100%;border:1px solid var(--border);border-radius:28px;object-fit:cover;background:var(--soft)}
.host-card__avatar>i{position:absolute;left:-4px;bottom:-4px;display:grid;width:28px;height:28px;place-items:center;border:3px solid var(--surface);border-radius:50%;color:#fff;background:var(--color-success-text)}
.host-card__avatar>i .ui-icon{width:14px;height:14px;stroke-width:2.6}
.host-card__text{min-width:0}
.host-card__badge{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:99px;color:var(--color-success-text);background:var(--color-success-surface);font-size:.75rem;font-weight:700}
.host-card__badge .ui-icon{width:15px;height:15px}
.host-card h1{margin:8px 0 4px;overflow:hidden;color:var(--ink-strong);font:700 clamp(1.5rem,2.6vw,2.1rem)/1.35 var(--font-display);text-overflow:ellipsis;white-space:nowrap}
.host-card__text>p{margin:0;color:var(--muted);font-size:.875rem}
.host-card__cta{grid-area:cta;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 22px;border-radius:14px;color:#fff;background:var(--brand);font-size:.875rem;font-weight:700;white-space:nowrap;transition:background-color .18s ease}
.host-card__cta:hover{color:#fff;background:var(--brand-dark)}
.host-card__cta:focus-visible{outline:3px solid rgb(142 23 79 / 25%);outline-offset:3px}
.host-card__facts{grid-area:facts;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:18px 0 0;border-top:1px solid var(--border);list-style:none}
.host-card__facts>li{display:flex;align-items:center;gap:12px;min-width:0;padding-inline:20px;border-inline-start:1px solid var(--border)}
.host-card__facts>li:first-child{padding-inline-start:0;border-inline-start:0}
.host-card__fact-icon{display:grid;flex:0 0 40px;width:40px;height:40px;place-items:center;border-radius:12px;color:var(--brand);background:var(--tint)}
.host-card__fact-icon .ui-icon{width:20px;height:20px}
.host-card__fact-icon.is-star{color:#b87918;background:var(--color-warning-surface)}
.host-card__fact-icon.is-star .ui-icon{fill:#f2b63d;stroke:#b87918}
.host-card__facts b,.host-card__facts small{display:block}
.host-card__facts b{color:var(--ink);font:700 1.15rem/1.3 var(--font-numeric)}
.host-card__facts small{color:var(--muted);font-size:.75rem}

/* ---------- Sections ---------- */
.host-section{padding-top:48px}
.host-section__head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}
.host-section__head h2{margin:0;color:var(--ink-strong);font:700 1.45rem/1.5 var(--font-display)}
.host-chip{flex:0 0 auto;padding:6px 12px;border-radius:99px;color:var(--brand);background:var(--tint);font-size:.75rem;font-weight:700;white-space:nowrap}

/* ---------- Stays ---------- */
.host-stays{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.host-stay{display:flex;min-width:0;flex-direction:column;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--ink);background:var(--surface);box-shadow:var(--elev-1);transition:box-shadow .22s ease,border-color .22s ease}
.host-stay:hover{border-color:#cfa8b9;color:var(--ink);box-shadow:var(--elev-2)}
.host-stay:focus-visible{outline:3px solid rgb(142 23 79 / 25%);outline-offset:3px}
.host-stay__media{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:var(--soft)}
.host-stay__media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.host-stay:hover .host-stay__media img{transform:scale(1.04)}
.host-stay__status{position:absolute;top:12px;right:12px;display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:99px;color:#1f6b3e;background:rgb(255 255 255 / 92%);font-size:.72rem;font-weight:700}
.host-stay__status i{width:7px;height:7px;border-radius:50%;background:currentColor}
.host-stay__status.is-paused{color:#8b5a12}
.host-stay__photos{position:absolute;bottom:12px;left:12px;padding:4px 9px;border-radius:99px;color:#fff;background:rgb(20 10 16 / 62%);font-size:.7rem}
.host-stay__body{display:flex;flex:1;flex-direction:column;gap:6px;padding:16px 18px 18px}
.host-stay__city{display:inline-flex;align-items:center;gap:4px;color:var(--brand);font-size:.78rem;font-weight:700}
.host-stay__city .ui-icon{width:15px;height:15px}
.host-stay__body>h3{display:-webkit-box;margin:0;overflow:hidden;color:var(--ink);font-size:1rem;line-height:1.75;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.host-stay__facts{color:var(--muted);font-size:.8rem}
.host-stay__price{display:flex;align-items:baseline;gap:5px;margin-top:auto;padding-top:12px;border-top:1px dashed var(--border)}
.host-stay__price b{color:var(--ink);font:700 1rem var(--font-numeric)}
.host-stay__price small{color:var(--muted);font-size:.75rem}

/* ---------- Reviews ---------- */
.host-reviews-empty{display:flex;align-items:center;gap:16px;padding:20px 22px;border:1px dashed var(--border);border-radius:var(--radius-lg);background:var(--surface)}
.host-reviews-empty>span{display:grid;flex:0 0 48px;width:48px;height:48px;place-items:center;border-radius:15px;color:var(--brand);background:var(--tint)}
.host-reviews-empty>span .ui-icon{width:24px;height:24px}
.host-reviews-empty strong{display:block;color:var(--ink);font-size:.95rem}
.host-reviews-empty p{margin:3px 0 0;color:var(--muted);font-size:.82rem;line-height:1.9}
.host-reviews-summary{display:grid;grid-template-columns:200px minmax(0,1fr);align-items:center;gap:28px;padding:22px 26px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}
.host-reviews-summary>:only-child{grid-column:1/-1}
.host-reviews-score{display:flex;align-items:center;flex-direction:column;gap:4px;padding-inline-end:28px;border-inline-end:1px solid var(--border);text-align:center}
.host-reviews-score strong{color:var(--ink-strong);font:700 2.6rem/1.1 var(--font-numeric)}
.host-reviews-score small{color:var(--muted);font-size:.78rem}
.host-stars{--percent:calc(var(--rating, 0) / 5 * 100%);display:inline-block;font-size:1.05rem;letter-spacing:2px;line-height:1}
.host-stars:before{content:"★★★★★";color:transparent;background:linear-gradient(to left,#f2b63d var(--percent),var(--border) var(--percent));-webkit-background-clip:text;background-clip:text}
.host-reviews-categories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 28px;margin:0}
.host-reviews-categories>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(90px,1.2fr);align-items:center;gap:12px}
.host-reviews-categories dt{overflow:hidden;color:var(--ink);font-size:.84rem;text-overflow:ellipsis;white-space:nowrap}
.host-reviews-categories dd{display:flex;align-items:center;gap:10px;margin:0}
.host-reviews-categories dd b{min-width:24px;color:var(--ink);font:700 .84rem var(--font-numeric);text-align:left}
.host-meter{position:relative;flex:1;height:6px;overflow:hidden;border-radius:99px;background:var(--soft)}
.host-meter>i{position:absolute;inset-block:0;right:0;border-radius:99px;background:var(--brand)}
.host-reviews-summary__note{margin:0;color:var(--muted);font-size:.82rem;line-height:1.9}
.host-reviews-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:16px}
.host-review{display:flex;min-width:0;flex-direction:column;gap:10px;padding:18px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}
.host-review>header{display:flex;align-items:center;gap:10px}
.host-review>header img{flex:0 0 40px;width:40px;height:40px;border-radius:13px;object-fit:cover;background:var(--soft)}
.host-review>header>span{min-width:0;flex:1}
.host-review>header strong,.host-review>header small{display:block}
.host-review>header strong{overflow:hidden;color:var(--ink);font-size:.86rem;text-overflow:ellipsis;white-space:nowrap}
.host-review>header small{color:var(--muted);font-size:.72rem}
.host-review__score{display:inline-flex;align-items:center;gap:3px;padding:4px 8px;border-radius:9px;color:#8a5a12;background:var(--color-warning-surface);font:700 .78rem var(--font-numeric)}
.host-review__score .ui-icon{width:14px;height:14px;fill:#f2b63d;stroke:#b87918}
.host-review>p{display:-webkit-box;margin:0;overflow:hidden;color:var(--ink);font-size:.86rem;line-height:2;-webkit-box-orient:vertical;-webkit-line-clamp:4}
.host-review__stay{margin-top:auto;color:var(--muted);font-size:.74rem}
.host-review__reply{padding:10px 12px;border-right:3px solid var(--brand);border-radius:10px;background:var(--tint)}
.host-review__reply b{color:var(--brand);font-size:.74rem}
.host-review__reply p{display:-webkit-box;margin:3px 0 0;overflow:hidden;color:var(--ink);font-size:.8rem;line-height:1.9;-webkit-box-orient:vertical;-webkit-line-clamp:3}

/* ---------- Responsive ---------- */
@media(max-width:980px){
    .host-stays,.host-reviews-list{grid-template-columns:repeat(2,minmax(0,1fr))}
    .host-reviews-categories{grid-template-columns:1fr}
}
@media(max-width:680px){
    .host-page{padding-top:16px;padding-bottom:64px}
    .host-card{grid-template-columns:1fr;grid-template-areas:"identity" "facts" "cta";gap:18px;padding:20px 18px;border-radius:var(--radius-lg)}
    .host-card__identity{gap:14px}
    .host-card__avatar{flex-basis:72px;width:72px;height:72px}
    .host-card__avatar>img{border-radius:22px}
    .host-card h1{white-space:normal}
    .host-card__facts{padding-top:14px}
    .host-card__facts>li{flex-direction:column;align-items:flex-start;gap:6px;padding-inline:12px}
    .host-card__fact-icon{flex-basis:34px;width:34px;height:34px;border-radius:10px}
    .host-card__fact-icon .ui-icon{width:17px;height:17px}
    .host-card__facts b{font-size:1rem}
    .host-card__cta{width:100%}
    .host-section{padding-top:36px}
    .host-section__head h2{font-size:1.2rem}
    .host-stays,.host-reviews-list{grid-template-columns:1fr;gap:14px}
    .host-reviews-summary{grid-template-columns:1fr;gap:18px;padding:18px}
    .host-reviews-score{padding:0 0 16px;border-inline-end:0;border-bottom:1px solid var(--border)}
    .host-reviews-empty{align-items:flex-start;padding:16px}
}
@media(prefers-reduced-motion:reduce){
    .host-stay,.host-stay__media img,.host-card__cta{transition:none}
    .host-stay:hover .host-stay__media img{transform:none}
}
