/* Scoped, independent carousel. Nothing here changes body overflow or theme scrolling. */
.teinc, .teinc *, .teinc *::before, .teinc *::after { box-sizing:border-box; }
.teinc { width:100%; max-width:100%; margin:12px auto 24px; position:relative; color:#fff; font-family:inherit; clear:both; }
#teinc-auto-mount { max-width:100%; width:100%; clear:both; }
#teinc-auto-mount[hidden] { display:none !important; }
.teinc-titlebar { display:flex; align-items:center; gap:16px; margin:0 0 14px; color:#181c23; }
.teinc-titlebar h2 { font-size:clamp(18px, 2.3vw, 25px); font-weight:750; line-height:1.25; margin:0; padding:0; color:inherit; }
.teinc-title-rule { height:4px; flex:1; background:linear-gradient(90deg,#e23842 0 70px,#e5e7eb 70px); }
.teinc-viewport { width:100%; height:var(--teinc-h,390px); min-height:220px; position:relative; overflow:hidden; border-radius:8px; background:#161f2a; isolation:isolate; touch-action:pan-y; }
.teinc-track { display:flex; width:100%; height:100%; transform:translate3d(0,0,0); will-change:transform; touch-action:pan-y; }
.teinc-slide { display:block; flex:0 0 100%; width:100%; height:100%; min-width:0; position:relative; overflow:hidden; touch-action:pan-y; }
.teinc-link { display:block; width:100%; height:100%; position:relative; text-decoration:none !important; color:#fff !important; touch-action:pan-y; }
.teinc-image { display:block; position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.teinc-placeholder { background:linear-gradient(135deg,#153b53,#111c2f 48%,#4c1728); }
.teinc-shade { position:absolute; inset:0; background:linear-gradient(to top,rgba(0,0,0,.92),rgba(0,0,0,.26) 66%,rgba(0,0,0,.05)); pointer-events:none; }
.teinc-content { position:absolute; bottom:48px; left:clamp(16px,5vw,70px); right:clamp(16px,5vw,70px); z-index:1; display:flex; flex-direction:column; gap:10px; pointer-events:none; }
.teinc-category { align-self:flex-start; display:inline-block; background:#df3042; padding:5px 11px; border-radius:3px; font-size:12px; line-height:1.3; font-weight:700; letter-spacing:.02em; text-transform:uppercase; }
.teinc-headline { display:block; color:#fff !important; font-size:clamp(22px,3.1vw,36px); font-weight:800; line-height:1.2; max-width:840px; letter-spacing:-.015em; text-shadow:0 2px 10px rgba(0,0,0,.3); }
.teinc-date { display:block; font-size:13px; color:#e1e3e9; }
 .teinc-toggle { display:grid !important; place-items:center; position:absolute; z-index:5; top:12px; right:12px; width:36px; height:36px; padding:0 !important; margin:0 !important; border:0 !important; border-radius:50%; background:rgba(0,0,0,.55) !important; color:white !important; font-size:13px; cursor:pointer; }
.teinc-toggle:hover, .teinc-toggle:focus-visible { background:#d92c3d !important; }
.teinc-toggle span { pointer-events:none; }
.teinc-arrow { display:grid !important; place-items:center; position:absolute; top:50%; transform:translateY(-50%); z-index:5; width:46px; height:54px; margin:0 !important; padding:0 !important; border:0 !important; border-radius:3px; color:#fff !important; background:rgba(0,0,0,.5) !important; box-shadow:none !important; cursor:pointer; text-align:center; font-size:21px; font-weight:700; line-height:1; -webkit-tap-highlight-color:transparent; }
.teinc-prev { left:9px; } .teinc-next { right:9px; }
.teinc-arrow:hover, .teinc-arrow:focus-visible { background:#d92c3d !important; }
.teinc-arrow span { pointer-events:none; }
.teinc-dots { display:flex; align-items:center; justify-content:center; gap:7px; position:absolute; z-index:5; bottom:12px; left:50%; transform:translateX(-50%); max-width:90%; }
.teinc-dot { flex:none; width:8px; height:8px; min-width:8px; min-height:8px; padding:0 !important; margin:0 !important; border:0 !important; border-radius:100%; background:rgba(255,255,255,.55) !important; cursor:pointer; transition:background .2s ease,width .2s ease; }
.teinc-dot.is-current { width:23px; border-radius:6px; background:#ec3443 !important; }
.teinc-replaced-theme-slider { display:none !important; }
#teinc-picker-banner { position:fixed; left:8px; right:8px; top:15px; z-index:2147483600; border:2px solid #18aa81; border-radius:6px; background:#102b25; color:#fff; padding:13px; box-shadow:0 3px 20px #0009; display:flex; justify-content:space-between; align-items:center; gap:12px; font-family:Arial,sans-serif; font-size:14px; }
#teinc-picker-banner a { color:white; background:#d22b39; padding:8px 12px; border-radius:4px; text-decoration:none; }
@media(max-width:700px){
  .teinc { margin:8px auto 17px; }
  .teinc-viewport { height:min(66vw,330px); min-height:238px; border-radius:5px; }
  .teinc-content { left:54px; right:54px; bottom:42px; gap:6px; }
  .teinc-headline { font-size:clamp(18px,4.6vw,25px); line-height:1.19; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
  .teinc-arrow { width:34px; height:45px; font-size:17px; }
  .teinc-prev { left:6px; } .teinc-next { right:6px; }
  .teinc-category { font-size:10px; padding:4px 7px; }
  .teinc-date { font-size:11px; }
}
@media(prefers-reduced-motion:reduce){ .teinc-dot { transition:none; } }
