/* Local additions on top of the original EVOLOAD stylesheets (agent B: nav, cards, carousel, lists). */
.st-tabs a { display: inline-block; vertical-align: top; }
.st-tabs a:hover span:not(.current) { color: #fff; background-color: #333; }
h1.st-capt { font-weight: 400; }
h1.st-capt small { font-size: 12px; opacity: .8; }
.sect-c .full-text { padding: 10px; }
.navigation a { color: #ccc; }
.navigation a:hover { color: #fff; }

/* ---- header / mega menu ---- */
.nav-menu > li > a .fa { margin-right: 4px; }
.nav-menu > li > a.nav-fav .fa-heart { color: #f48625; }
.nav-menu .hidden-menu.hm-wide { width: 720px; padding-bottom: 10px; }
.hm-col .hm-title { display: block; padding: 4px 10px 6px; margin: 4px 0 4px; color: #f48625; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .5px; border-bottom: 1px solid #444; white-space: nowrap; }
.hm-col .hm-title .fa { margin-right: 4px; }
.hm-col a { font-size: 14px; padding: 4px 10px; }
.menu-badge { display: inline-block; margin-left: 4px; padding: 0 5px; background: #f48625; color: #fff; font-size: 9px; line-height: 14px; border-radius: 2px; vertical-align: middle; }
.side-panel .hidden-menu.hm-wide { width: 100%; }
.side-panel .hm-col .hm-title { font-size: 11px; }

/* ---- cards: badges + favourite heart ---- */
.short-in { position: relative; }
.short-in .mli-eps { position: absolute; left: 4px; right: auto; top: 4px; bottom: auto; z-index: 12; text-transform: none; height: auto; margin: 0; padding: 3px 7px; font-size: 11px; line-height: 1.2; font-weight: 700; color: #fff; text-shadow: none; background: rgba(0,0,0,.82); border: 1px solid rgba(244,134,37,.7); border-radius: 3px; white-space: nowrap; }
.short-in .mli-eps.mli-year { font-weight: 400; border-color: rgba(255,255,255,.25); }
.short-in .mli-eps i { display: none; }
.fav-btn { position: absolute; top: 30px; right: 4px; z-index: 66; width: 26px; height: 26px; line-height: 26px; text-align: center; border-radius: 50%; background: rgba(0,0,0,.65); color: #fff; font-size: 14px; cursor: pointer; opacity: .85; transition: background .15s, color .15s, transform .15s; user-select: none; }
.fav-btn:hover { background: #f48625; color: #fff; opacity: 1; transform: scale(1.1); }
.fav-btn.is-fav { color: #f48625; opacity: 1; }
.fav-btn.is-fav:hover { color: #fff; }
.short-in .film-ripz { top: 4px; left: 4px; }

/* ---- backdrop carousel (.fssts-*) ---- */
.fssts-block { margin: 0 0 20px; padding: 15px 20px 18px; background-color: #1e1e1e; box-shadow: 0 0 20px rgb(0 0 0 / 80%); }
.fssts-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; line-height: 40px; }
.fssts-cap { display: inline-block; padding: 0 20px; border-radius: 3px; color: #fff; background-color: #f48625; font-size: 18px; }
.fssts-more { color: #ccc; font-size: 13px; padding: 0 10px; border-radius: 3px; background: #333; }
.fssts-more:hover { color: #fff; background: #444; }
.fssts-rail { position: relative; }
.fssts-track { display: flex; gap: 10px; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x proximity; scroll-behavior: smooth; -webkit-overflow-scrolling: touch; scrollbar-width: none; padding-bottom: 2px; cursor: grab; }
.fssts-track::-webkit-scrollbar { display: none; }
.fssts-card { position: relative; flex: 0 0 auto; width: 300px; aspect-ratio: 16 / 9; border-radius: 4px; overflow: hidden; background: #111; scroll-snap-align: start; }
.fssts-card > a { display: block; width: 100%; height: 100%; }
.fssts-card img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; -webkit-user-drag: none; }
.fssts-card:hover img { transform: scale(1.06); }
.fssts-ov { position: absolute; left: 0; right: 0; bottom: 0; padding: 30px 10px 8px; color: #fff; background: linear-gradient(to top, rgba(0,0,0,.92) 0%, rgba(0,0,0,.6) 55%, rgba(0,0,0,0) 100%); opacity: 0; transition: opacity .2s ease; }
.fssts-card:hover .fssts-ov { opacity: 1; }
.fssts-ov b { display: block; font-size: 14px; font-weight: 700; line-height: 1.25; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fssts-ov i { display: block; margin-top: 2px; font-style: normal; font-size: 11px; color: #f48625; text-transform: uppercase; letter-spacing: .3px; }
.fssts-card .fav-btn { top: 6px; right: 6px; opacity: 0; }
.fssts-card:hover .fav-btn, .fssts-card .fav-btn.is-fav { opacity: 1; }
.fssts-nav { position: absolute; top: 0; bottom: 0; z-index: 3; width: 36px; display: flex; align-items: center; justify-content: center; font-size: 44px; line-height: 1; color: #fff; background: rgba(0,0,0,.55); cursor: pointer; user-select: none; transition: background .15s, opacity .15s; }
.fssts-nav:hover { background: rgba(244,134,37,.85); }
.fssts-nav.l { left: 0; border-radius: 4px 0 0 4px; }
.fssts-nav.r { right: 0; border-radius: 0 4px 4px 0; }
.fssts-nav.is-off { opacity: .25; pointer-events: none; }
.fssts-block.no-scroll .fssts-nav { display: none; }
@media (hover: none) { .fssts-ov { opacity: 1; } .fssts-nav { display: none; } .fssts-card .fav-btn { opacity: .85; } }
@media (max-width: 760px) { .fssts-block { padding: 10px; } .fssts-card { width: 240px; } .fssts-cap { font-size: 14px; padding: 0 10px; } }

/* ---- latest episodes list ---- */
.ep-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px 14px; }
.ep-list-full { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ep-row { display: flex; align-items: center; gap: 10px; padding: 6px 8px; background: #252525; border-radius: 4px; color: #ddd; min-width: 0; transition: background .15s; }
.ep-row:hover { background: #333; color: #fff; }
.ep-row img { flex: 0 0 46px; width: 46px; height: 69px; object-fit: cover; border-radius: 2px; background: #111; }
.ep-body { display: flex; flex-direction: column; min-width: 0; gap: 4px; }
.ep-body b { font-size: 14px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ep-meta { font-size: 12px; color: #aaa; }
.ep-meta em { display: inline-block; font-style: normal; font-weight: 700; color: #fff; background: #f48625; padding: 0 5px; border-radius: 2px; font-size: 11px; line-height: 16px; }
@media (max-width: 1000px) { .ep-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .ep-list, .ep-list-full { grid-template-columns: 1fr; } }

/* ---- listings: secondary nav (years, statuses) ---- */
.sub-nav { margin: -8px 0 16px; }
.sub-nav a { display: inline-block; margin: 0 6px 6px 0; padding: 0 10px; line-height: 26px; font-size: 12px; color: #ccc; background: #2c2c2c; border-radius: 3px; }
.sub-nav a:hover { color: #fff; background: #444; }
.sub-nav a.current { color: #fff; background: #f48625; }
.listing-intro { margin: -6px 0 14px; font-size: 13px; color: #aaa; }

/* ---- search: people chips ---- */
.people-row { display: flex; flex-wrap: wrap; gap: 8px; margin: -6px 0 14px; }
.person-chip { display: inline-flex; align-items: center; gap: 8px; padding: 3px 12px 3px 3px; border-radius: 20px; background: #2c2c2c; color: #ddd; font-size: 13px; transition: background .15s; }
.person-chip:hover { background: #f48625; color: #fff; }
.person-chip img { width: 36px; height: 36px; border-radius: 50%; object-fit: cover; background: #111; }
.person-chip small { display: block; font-size: 10px; opacity: .75; }

/* ---- person page ---- */
.person-head { display: flex; gap: 20px; align-items: flex-start; }
.person-photo { flex: 0 0 185px; width: 185px; height: 278px; object-fit: cover; border-radius: 4px; background: #111; }
.person-info { flex: 1 1 auto; min-width: 0; }
.person-name { font-size: 26px; font-weight: 700; color: #fff; margin: 4px 0 8px; }
.person-meta { display: flex; flex-wrap: wrap; gap: 8px 16px; margin-bottom: 12px; font-size: 13px; color: #bbb; }
.person-meta .fa { color: #f48625; margin-right: 4px; }
.person-tag { display: inline-block; padding: 0 8px; line-height: 20px; background: #f48625; color: #fff; border-radius: 2px; font-size: 11px; text-transform: uppercase; }
.person-bio p { margin-bottom: 8px; }
.person-links a { color: #f48625; font-size: 13px; text-decoration: underline; }
@media (max-width: 640px) { .person-head { flex-direction: column; } .person-photo { width: 140px; height: 210px; flex-basis: auto; } }

/* "Ajouter aux favoris" header button */
.hd-right .bookmark-btn{display:inline-block;float:left;margin:0 12px 0 0;padding:0 12px;line-height:34px;height:34px;border:1px solid #f0821e;border-radius:4px;color:#f0821e;font-size:13px;font-weight:700;text-transform:uppercase;white-space:nowrap}
.hd-right .bookmark-btn:hover{background:#f0821e;color:#fff}
.hd-right .bookmark-btn .fa{margin-right:4px}
.bookmark-tip{display:none;position:fixed;top:70px;right:20px;z-index:9999;background:#1d1d1d;border:1px solid #f0821e;color:#fff;padding:12px 16px;border-radius:6px;box-shadow:0 4px 20px rgba(0,0,0,.6);font-size:14px;max-width:360px}
@media (max-width:760px){.hd-right .bookmark-btn{float:none;display:block;margin:8px 0;text-align:center}}

/* Listing/home tab row: one line, aligned with the heading, scrolls sideways instead of wrapping */
.sect-t .st-left { display: flex; align-items: center; flex-wrap: nowrap; width: 100%; overflow-x: auto; overflow-y: hidden; scrollbar-width: thin; padding-bottom: 2px; }
.sect-t .st-left .st-capt { flex: 0 0 auto; margin-right: 12px; }
.sect-t .st-tabs { display: flex; flex-wrap: nowrap; align-items: center; gap: 6px; white-space: nowrap; }
.sect-t .st-tabs a { flex: 0 0 auto; }
