/* indicators-style.css
   Responsive Indicator Library styles (mobile hero-right stacked below)
   - 3 columns on desktop, 2 on tablet, 1 on mobile
   - thumbnail frame shows full feature image (contain)
   - taxonomy badges wrap
*/

:root{ --primary:#0000fd; --accent:#0b74de; --muted:#6b7280; --bg:#fff; --card-border:#eef4ff; --maxw:1200px; --radius-lg:14px; }
.mt5-wrap{ max-width:var(--maxw); margin:28px auto; padding:0 16px; font-family:system-ui,-apple-system,Segoe UI,Roboto,"Helvetica Neue",Arial; color:#123; box-sizing:border-box; }
.mt5-hero{ position:relative; display:flex; gap:22px; align-items:center; justify-content:space-between; padding:34px; border-radius:var(--radius-lg); background:linear-gradient(135deg, rgba(0,0,253,0.05) 0%, rgba(11,116,222,0.03) 50%, #ffffff 100%); box-shadow:0 18px 40px rgba(3,12,55,0.07); margin-bottom:22px; overflow:hidden; }
.mt5-hero-left{ flex:1 1 60%; position:relative; z-index:2; min-width:220px; }
.mt5-kicker{ display:inline-block; font-weight:900; color:var(--primary); background:rgba(0,0,253,0.06); padding:8px 10px; border-radius:8px; font-size:13px; margin-bottom:12px; }
#mt5-indicators-title{ margin:8px 0 12px; font-size:34px; line-height:1.02; color:var(--primary); font-weight:900; letter-spacing:-0.3px; }
.mt5-lead{ margin:0 0 18px; color:#21304a; max-width:70%; font-size:15px; }
.mt5-ctas{ display:flex; gap:12px; margin-top:6px; align-items:center; flex-wrap:wrap; }
.btn-primary{ background:var(--primary); color:#fff; padding:12px 16px; border-radius:12px; font-weight:900; text-decoration:none; box-shadow:0 12px 30px rgba(0,0,253,0.12); display:inline-block; }
.btn-outline{ background:transparent; border:2px solid rgba(11,116,222,0.12); padding:10px 14px; border-radius:12px; color:#06284a; text-decoration:none; font-weight:800; display:inline-block; }
.mt5-hero-sub{ margin-top:10px; display:flex; gap:8px; align-items:center; flex-wrap:wrap; }

/* hero visual */
.mt5-hero-right{ width:340px; flex:0 0 340px; max-width:36%; min-width:260px; display:flex; align-items:center; justify-content:center; position:relative; z-index:1; pointer-events:none; }
.mt5-visual{ width:100%; max-width:340px; height:220px; border-radius:18px; padding:14px; box-sizing:border-box; background:linear-gradient(180deg, #ffffff, rgba(245,250,255,0.9)); border:1px solid rgba(11,116,222,0.06); box-shadow: 0 26px 60px rgba(3,12,55,0.06); position:relative; overflow:visible; }
.mt5-visual .card { position:absolute; right:18px; top:18px; width:140px; height:64px; border-radius:12px; background:linear-gradient(180deg, #ffffff, #f6fbff); border:1px solid rgba(11,116,222,0.06); box-shadow: 0 12px 30px rgba(3,12,55,0.06); padding:10px; font-weight:700; color:#06284a; transform: translateY(0); transition: transform .45s cubic-bezier(.2,.9,.3,1), opacity .45s; pointer-events:auto; }
.mt5-visual .card.card-2{ right:28px; top:94px; width:160px; height:72px; opacity:0.98; transform: translateY(8px) rotate(-2deg) scale(.99); background: linear-gradient(180deg, rgba(11,116,222,0.03), rgba(0,0,253,0.02)); color: #00224f; }
.mt5-visual .mini-chart { position:relative; width:100%; height:120px; display:flex; align-items:center; justify-content:center; pointer-events:none; margin-top:6px; }
.mt5-visual::before{ content: ''; position:absolute; left:-30%; top:-20%; width:160%; height:160%; background: radial-gradient(ellipse at center, rgba(11,116,222,0.10), rgba(0,0,253,0.02) 40%, transparent 60%); transform: rotate(12deg); pointer-events:none; z-index:0; border-radius:18px; }
.mt5-hero:hover .mt5-visual .card { transform: translateY(-8px); }
.mt5-hero:hover .mt5-visual .card-2 { transform: translateY(-4px) rotate(-1deg) scale(1); }

/* Filters */
.mt5-filters{ display:flex; gap:12px; align-items:center; flex-wrap:wrap; margin:18px 0 22px; }
.mt5-search{ flex:1 1 100%; display:flex; gap:8px; align-items:center; min-width:220px; }
.mt5-search input{ flex:1; padding:12px 14px; border-radius:12px; border:1px solid #e6eef8; font-size:14px; }
.mt5-clear{ padding:10px 12px; border-radius:10px; background:#fff; border:1px solid #e6eef8; cursor:pointer; color:#000; font-weight:700; }

/* Tag/category badges: wrap */
.mt5-tag-filter{ display:flex; gap:8px; align-items:center; flex-wrap:wrap; overflow-x:visible; -webkit-overflow-scrolling:touch; }
.mt5-tag-badge{ background:#fff; border:1px solid #e6eef8; padding:8px 10px; border-radius:999px; cursor:pointer; color:#0b3f7a; font-weight:700; margin:0 8px 8px 0; white-space:nowrap; }
.mt5-tag-badge.active{ background:var(--primary); color:#fff; border-color:var(--primary); box-shadow:0 10px 26px rgba(0,0,253,0.12); }

/* Grid layout: 3 columns desktop */
.mt5-main{ display:grid; grid-template-columns:1fr 340px; gap:22px; align-items:start; }
.mt5-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }

/* Card + thumbnail: keep consistent height but show full image (contain) */
.mt5-card{ background:var(--bg); border-radius:12px; overflow:hidden; border:1px solid var(--card-border); display:flex; flex-direction:column; transition:transform .14s ease, box-shadow .14s ease; min-height:360px; }
.mt5-card:hover{ transform:translateY(-6px); box-shadow:0 20px 40px rgba(3,12,55,0.08); }
/* thumbnail frame: fixed height, image contained to show whole feature image */
.mt5-thumb{ width:100%; height:220px; object-fit:contain; background:#f6f8fb; display:block; padding:12px; box-sizing:border-box; }
.mt5-body{ padding:12px; display:flex; flex-direction:column; flex:1 1 auto; }
.mt5-title{ margin:0 0 8px; color:var(--primary); font-size:16px; font-weight:800; }
.mt5-excerpt{ color:#495057; font-size:14px; line-height:1.4; min-height:44px; flex:0 0 auto; }

.mt5-meta{ display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:12px; margin-top:auto; }
.post-tags{ display:flex; gap:8px; overflow:hidden; white-space:nowrap; min-height:28px; align-items:center; }
.post-tag{ display:inline-flex; flex:0 0 auto; background:#f1f5f9; padding:6px 8px; border-radius:999px; font-weight:700; color:#0b3f7a; text-decoration:none; font-size:13px; }

/* Read CTA */
.read-cta{ display:inline-flex; align-items:center; gap:8px; text-decoration:none; }
.read-cta .label{ background:var(--primary); color:#fff; padding:8px 14px; border-radius:999px; font-weight:900; box-shadow:0 10px 26px rgba(0,0,253,0.12); }
.read-cta .arrow{ color:#06284a; font-weight:900; font-size:16px; }

/* Sidebar */
.mt5-sidebar{ padding:12px; border-radius:10px; background:#fbfdff; border:1px solid #eef6ff; position:relative; }
.mt5-side-block{ margin-bottom:14px; }
.mt5-side-heading{ display:inline-block; background: linear-gradient(90deg, rgba(0,0,253,0.06), rgba(11,116,222,0.03)); color:var(--primary); font-weight:900; padding:8px 10px; border-radius:8px; margin-bottom:10px; }

.quick-list{ list-style:none; padding:0; margin:0; }
.quick-list a{ display:block; padding:8px 0; color:#06284a; text-decoration:none; border-bottom:1px solid rgba(6,40,74,0.04); }

/* Pager */
.pager{ display:flex; gap:8px; justify-content:center; margin-top:18px; flex-wrap:wrap; }
.pg-btn{ padding:8px 12px; border-radius:8px; border:1px solid #e6eef8; background:#fff; cursor:pointer; color:#000; font-weight:700; }
.pg-btn.current{ background:var(--primary); color:#fff; border-color:var(--primary); }

/* Empty state */
.empty{ padding:40px; text-align:center; color:var(--muted); }

/* Reduced motion */
@media (prefers-reduced-motion: reduce){ *{ transition:none !important; } }

/* Responsive breakpoints */
@media (max-width: 1100px) {
  .mt5-grid { grid-template-columns: repeat(2, 1fr); gap:16px; }
  .mt5-card { min-height: 340px; }
}
@media (max-width: 720px) {
  .mt5-main { grid-template-columns: 1fr; }
  .mt5-grid { grid-template-columns: 1fr; gap:14px; }
  .mt5-thumb { height: 180px; padding:10px; }
  .mt5-card { min-height: auto; }
  .mt5-visual { height: auto; padding:10px; }
  .mt5-hero-right { width: 100%; max-width:100%; flex:0 0 auto; margin-top: 6px; }
  .mt5-sidebar { order: 3; width: 100%; max-width:100%; }
}

/* Ensure tag filter wraps on small screens */
@media (max-width: 980px) {
  /* STACK HERO: Put hero-right BELOW hero-left on narrower screens */
  .mt5-hero {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    padding: 20px;
  }
  .mt5-hero-left { order: 1; width: 100%; }
  .mt5-hero-right {
    order: 2;
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 auto !important;
    margin-top: 6px;
    pointer-events: none;
  }
  .mt5-visual {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
  }

  .mt5-tag-filter { flex-wrap:wrap; overflow-x:visible; }
  .mt5-wrap { padding-left: 12px; padding-right: 12px; }
  .mt5-lead { max-width:100%; }
  .mt5-ctas { width:100%; }
}
