/* ===== Media Cards base ===== */
:root{
  --tj-card-bg:#ffffff; --tj-ink:#111111; --tj-muted:#666666; --tj-border:#eaeaea;
  --tj-accent:#0f62fe; --tj-hl:#fff176; --tj-btn-bg:#0f62fe; --tj-btn-fg:#ffffff;
  --tj-radius:18px;
  --mc-summary-max:65ch; --mc-source-size:1.1em;
  --mc-cta-align:flex-end; --mc-cta-justify:end; --mc-cta-gutter:12px;
  --mc-shadow:0 10px 28px rgba(0,0,0,.08);
}

/* Card */
.mc-card{ position:relative; display:flex; flex-direction:column; background:var(--tj-card-bg); color:var(--tj-ink);
  border:1px solid var(--tj-border); border-radius:var(--tj-radius); box-shadow:var(--mc-shadow); overflow:hidden;
  transform-style:preserve-3d; transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.mc-card:focus-within{ outline:2px solid var(--tj-accent); outline-offset:2px; }

/* Media */
.mc-media{ position:relative; aspect-ratio:16/9; overflow:hidden; }
.mc-media img{ width:100%; height:100%; object-fit:cover; display:block; }
.mc-media::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,.15), rgba(0,0,0,0) 40%, rgba(0,0,0,.25)); pointer-events:none; }
.mc-round-media .mc-media{ border-radius:var(--tj-radius); overflow:hidden; }

/* Pad */
.mc-pad{ padding:16px 16px 18px; display:flex; flex-direction:column; gap:10px; }

/* Title */
.mc-title{
  line-height:1.15; letter-spacing:-.2px; font-weight:800; color:var(--tj-ink);
  background-image:linear-gradient(transparent calc(100% - .58em), var(--tj-hl) 0);
  background-repeat:no-repeat; background-size:0% 100%;
  -webkit-box-decoration-break:clone; box-decoration-break:clone;
  transition:background-size .35s ease;
  word-break: normal !important; overflow-wrap: anywhere; hyphens: auto;
}
.mc-card:hover .mc-title, .mc-card:focus-within .mc-title{ background-size:100% 100%; }

/* NEW: single-line info (logo • outlet • type • duration OR date • location) */
.mc-info-line{
  display:flex; align-items:center; gap:8px; font-size:.85rem; color:var(--tj-muted);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; min-width:0;
}
.mc-info-logo{ width:var(--mc-source-size); height:var(--mc-source-size); object-fit:contain; flex:0 0 auto; opacity:.95; }
.mc-info-name{ flex:0 1 auto; min-width:0; overflow:hidden; text-overflow:ellipsis; }
.mc-info-sep{ opacity:.5; }
.mc-info-tail{ flex:0 0 auto; }

/* Summary */
.mc-summary{ color:var(--tj-muted); max-width:var(--mc-summary-max); }
.mc-summary p{ display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
  word-break: normal !important; overflow-wrap: anywhere; hyphens: auto; }

/* CTA */
.mc-cta{ margin-top:auto; display:flex; align-items:center; justify-content:var(--mc-cta-align); gap:10px; margin-inline:var(--mc-cta-gutter); }
.mc-btn{ position:relative; z-index:2; display:inline-flex; align-items:center; gap:.5rem; background:var(--tj-btn-bg); color:var(--tj-btn-fg);
  border:1px solid color-mix(in srgb, var(--tj-btn-bg) 70%, #000 30%); text-decoration:none; font-weight:600; padding:.55rem .9rem; border-radius:12px; }
.elementor-button.mc-btn .elementor-button-icon{ display:none !important; }

/* Hover polish + effects */
@media (hover:hover) and (pointer:fine){
  .mc-card:hover{ border-color:color-mix(in srgb, var(--tj-accent) 28%, transparent); box-shadow:0 18px 46px rgba(0,0,0,.14); }
}
.mc-effect-zoom .mc-card:hover{ transform:scale(1.02); }
@keyframes mc-bounce{ 0%,100%{transform:translateY(0)} 50%{transform:translateY(-4px)} }
.mc-effect-bounce .mc-card:hover{ animation:mc-bounce .35s ease; }
@keyframes mc-jiggle{ 0%,100%{transform:rotate(0)} 25%{transform:rotate(.6deg)} 75%{transform:rotate(-.6deg)} }
.mc-effect-jiggle .mc-card:hover{ animation:mc-jiggle .25s ease-in-out; }
.mc-effect-glow .mc-card:hover{ box-shadow:0 0 0 3px color-mix(in srgb, var(--tj-accent) 45%, transparent), 0 18px 46px rgba(0,0,0,.16); }
@keyframes mc-shadow{ 0%,100%{box-shadow:var(--mc-shadow)} 50%{box-shadow:0 22px 60px rgba(0,0,0,.22)} }
.mc-effect-shadow .mc-card:hover{ animation:mc-shadow .45s ease-in-out; }
.mc-effect-tilt-fwd .mc-card:hover{ transform:perspective(900px) rotateX(5deg); }
.mc-effect-grayscale .mc-media img{ filter:grayscale(100%); transition:filter .2s ease; }
.mc-effect-grayscale .mc-card:hover .mc-media img{ filter:none; }

/* Reduced motion */
@media (prefers-reduced-motion:reduce){
  .mc-card{ transition:none !important; transform:none !important; }
  .mc-effect-zoom .mc-card:hover, .mc-effect-tilt-fwd .mc-card:hover{ transform:none !important; }
}

/* ---------- Mobile compact (absolute thumb) ---------- */
@media (max-width: 767px){
  .mc-card{ min-height:140px; }
  .mc-card .mc-media{ position:absolute; top:12px; left:12px; width:104px; height:104px; border-radius:12px; overflow:hidden; margin:0; }
  .mc-card .mc-media::after{ display:none; }
  .mc-card .mc-media img{ width:100% !important; height:100% !important; object-fit:cover; }
  .mc-card .mc-pad{ padding:10px 12px 12px calc(104px + 24px); display:flex !important; flex-direction:column; gap:8px; }
  .mc-title{ font-size:1rem; line-height:1.24; margin:0; -webkit-line-clamp:2; }
  .mc-summary{ display:none !important; } /* hide summary on phones */
  .mc-cta{ justify-content:var(--mc-cta-align); margin-inline:var(--mc-cta-gutter); align-self:stretch; }
  .mc-btn{ padding:.34rem .58rem !important; font-size:.85rem !important; border-radius:8px !important; line-height:1 !important; }
}

/* ---------- Tablet compact ---------- */
@media (min-width:768px) and (max-width:1024px){
  .mc-card{ min-height:156px; }
  .mc-card .mc-media{ position:absolute; top:12px; left:12px; width:116px; height:116px; border-radius:12px; overflow:hidden; margin:0; }
  .mc-card .mc-media::after{ display:none; }
  .mc-card .mc-media img{ width:100% !important; height:100% !important; object-fit:cover; }
  .mc-card .mc-pad{ padding:12px 14px 14px calc(116px + 26px); display:flex !important; flex-direction:column; gap:8px; }
  .mc-title{ font-size:1.05rem; line-height:1.25; -webkit-line-clamp:2; }
  .mc-summary{ display:none !important; }
  .mc-cta{ justify-content:var(--mc-cta-align); margin-inline:var(--mc-cta-gutter); }
  .mc-btn{ padding:.42rem .72rem !important; font-size:.9rem !important; border-radius:9px !important; }
}

/* ---------- See more ---------- */
.mc-load-wrap{ display:flex; flex-direction:column; align-items:center; gap:16px; margin-top:18px; }
.mc-load-wrap .mc-load-more{ border:1px solid var(--tj-border); background:#fff; color:var(--tj-ink); padding:.55rem 1rem; border-radius:12px; cursor:pointer; }
.mc-load-wrap .mc-load-more[disabled]{ opacity:.5; cursor:not-allowed; }
