.featured-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; align-items:start; }
.trainer-widget { min-width:0; border-radius:18px; background:white; overflow:hidden; box-shadow:0 10px 28px #1f2a4414; border:1px solid var(--line); }
.trainer-widget-media { position:relative; height:300px; background:#e9eaf0; touch-action:pan-y; }
.trainer-widget-photo { width:100%; height:100%; object-fit:cover; }
.trainer-widget-empty { height:100%; display:grid; place-items:center; color:var(--ink-soft); }
.trainer-widget-photo[hidden],.trainer-widget-empty[hidden] { display:none; }
.trainer-widget-overlay { position:absolute; inset:auto 0 0; padding:66px 12px 12px; background:linear-gradient(transparent,#000e); color:white; pointer-events:none; }
.trainer-widget-info { display:flex; justify-content:space-between; gap:8px; align-items:center; }
.trainer-widget-info h3 { font-size:17px; line-height:1.2; overflow-wrap:anywhere; }
.trainer-widget-info a,.trainer-widget-info select { pointer-events:auto; }
.trainer-widget-price { font-size:13px; flex-shrink:0; max-width:52%; }
.trainer-widget-price select { display:block; max-width:100%; color:white; background:#242b30; border:0; border-radius:4px; font:inherit; padding:4px; }
.trainer-widget-location { font-size:13px; margin-top:8px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.trainer-widget-arrow { position:absolute; top:45%; width:32px; height:38px; border-radius:8px; background:#fff9; color:#111; font-size:28px; line-height:1; }
.trainer-widget-arrow.prev { left:8px; } .trainer-widget-arrow.next { right:8px; }
.trainer-widget-position { position:absolute; top:10px; right:10px; color:white; background:#0008; border-radius:20px; padding:3px 8px; font-size:11px; }
.trainer-widget-availability { position:absolute; top:10px; left:10px; z-index:2; max-width:calc(100% - 78px); color:#fff; background:#566772; border-radius:6px; padding:5px 9px; font-size:12px; line-height:1.25; font-weight:700; box-shadow:0 2px 8px #0002; }
.trainer-widget-media.has-trending .trainer-widget-availability{top:43px}
.trainer-profile-trending-badge{position:absolute;top:10px;left:10px;z-index:3;display:inline-flex;align-items:center;gap:5px;max-width:calc(100% - 20px);padding:6px 10px;border-radius:999px;background:#ed1764;color:#fff;font-size:12px;font-weight:800;line-height:1.1;box-shadow:0 2px 8px #0003}
.trainer-profile-complete-mark{display:inline-flex;align-items:center;justify-content:center;width:19px;height:19px;flex:none;vertical-align:middle;margin-left:5px;color:#fff}
.trainer-profile-complete-mark svg{display:block;width:100%;height:100%;fill:#12a8ee;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.trainer-widget-info h3,.trainer-widget-body h3{display:flex;align-items:center;gap:0;}
.city-title-link{color:var(--signal-dark,#c82d50);text-decoration:underline;text-decoration-color:var(--signal-soft,#f3b5c2);text-underline-offset:4px}.city-title-link:hover{color:var(--signal,#e83965)}
.trainer-widget-details { padding:18px 14px 24px; font-size:14px; color:var(--steel); }
.trainer-widget-details[hidden] { display:none; }
.trainer-widget-status { color:#667780; font-size:12px; margin-bottom:20px; }
.trainer-widget-details-audio { display:block; width:100%; max-width:360px; margin:0 0 18px; }
.trainer-widget-message { margin-bottom:22px; overflow-wrap:anywhere; }
.trainer-widget-columns { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.trainer-widget-facts { display:flex; flex-direction:column; gap:12px; }
.trainer-widget-bio { border-left:1px solid var(--line); padding-left:14px; white-space:pre-line; overflow-wrap:anywhere; max-height:240px; overflow:auto; }
.trainer-widget-facts a { text-decoration:underline; text-underline-offset:3px; }
.trainer-widget-actions { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--line); }
.trainer-widget-actions button,.trainer-widget-actions a { min-height:48px; padding:10px 6px; text-align:center; display:flex; justify-content:center; align-items:center; gap:5px; font-size:14px; font-weight:600; }
.trainer-widget-phone { background:#429d44; color:white; overflow-wrap:anywhere; }
.trainer-widget-phone:disabled { background:#77837a; cursor:default; }
.trainer-widget-toggle { color:var(--signal); background:white; border:0; font:inherit; cursor:pointer; }
.trainer-widget.is-expanded { align-self:start; }
.trainer-widget button:focus-visible,.trainer-widget a:focus-visible,.trainer-widget select:focus-visible { outline:3px solid var(--signal); outline-offset:-3px; }
.featured-more { text-align:center; margin-top:32px; }
.featured-more [hidden] { display:none; }
@media(max-width:1100px) { .featured-grid { gap:16px; } .trainer-widget-info { align-items:flex-start; flex-direction:column; } .trainer-widget-price { max-width:100%; } }
@media(max-width:900px) { .featured-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .trainer-widget-info { flex-direction:row; } }
@media(max-width:520px) { .featured-grid { grid-template-columns:1fr; } .trainer-widget-media { height:350px; } .trainer-widget-info h3 { font-size:19px; } }

@media(max-width:520px) {
 .featured-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
 .trainer-widget { border-radius:14px; }
 .trainer-widget-media { height:245px; }
 .trainer-widget-overlay { padding:56px 8px 10px; }
 .trainer-widget-info { flex-direction:column; gap:6px; }
 .trainer-widget-info h3 { font-size:15px; }
 .trainer-widget-price { max-width:100%; font-size:11px; }
 .trainer-widget-location { font-size:11px; }
 .trainer-widget-actions button,.trainer-widget-actions a { font-size:11px; padding:9px 3px; gap:3px; min-height:44px; }
 .trainer-widget-actions svg { width:15px; height:15px; flex-shrink:0; }
 .trainer-widget-details { padding:12px 9px; font-size:12px; }
 .trainer-widget-columns { grid-template-columns:1fr; }
 .trainer-widget-bio { border-left:0; border-top:1px solid var(--line); padding:12px 0 0; }
}

.trainer-price-picker { position:relative; pointer-events:auto; }
.trainer-price-picker summary { cursor:pointer; list-style:none; padding:7px 9px; border-radius:8px; background:#242b30; font-size:inherit; }
.trainer-price-picker summary::-webkit-details-marker { display:none; }
.trainer-price-picker summary::after { content:'⌄'; margin-left:7px; }
.trainer-price-options { position:absolute; bottom:calc(100% + 8px); right:0; width:190px; max-width:70vw; max-height:220px; overflow:auto; padding:6px; border:1px solid #f3d8e1; border-radius:12px; background:white; box-shadow:0 8px 24px #0003; z-index:5; }
.trainer-price-option { display:flex; justify-content:space-between; align-items:center; gap:12px; width:100%; padding:12px 10px; border-radius:8px; background:white; color:#26333c; font:inherit; text-align:left; }
.trainer-price-option span { color:#687580; font-size:12px; }
.trainer-price-option:hover,.trainer-price-option[aria-pressed="true"] { background:#fff0f5; color:var(--signal); }
.trainer-price-picker summary:focus-visible { outline:2px solid var(--signal); }

@media(max-width:520px){ .trainer-widget-availability{font-size:10px;padding:4px 7px;left:7px;top:7px;} }

/* Plan benefits */
.trainer-widget-large{grid-column:span 1}.trainer-widget-large .trainer-widget-media{min-height:340px}.plan-news-tag{display:inline-block;background:#dff7e8;color:#165b30;border-radius:12px;padding:3px 8px;font-size:12px;margin-left:8px}@media(max-width:700px){.trainer-widget-large{grid-column:span 1}}
.trainer-widget-fact{display:flex;align-items:center;gap:7px;min-width:0}.trainer-widget-fact-icon{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
