/* THE STREAM FREE — outil de cadrage des photos sur /talents.php */
.tsf-talent-list .tsf-talents-card { position:relative; min-width:0; }
.tsf-talent-link { display:block; color:inherit; }
.tsf-talent-link:hover { color:inherit; }
.tsf-talent-link > h3 { margin:22px 5px 4px; }
.tsf-talent-link > p { margin:0 5px 14px; }
.tsf-talent-see { display:block; padding:0 5px 15px; color:var(--mint,#b8f1c4); font-size:.78rem; }
.tsf-talents-card .talent-photo img { width:100%; height:100%; object-fit:cover; object-position:center; max-width:none; max-height:none; }
.tsf-crop-help { background:#171e31; border-left:3px solid #a39cff; padding:14px 18px; color:#c9cce2; margin-bottom:24px; font-size:.87rem; }
.tsf-crop-help > span { color:#b8f1c4; margin-right:5px; }
.tsf-crop-open { display:flex; align-items:center; justify-content:center; gap:8px; margin:0 5px 15px; padding:9px 14px; min-height:41px; width:calc(100% - 10px); background:#202943; color:#f4f3ff; border:1px solid #7877a5; border-radius:4px; font-weight:700; cursor:pointer; font-size:.85rem; }
.tsf-crop-open:hover,.tsf-crop-open:focus-visible { background:#35345d; border-color:#b7a5ff; }
.tsf-talents-card:target { outline:2px solid #a39cff; outline-offset:4px; }
.tsf-portrait-dialog { padding:0; width:min(92vw,620px); max-height:92vh; border:1px solid #545d81; background:#101827; color:#eff1ff; box-shadow:0 22px 90px #000d; overflow:auto; }
.tsf-portrait-dialog::backdrop { background:rgba(3,7,17,.86); backdrop-filter:blur(8px); }
.tsf-portrait-dialog-inner { padding:clamp(20px,3vw,34px); }
.tsf-crop-dialog-header { display:flex; justify-content:space-between; align-items:start; gap:14px; }
.tsf-crop-dialog-header .eyebrow { margin-bottom:8px; }
.tsf-crop-dialog-header h2 { font-size:clamp(1.5rem,3vw,2.15rem); margin-bottom:8px; }
.tsf-crop-close { border:1px solid #59627f; background:transparent; color:white; font-size:1.7rem; height:42px; width:42px; flex:0 0 42px; cursor:pointer; }
.tsf-list-crop-preview { position:relative; width:min(100%,500px); aspect-ratio:4/3; overflow:hidden; touch-action:none; cursor:grab; user-select:none; border:1px solid #a39cff; background:#161f34; margin:16px auto 0; clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,0 100%); }
.tsf-list-crop-preview:active { cursor:grabbing; }
.tsf-list-crop-preview > img { width:100%; height:100%; max-height:none; max-width:none; object-fit:cover; position:absolute; inset:0; pointer-events:none; user-select:none; -webkit-user-drag:none; }
.tsf-list-guide { position:absolute; inset:0; border:1px dashed #ebddff99; pointer-events:none; }
.tsf-list-guide:before,.tsf-list-guide:after { content:""; position:absolute; top:33.333%; left:0; right:0; border-top:1px solid #fffa; }
.tsf-list-guide:after { top:66.666%; }
.tsf-list-crop-instruction { font-size:.84rem; line-height:1.5; margin:10px auto 18px; max-width:500px; }
.tsf-list-zoom-label { max-width:500px; margin:0 auto; display:flex; flex-direction:column; gap:6px; }
.tsf-list-zoom-label input { accent-color:#a39cff; width:100%; }
.tsf-crop-dialog-actions { margin-top:25px; display:flex; gap:10px; flex-wrap:wrap; }
.tsf-crop-dialog-actions .btn { width:auto; }
@media (max-width:600px) { .tsf-portrait-dialog { width:96vw; } .tsf-portrait-dialog-inner { padding:16px; } .tsf-crop-dialog-actions .btn { flex:1 1 160px; } }
@media (prefers-reduced-motion:reduce) { .tsf-talents-card img { transition:none; } }
