/* ==========================================================================
   Yak Express widget — Feature cards (.yak-features / .yak-feature)
   White cards with a 176px illustrated visual (roles / track / photo / toggles / image).
   Values copied from the prototype home "team" section.
   ========================================================================== */
.yak-features { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--yak-min, 260px)), 1fr)); gap: var(--yak-gap, 20px); }
.yak-feature { display: flex; flex-direction: column; min-width: 0; background: #FFFFFF; border: 1px solid var(--surface-mist); border-radius: 20px; box-shadow: var(--shadow-s2); overflow: hidden; color: var(--ink-primary); }
.yak-feature__visual { position: relative; flex-shrink: 0; height: 176px; padding: 20px; background: linear-gradient(180deg, #F7F9FA 0%, #FFFFFF 100%); border-bottom: 1px solid var(--surface-mist); display: flex; flex-direction: column; justify-content: center; gap: 8px; }
.yak-feature__body { padding: 20px 24px 24px; display: flex; flex-direction: column; gap: 8px; }
.yak-feature__body .yak-card__title, .yak-feature__body .yak-card__text { margin: 0; }

/* ---- Rows (roles + toggles) ---- */
.yak-feature__row { display: flex; align-items: center; gap: 10px; padding: 8px 12px; background: #FFFFFF; border-radius: 12px; border: 1px solid var(--surface-mist); box-shadow: var(--shadow-s1); font-size: 13px; font-weight: 500; line-height: 1.5; }
.yak-feature__row--active { border-color: var(--brand-yellow); }
.yak-feature__row > .yak-icon { color: var(--ink-secondary); }
.yak-feature__row-label { min-width: 0; }

/* ---- Toggles ---- */
.yak-feature__row--toggle { justify-content: space-between; }
.yak-feature__toggle { position: relative; flex-shrink: 0; width: 34px; height: 20px; border-radius: var(--radius-pill); background: var(--border-default); box-shadow: inset 0 1px 0 rgba(255,255,255,.7); }
.yak-feature__toggle--on { background: var(--gradient-button-primary); }
.yak-feature__toggle::after { content: ""; position: absolute; top: 2px; left: 2px; width: 16px; height: 16px; border-radius: 50%; background: #FFFFFF; box-shadow: 0 1px 3px rgba(31,42,52,.25); }
.yak-feature__toggle--on::after { left: auto; right: 2px; }

/* ---- Tracking line with rider badge ---- */
.yak-feature__pill { align-self: flex-start; display: inline-flex; align-items: center; gap: 6px; padding: 6px 10px; border-radius: 10px; background: #FFFFFF; box-shadow: var(--shadow-s1); font-size: 12px; font-weight: 600; line-height: 1.5; }
.yak-feature__pill > .yak-icon { color: var(--status-in-transit); }
.yak-feature__track { position: relative; height: 40px; margin: 8px 6px 0; }
.yak-feature__track-line { position: absolute; left: 0; right: 0; top: 19px; height: 2.5px; border-radius: 2px; background: linear-gradient(90deg, #FFF0A0 0%, #F7CD0F 30%, #F2B23E 50%, #DCE5EA 50%, #DCE5EA 100%); box-shadow: 0 0 14px rgba(247,205,15,.3); }
.yak-feature__track-start { position: absolute; left: 0; top: 13px; width: 14px; height: 14px; border-radius: 50%; background: var(--ink-primary); box-shadow: 0 0 0 3px #FFFFFF; }
.yak-feature__track-rider { position: absolute; left: 50%; top: 2px; transform: translateX(-50%); width: 36px; height: 36px; border-radius: 50%; background: #FFFFFF; border: 2px solid var(--brand-yellow); display: grid; place-items: center; box-shadow: var(--shadow-s2); color: var(--ink-primary); }
.yak-feature__track-end { position: absolute; right: 0; top: 13px; width: 14px; height: 14px; border-radius: 50%; background: #FFFFFF; border: 2px solid var(--border-default); box-shadow: 0 0 0 3px #FFFFFF; }
.yak-feature__track-labels { display: flex; justify-content: space-between; gap: 8px; font-size: 12px; color: var(--ink-secondary); }

/* ---- Photo placeholder with caption pill ---- */
.yak-feature__photo { position: relative; flex: 1; min-height: 0; border-radius: 12px; background: repeating-linear-gradient(135deg, #EEF2F4 0 10px, #E6EBEF 10px 20px); display: grid; place-items: center; }
.yak-feature__photo > .yak-icon { color: var(--ink-disabled); }
.yak-feature__caption { position: absolute; left: 10px; bottom: 10px; display: inline-flex; align-items: center; gap: 4px; padding: 4px 10px; border-radius: 8px; background: #FFFFFF; box-shadow: var(--shadow-s1); font-size: 12px; font-weight: 600; line-height: 1.5; white-space: nowrap; }
.yak-feature__caption > .yak-icon { color: var(--status-success); }

/* ---- Uploaded image fills the visual area ---- */
.yak-feature__visual--image { padding: 0; display: block; }
.yak-feature__visual--image .yak-feature__img { display: block; width: 100%; height: 100%; object-fit: cover; }
