/* =========================================================================
   TerraLeap Grand Rounds specialty page - Case Discussions repeater section
   Namespaced with the 'tlcr-' prefix on every class and id used below so
   these rules cannot collide with any existing class/id on the live .aspx
   page this gets pasted into. Scoped resets are limited to descendants of
   .tlcr-wrap only - nothing here touches elements outside that wrapper.
   Colors match www.terraleap.com's homepage card system exactly (not the
   per-specialty accent color used elsewhere on this page), since this
   repeater template is shared across every specialty via the database.
   ========================================================================= */

.tlcr-wrap, .tlcr-wrap *, .tlcr-wrap *::before, .tlcr-wrap *::after{box-sizing:border-box;}
.tlcr-wrap{font-family:'DM Sans',Arial,sans-serif;color:#1a1a1a;}
.tlcr-wrap a{text-decoration:none;color:inherit;}
.tlcr-wrap img{max-width:100%;display:block;}
.tlcr-wrap p, .tlcr-wrap h2, .tlcr-wrap h3{margin:0;}

.tlcr-section{padding:36px 0;}
.tlcr-container{max-width:1180px;margin:0 auto;padding:0 24px;}
.tlcr-divider{border:none;border-top:1px solid #e5e5e5;margin:0;}

/* Section typography */
.tlcr-fe-label{font-size:12px;font-weight:700;letter-spacing:.09em;color:#185FA5;text-transform:uppercase;margin-bottom:8px;}
.tlcr-fe-title{font-family:'DM Sans',Arial,sans-serif;font-size:26px;font-weight:600;line-height:1.15;margin-bottom:10px;color:#111827;}
.tlcr-fe-sub{font-size:14px;color:#6b7280;margin-bottom:24px;max-width:640px;line-height:1.6;}

/* =========================================================================
   CASE CARD GRID (repeater output - one .tlcr-thumb-card per repeated item)
   ========================================================================= */
.tlcr-thumb-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}/*3*/
.tlcr-thumb-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;overflow:hidden;display:flex;flex-direction:column;transition:all .22s;box-shadow:0 2px 8px rgba(0,0,0,.04);cursor:pointer;text-decoration:none;color:inherit;}
.tlcr-thumb-card:hover{transform:translateY(-5px);box-shadow:0 16px 44px rgba(0,0,0,.13);border-color:#c8c8c8;}
.tlcr-thumb-card.tlcr-hidden{display:none;}

.tlcr-thumb-img{width:100%;height:214px;position:relative;overflow:hidden;flex-shrink:0;background-size:cover;background-position:center;}
.tlcr-thumb-img-tint{position:absolute;inset:0;background:linear-gradient(140deg,var(--card-dark,#185FA5)40 0%,var(--card-light,#3B82F6)0a 100%);}
.tlcr-thumb-tag-bottom{position:absolute;top:12px;right:12px;z-index:1;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:rgba(255,255,255,.85);background:rgba(0,0,0,.22);padding:3px 10px;border-radius:999px;white-space:nowrap;}
.tlcr-thumb-ribbon{position:absolute;top:12px;left:12px;z-index:1;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;padding:3px 9px;border-radius:999px;background:rgba(255,255,255,.22);color:rgba(255,255,255,.95);border:1px solid rgba(255,255,255,.3);backdrop-filter:blur(4px);}

.tlcr-thumb-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px;flex:1;}
.tlcr-thumb-cat-pill{font-size:9px;font-weight:700;padding:2px 8px;border-radius:999px;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;background:#EEF4FF;color:#1A56DB;border:1px solid #BFDBFE;}
.tlcr-thumb-title{font-family:'DM Sans',Arial,sans-serif;font-size:14.5px;font-weight:600;color:#111827;line-height:1.42;margin:4px 0 2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.tlcr-thumb-desc {
    font-size: 11.5px;
    color: #6b7280;
    line-height: 1.6;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: auto;
    scrollbar-width: thin;
}
.tlcr-thumb-footer{display:flex;align-items:center;justify-content:space-between;padding-top:10px;border-top:1px solid #f3f4f6;margin-top:auto;}
.tlcr-thumb-badge{font-size:9.5px;font-weight:600;padding:2px 7px;border-radius:999px;background:#f3f4f6;color:#6b7280;border:1px solid #e5e7eb;white-space:nowrap;}
.tlcr-thumb-cta{font-size:11px;font-weight:600;color:#185FA5;white-space:nowrap;display:flex;align-items:center;gap:3px;transition:gap .15s;}
.tlcr-thumb-card:hover .tlcr-thumb-cta{gap:6px;}

/* Empty state - shown when a specialty has zero cases in the database */
.tlcr-cases-empty{background:#F8FAFF;border:1px dashed #d0d0d0;border-radius:16px;padding:40px 24px;text-align:center;color:#6b7280;font-size:14px;}
.tlcr-cases-empty b{color:#185FA5;}

/* =========================================================================
   CASE PREVIEW MODAL
   ========================================================================= */
.tlcr-case-modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.82);z-index:1000;align-items:center;justify-content:center;padding:20px;}
.tlcr-case-modal-overlay.tlcr-open{display:flex;}
.tlcr-case-modal-box{width:min(640px,94vw);max-height:88vh;overflow-y:auto;border-radius:16px;overflow:hidden;position:relative;box-shadow:0 24px 60px rgba(0,0,0,.6);background:#fff;}
.tlcr-case-modal-close{position:absolute;top:12px;right:14px;width:32px;height:32px;background:rgba(0,0,0,.35);border:none;border-radius:50%;color:#fff;font-size:14px;cursor:pointer;z-index:10;display:flex;align-items:center;justify-content:center;}
.tlcr-case-modal-close:hover{background:rgba(0,0,0,.55);}
.tlcr-case-modal-screen{aspect-ratio:16/9;position:relative;background:#000;}
.tlcr-case-modal-video{display:block;width:100%;height:100%;background:#000;outline:none;}
.tlcr-case-modal-body{padding:22px 26px 26px;}
.tlcr-case-modal-tag{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#1A56DB;background:#EEF4FF;padding:4px 11px;border-radius:999px;margin-bottom:10px;}
.tlcr-case-modal-title{font-family:'DM Sans',Arial,sans-serif;font-size:20px;font-weight:600;color:#111827;line-height:1.3;margin-bottom:10px;}
.tlcr-case-modal-desc{font-size:13.5px;color:#4b5563;line-height:1.75;margin-bottom:16px;}
.tlcr-case-modal-note{font-size:12px;color:#9ca3af;background:#f9fafb;border-left:3px solid #185FA5;border-radius:6px;padding:10px 14px;line-height:1.6;}

/* =========================================================================
   RESPONSIVE
   ========================================================================= */
@media(max-width:900px){
  .tlcr-thumb-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:768px){
  .tlcr-container{padding:0 18px;}
  .tlcr-fe-title{font-size:22px;}
}
@media(max-width:640px){
  .tlcr-thumb-grid{grid-template-columns:1fr;}
  .tlcr-section{padding:24px 0;}
  .tlcr-case-modal-box{width:96vw;max-height:92vh;}
  .tlcr-case-modal-body{padding:18px 18px 20px;}
  .tlcr-case-modal-title{font-size:17px;}
}
@media(max-width:420px){
  .tlcr-fe-title{font-size:19px;}
  .tlcr-thumb-img{height:130px;}
  .tlcr-thumb-ribbon,.tlcr-thumb-tag-bottom{font-size:8px;padding:2px 8px;}
}
