/* Independent Detective - Soft Professional Theme */

:root{
  --id-charcoal:#1c1c1c;
  --id-slate:#243447;
  --id-slate-light:#36495d;
  --id-blue:#2f5d7c;
  --id-blue-hover:#3e6c89;
  --id-soft:#f7f7f5;
  --id-card:#ffffff;
  --id-border:#d9d9d9;
  --id-text:#444;
  --id-muted:#666;
  --id-gold:#d4af37;
}

/* Do not force page background */
body{
  color:var(--id-text);
}

/* General content */
.entry-content{
  line-height:1.7;
}

.entry-content img{
  max-width:100%;
  height:auto;
  border-radius:14px;
}

/* Headings on normal light sections */
.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4{
  color:var(--id-slate);
}

/* Dark hero/search sections */
.case-search-hero,
.home-hero,
.id-custom-header{
  background:linear-gradient(135deg,var(--id-charcoal),var(--id-slate),var(--id-slate-light)) !important;
  color:#fff !important;
}

.case-search-hero h1,
.case-search-hero h2,
.case-search-hero h3,
.case-search-hero p,
.case-search-hero li,
.case-search-hero strong,
.home-hero h1,
.home-hero h2,
.home-hero h3,
.home-hero p{
  color:#fff !important;
}

/* Buttons */
.wp-block-button__link,
.entry-content .wp-block-button a[href*="/case-searches/"],
.entry-content a.id-case-nav-button,
.entry-content input[type="submit"]{
  background:var(--id-slate) !important;
  color:#fff !important;
  border:1px solid var(--id-blue) !important;
  border-radius:10px !important;
  padding:11px 16px !important;
  font-weight:700 !important;
  text-decoration:none !important;
  box-shadow:none !important;
}

.wp-block-button__link:hover,
.entry-content .wp-block-button a[href*="/case-searches/"]:hover,
.entry-content a.id-case-nav-button:hover,
.entry-content input[type="submit"]:hover{
  background:var(--id-blue) !important;
  color:#fff !important;
}

/* Search/filter cards */
.case-search-section,
.case-updates-section,
.home-card,
.home-sidebar-card{
  background:#fff !important;
  color:var(--id-text) !important;
  border-color:var(--id-border) !important;
}

.case-search-section h2,
.case-search-section h3,
.case-updates-section h2,
.case-updates-section h3,
.home-card h2,
.home-card h3{
  color:var(--id-slate) !important;
}

/* Search hero tip */
.case-search-tip{
  background:rgba(255,255,255,.12) !important;
  border:1px solid rgba(255,255,255,.22) !important;
  color:#fff !important;
}

/* Advanced Tabs — only if class id-case-tabs is added */
.id-case-tabs [role="tablist"],
.id-case-tabs ul{
  background:#eef1f3 !important;
  border-bottom:1px solid var(--id-border) !important;
  padding:10px !important;
  border-radius:14px 14px 0 0 !important;
}

/* Inactive tabs */
.id-case-tabs button,
.id-case-tabs a[role="tab"],
.id-case-tabs [role="tab"],
.id-case-tabs .advgb-tab,
.id-case-tabs .tab-title{
  background:#64717f !important;
  color:#fff !important;
  border:none !important;
  border-radius:8px !important;
  font-weight:700 !important;
  box-shadow:none !important;
}

/* Active tab */
.id-case-tabs .active,
.id-case-tabs .is-active,
.id-case-tabs [aria-selected="true"]{
  background:var(--id-blue) !important;
  color:#fff !important;
}

/* Hover tab */
.id-case-tabs button:hover,
.id-case-tabs a[role="tab"]:hover,
.id-case-tabs [role="tab"]:hover,
.id-case-tabs .advgb-tab:hover{
  background:var(--id-blue-hover) !important;
  color:#fff !important;
}

/* Tab content */
.id-case-tabs [role="tabpanel"],
.id-case-tabs .tab-content,
.id-case-tabs .tabs-content,
.id-case-tabs .advgb-tab-body{
  background:#f7f7f5 !important;
  color:var(--id-text) !important;
  border:1px solid var(--id-border) !important;
  border-radius:0 0 14px 14px !important;
  padding:24px !important;
  line-height:1.75 !important;
}

/* Tables / info grids */
.entry-content table{
  width:100%;
  border-collapse:collapse;
  background:#fff;
  border:1px solid var(--id-border);
}

.entry-content th{
  background:var(--id-slate);
  color:#fff;
  padding:12px;
}

.entry-content td{
  border-top:1px solid var(--id-border);
  padding:12px;
  color:var(--id-text);
}

/* Forms */
input,
select,
textarea{
  background:#fff;
  color:#222;
  border:1px solid #c9c9c9;
  border-radius:10px;
  padding:10px 12px;
}

input:focus,
select:focus,
textarea:focus{
  outline:none;
  border-color:var(--id-blue);
  box-shadow:0 0 0 3px rgba(47,93,124,.15);
}

/* Mobile */
@media(max-width:700px){
  .id-case-tabs [role="tablist"],
  .id-case-tabs ul{
    display:flex !important;
    flex-direction:column !important;
  }

  .id-case-tabs [role="tab"],
  .id-case-tabs .advgb-tab{
    width:100% !important;
    box-sizing:border-box !important;
  }

  .id-case-tabs [role="tabpanel"],
  .id-case-tabs .advgb-tab-body{
    padding:22px !important;
  }
}

/* Stronger spacing fix for Advanced Tabs content */

.id-case-tabs p,
.id-case-tabs .wp-block-paragraph{
  display:block !important;
  margin:0 0 22px 0 !important;
  padding:0 !important;
  line-height:1.8 !important;
}

.id-case-tabs h1,
.id-case-tabs h2,
.id-case-tabs h3,
.id-case-tabs h4{
  display:block !important;
  margin:34px 0 16px 0 !important;
  line-height:1.25 !important;
}

.id-case-tabs h1:first-child,
.id-case-tabs h2:first-child,
.id-case-tabs h3:first-child,
.id-case-tabs h4:first-child{
  margin-top:0 !important;
}

.id-case-tabs br{
  display:block !important;
  content:"" !important;
  margin-bottom:14px !important;
}

/* If the text is inside a single block instead of separate paragraphs */
.id-case-tabs .wp-block-group,
.id-case-tabs .wp-block-html,
.id-case-tabs .advgb-tab-body,
.id-case-tabs [role="tabpanel"]{
  line-height:1.8 !important;
}

/* =====================================================
   Blog Designer Pack Pro - Homepage Carousel Readability
   ===================================================== */

/* Titles */
.home-recent-carousel .bdpp-post-title,
.home-recent-carousel .bdpp-post-title a,
.home-sidebar-card .bdpp-post-title,
.home-sidebar-card .bdpp-post-title a{
    color:#243447 !important;
    font-weight:700 !important;
}

/* Excerpts */
.home-recent-carousel .bdpp-post-content,
.home-recent-carousel .bdpp-post-content p,
.home-recent-carousel .bdpp-post-content div,
.home-sidebar-card .bdpp-post-content,
.home-sidebar-card .bdpp-post-content p,
.home-sidebar-card .bdpp-post-content div{
    color:#555 !important;
    line-height:1.65 !important;
}

/* Dates / Meta */
.home-recent-carousel .bdpp-post-date,
.home-recent-carousel .bdpp-post-meta,
.home-sidebar-card .bdpp-post-date,
.home-sidebar-card .bdpp-post-meta{
    color:#777 !important;
}

/* Any text inside the shortcode */
.home-recent-carousel *{
    color:inherit;
}

.home-sidebar-card *{
    color:inherit;
}

/* Force excerpt text to be readable */
.home-recent-carousel p,
.home-sidebar-card p{
    color:#555 !important;
}


/* =====================================================
   Independent Detective Homepage Carousel
   ===================================================== */

/* Filter chips */
.home-recent-carousel .bdpp-post-filter-cat{
    list-style:none !important;
    margin:4px !important;
}

.home-recent-carousel .bdpp-post-filter-cat-link{
    display:inline-block !important;
    padding:8px 15px !important;
    border-radius:20px !important;

    background:rgba(232,238,243,.88) !important;

    border:1px solid rgba(36,52,71,.18) !important;

    transition:all .25s ease !important;

    text-decoration:none !important;
}

/* Filter text */
.home-recent-carousel .bdpp-post-filter-cat-name{
    color:#243447 !important;
    font-weight:700 !important;
    letter-spacing:.2px;
}

/* Hover */
.home-recent-carousel .bdpp-post-filter-cat-link:hover{

    background:#2f5d7c !important;

    border-color:#2f5d7c !important;

    transform:translateY(-1px);
}

.home-recent-carousel .bdpp-post-filter-cat-link:hover
.bdpp-post-filter-cat-name{

    color:#ffffff !important;
}

/* Active chip */
.home-recent-carousel .bdpp-post-filter-cat-active
.bdpp-post-filter-cat-link{

    background:#243447 !important;

    border:1px solid #d4af37 !important;
}

.home-recent-carousel .bdpp-post-filter-cat-active
.bdpp-post-filter-cat-name{

    color:#f2c94c !important;
}

/* "More" link */
.home-recent-carousel .bdpp-post-filter-cat-more-link,
.home-recent-carousel .bdpp-post-filter-cat-more-link *{

    color:#243447 !important;
    font-weight:700;
}

.home-recent-carousel .bdpp-post-filter-cat-more-link:hover,
.home-recent-carousel .bdpp-post-filter-cat-more-link:hover *{

    color:#2f5d7c !important;
}

/* ==========================================
   Read More Button
========================================== */

.home-recent-carousel .bdpp-read-more,
.home-recent-carousel .bdpp-readmore-btn,
.home-recent-carousel a[class*="read"]{

    background:#243447 !important;

    color:#ffffff !important;

    border:1px solid #243447 !important;

    border-radius:8px !important;

    padding:10px 18px !important;

    font-weight:700 !important;

    transition:.25s;
}

.home-recent-carousel .bdpp-read-more:hover,
.home-recent-carousel .bdpp-readmore-btn:hover,
.home-recent-carousel a[class*="read"]:hover{

    background:#2f5d7c !important;

    border-color:#2f5d7c !important;

    color:#ffffff !important;
}

.home-recent-carousel .bdpp-read-more,
.home-recent-carousel .bdpp-readmore-btn{
    opacity:1 !important;
}


/* ===================================================
   Independent Detective - Public Comment Discussion Styling
   Works with standard comments + Jetpack Comments
   =================================================== */

/* Main comments container */
.comments-area,
#comments,
.wp-block-comments,
.wp-block-post-comments{
  max-width:1100px !important;
  margin:38px auto !important;
  padding:30px !important;
  background:#ffffff !important;
  border:1px solid #d9d9d9 !important;
  border-top:6px solid #2f5d7c !important;
  border-radius:18px !important;
  box-shadow:0 8px 24px rgba(0,0,0,.07) !important;
  color:#444 !important;
}

/* Comments heading */
.comments-area h2,
.comments-area h3,
#comments h2,
#comments h3,
.wp-block-comments-title{
  color:#243447 !important;
  font-size:1.7rem !important;
  line-height:1.3 !important;
  margin:0 0 26px !important;
}

/* Comment list */
.comment-list,
.wp-block-comment-template{
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
}

/* Individual comment card */
.comment,
.pingback,
.trackback,
.wp-block-comment-template li{
  background:#f7f7f5 !important;
  border:1px solid #d9d9d9 !important;
  border-radius:16px !important;
  padding:22px !important;
  margin:0 0 22px !important;
  box-shadow:0 4px 14px rgba(0,0,0,.04) !important;
}

/* Comment body layout */
.comment-body,
.wp-block-comment{
  display:grid !important;
  grid-template-columns:64px minmax(0,1fr) !important;
  gap:18px !important;
  align-items:start !important;
}

/* Avatar */
.comment-author img,
.comment .avatar,
.wp-block-avatar img{
  width:58px !important;
  height:58px !important;
  border-radius:50% !important;
  border:3px solid #ffffff !important;
  box-shadow:0 3px 10px rgba(0,0,0,.12) !important;
}

/* Author/meta area */
.comment-author,
.comment-meta,
.wp-block-comment-author-name,
.wp-block-comment-date{
  color:#243447 !important;
  line-height:1.5 !important;
}

/* Author name */
.comment-author .fn,
.comment-author a,
.wp-block-comment-author-name a{
  color:#243447 !important;
  font-weight:800 !important;
  font-size:1.05rem !important;
  text-decoration:none !important;
}

/* Date */
.comment-metadata,
.comment-metadata a,
.wp-block-comment-date,
.wp-block-comment-date a{
  color:#666 !important;
  font-size:.9rem !important;
  text-decoration:none !important;
  margin-top:4px !important;
}

/* Comment text */
.comment-content,
.wp-block-comment-content{
  grid-column:2 / 3 !important;
  color:#444 !important;
  font-size:1rem !important;
  line-height:1.85 !important;
  margin-top:10px !important;
  max-width:900px !important;
}

.comment-content p,
.wp-block-comment-content p{
  color:#444 !important;
  margin:0 0 16px !important;
  line-height:1.85 !important;
}

/* Reply/Edit links */
.reply,
.wp-block-comment-reply-link{
  grid-column:2 / 3 !important;
  margin-top:12px !important;
}

.comment-reply-link,
.comment-edit-link,
.wp-block-comment-reply-link a{
  display:inline-block !important;
  background:#243447 !important;
  color:#ffffff !important;
  border-radius:8px !important;
  padding:8px 14px !important;
  text-decoration:none !important;
  font-weight:700 !important;
  font-size:.95rem !important;
}

.comment-reply-link:hover,
.comment-edit-link:hover,
.wp-block-comment-reply-link a:hover{
  background:#2f5d7c !important;
  color:#ffffff !important;
}

/* Nested replies */
.children{
  list-style:none !important;
  margin:22px 0 0 40px !important;
  padding-left:20px !important;
  border-left:3px solid #d9d9d9 !important;
}

/* Leave a reply title */
.comment-reply-title,
#reply-title{
  color:#243447 !important;
  font-size:1.6rem !important;
  margin:32px 0 16px !important;
}

/* Comment form / Jetpack comment box */
.comment-form,
#commentform,
.jetpack-comment-form,
iframe[name*="jetpack"]{
  margin-top:20px !important;
}

.comment-form-comment textarea,
#comment,
textarea[name="comment"]{
  width:100% !important;
  min-height:160px !important;
  background:#eef4f8 !important;
  color:#243447 !important;
  border:1px solid #b9c9d4 !important;
  border-radius:14px !important;
  padding:16px !important;
  font-size:1rem !important;
  line-height:1.7 !important;
  box-sizing:border-box !important;
}

.comment-form-comment textarea:focus,
#comment:focus,
textarea[name="comment"]:focus{
  outline:none !important;
  border-color:#2f5d7c !important;
  box-shadow:0 0 0 3px rgba(47,93,124,.15) !important;
}

/* Submit comment button */
.form-submit input[type="submit"],
.comment-form input[type="submit"],
#submit{
  background:#2f5d7c !important;
  color:#ffffff !important;
  border:none !important;
  border-radius:10px !important;
  padding:12px 20px !important;
  font-weight:800 !important;
  cursor:pointer !important;
}

.form-submit input[type="submit"]:hover,
.comment-form input[type="submit"]:hover,
#submit:hover{
  background:#3e6c89 !important;
}

/* Subscribe field/button above comments */
.comment-subscription-form,
.wp-block-jetpack-subscriptions,
.wp-block-jetpack-subscriptions__container{
  max-width:1100px !important;
  margin:0 auto 28px !important;
}

.wp-block-jetpack-subscriptions input[type="email"],
.comment-subscription-form input[type="email"]{
  background:#eef4f8 !important;
  color:#243447 !important;
  border:1px solid #b9c9d4 !important;
  border-radius:10px !important;
  padding:12px 14px !important;
}

.wp-block-jetpack-subscriptions button,
.wp-block-jetpack-subscriptions input[type="submit"],
.comment-subscription-form input[type="submit"]{
  background:#2f5d7c !important;
  color:#ffffff !important;
  border:none !important;
  border-radius:10px !important;
  padding:12px 18px !important;
  font-weight:800 !important;
}

/* Mobile */
@media(max-width:700px){
  .comments-area,
  #comments,
  .wp-block-comments,
  .wp-block-post-comments{
    padding:22px !important;
  }

  .comment-body,
  .wp-block-comment{
    grid-template-columns:1fr !important;
  }

  .comment-content,
  .reply,
  .wp-block-comment-reply-link{
    grid-column:1 / 2 !important;
  }

  .children{
    margin-left:0 !important;
    padding-left:14px !important;
  }
}



/* On This Day Homepage Feature */

.id-on-today-wrap{
  background:#fff8e6;
  border:1px solid #e6d39a;
  border-left:6px solid #b88922;
  border-radius:18px;
  padding:26px;
  margin-top:20px;
}

.id-on-today-header{
  margin-bottom:22px;
}

.id-on-today-label{
  margin:0 0 6px;
  color:#b88922;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.85rem;
}

.id-on-today-header h2{
  margin:0 0 10px;
  color:#243447;
  font-size:1.65rem;
}

.id-on-today-header p{
  color:#555;
  line-height:1.7;
}

.id-on-today-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(250px,1fr));
  gap:18px;
}

.id-on-today-card{
  background:#fff;
  border:1px solid #d9d9d9;
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 8px 22px rgba(0,0,0,.06);
}

.id-on-today-image{
  display:block;
  background:#eef1f3;
}

.id-on-today-image img{
  width:100%;
  height:220px;
  object-fit:cover;
  display:block;
}

.id-on-today-content{
  padding:20px;
}

.id-on-today-content h3{
  margin:0 0 10px;
  font-size:1.25rem;
}

.id-on-today-content h3 a{
  color:#243447;
  text-decoration:none;
}

.id-on-today-content h3 a:hover{
  color:#2f5d7c;
  text-decoration:underline;
}

.id-on-today-excerpt{
  margin:0 0 16px;
  color:#555;
  line-height:1.65;
}

.id-on-today-meta{
  background:#f7f7f5;
  border:1px solid #d9d9d9;
  border-radius:12px;
  padding:12px;
  margin-bottom:16px;
}

.id-on-today-meta p{
  margin:0 0 7px;
  color:#444;
  line-height:1.5;
  font-size:.95rem;
}

.id-on-today-meta p:last-child{
  margin-bottom:0;
}

.id-on-today-meta strong{
  color:#243447;
}

.id-on-today-button{
  display:inline-block;
  background:#2f5d7c;
  color:#fff !important;
  padding:10px 15px;
  border-radius:9px;
  text-decoration:none;
  font-weight:800;
}

.id-on-today-button:hover{
  background:#3e6c89;
  color:#fff !important;
}

.id-on-today-empty{
  background:#fff;
  border:1px solid #d9d9d9;
  border-radius:12px;
  padding:18px;
}

.id-on-today-empty p{
  margin:0;
  color:#555;
}

@media(max-width:750px){
  .id-on-today-grid{
    grid-template-columns:1fr;
  }

  .id-on-today-wrap{
    padding:22px;
  }

  .id-on-today-image img{
    height:200px;
  }
}

/* Clickable month heading above case calendar */

.id-calendar-month-title{
  display:flex;
  align-items:baseline;
  gap:8px;
  flex-wrap:wrap;
  margin:0 0 10px;
  color:#243447;
}

.id-calendar-month-link{
  color:#243447 !important;
  text-decoration:none !important;
  border-bottom:2px solid #2f5d7c;
  font-weight:800;
  transition:.2s ease;
}

.id-calendar-month-link:hover{
  color:#2f5d7c !important;
  border-bottom-color:#3e6c89;
}

.id-calendar-month-link:focus{
  outline:3px solid rgba(47,93,124,.2);
  outline-offset:4px;
  border-radius:3px;
}

.id-calendar-year{
  color:#58616b;
  font-weight:600;
}

/* Show the current clickable month above the sidebar calendar */

.home-calendar-card .id-calendar-header{
  display:block !important;
  text-align:center;
  margin:0 0 14px !important;
}

/* Hide the small "Case Calendar" label and description in the mini version */
.home-calendar-card .id-calendar-header > p{
  display:none !important;
}

/* Clickable month and year */
.home-calendar-card .id-calendar-month-title{
  display:flex !important;
  align-items:baseline;
  justify-content:center;
  gap:7px;
  flex-wrap:wrap;
  margin:0 0 12px !important;
  font-size:1.45rem !important;
  line-height:1.3;
}

.home-calendar-card .id-calendar-month-link{
  color:#243447 !important;
  text-decoration:none !important;
  font-weight:800 !important;
  border-bottom:2px solid #2f5d7c;
  transition:.2s ease;
}

.home-calendar-card .id-calendar-month-link:hover{
  color:#2f5d7c !important;
  border-bottom-color:#3e6c89;
}

.home-calendar-card .id-calendar-year{
  color:#58616b !important;
  font-weight:600 !important;
}

/* =====================================================
   Independent Detective Interactive Statistics
===================================================== */

.home-statistics-card{
  border-top:6px solid #2f5d7c;
}

.id-statistics-widget{
  color:#444;
}

.id-statistics-heading{
  text-align:center;
  max-width:820px;
  margin:0 auto 24px;
}

.id-statistics-label{
  margin:0 0 7px !important;
  color:#2f5d7c !important;
  font-size:.82rem !important;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.09em;
}

.id-statistics-heading h2{
  margin:0 0 10px;
  color:#243447;
  font-size:1.75rem;
}

.id-statistics-heading p{
  margin:0;
  color:#555;
  line-height:1.7;
}

.id-statistics-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(120px,1fr));
  gap:12px;
  margin:24px 0;
}

.id-stat-summary-item{
  background:#eef3f5;
  border:1px solid #d3dee3;
  border-radius:12px;
  padding:14px 10px;
  text-align:center;
}

.id-stat-summary-item strong{
  display:block;
  color:#243447;
  font-size:1.45rem;
  line-height:1.2;
}

.id-stat-summary-item span{
  display:block;
  margin-top:5px;
  color:#58616b;
  font-size:.82rem;
  font-weight:700;
}

.id-statistics-controls{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
  margin:24px 0;
  padding:14px;
  background:#f7f7f5;
  border:1px solid #d9d9d9;
  border-radius:14px;
}

.id-statistics-category-buttons,
.id-statistics-chart-buttons{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.id-statistics-widget button{
  border:none;
  border-radius:999px;
  padding:8px 13px;
  font-family:inherit;
  font-size:.88rem;
  font-weight:700;
  cursor:pointer;
  transition:.2s ease;
}

.id-stat-control,
.id-chart-control{
  background:#dfe8ec !important;
  color:#243447 !important;
}

.id-stat-control:hover,
.id-chart-control:hover{
  background:#cbdbe2 !important;
  color:#243447 !important;
}

.id-stat-control.is-active,
.id-chart-control.is-active{
  background:#2f5d7c !important;
  color:#fff !important;
}

.id-statistics-display{
  display:grid;
  grid-template-columns:minmax(0,1fr) 230px;
  gap:20px;
  align-items:stretch;
}

.id-statistics-chart-wrap{
  position:relative;
  min-height:390px;
  background:#fff;
  border:1px solid #d9d9d9;
  border-radius:15px;
  padding:18px;
}

.id-statistics-options{
  background:#f7f7f5;
  border:1px solid #d9d9d9;
  border-radius:15px;
  padding:16px;
  max-height:430px;
  overflow:auto;
}

.id-statistics-options-heading h3{
  margin:0 0 5px;
  color:#243447;
  font-size:1.05rem;
}

.id-statistics-options-heading p{
  margin:0 0 14px;
  color:#666;
  font-size:.82rem;
  line-height:1.45;
}

.id-statistics-checkboxes{
  display:flex;
  flex-direction:column;
  gap:5px;
}

.id-statistics-checkbox{
  display:flex;
  align-items:flex-start;
  gap:8px;
  padding:6px 7px;
  border-radius:7px;
  cursor:pointer;
}

.id-statistics-checkbox:hover{
  background:#e8eff2;
}

.id-statistics-checkbox input{
  width:auto !important;
  margin:3px 0 0;
  accent-color:#2f5d7c;
}

.id-statistics-checkbox span{
  color:#36495d;
  font-size:.84rem;
  line-height:1.35;
}

.id-statistics-option-actions{
  display:grid;
  grid-template-columns:1fr;
  gap:7px;
  margin-top:15px;
  padding-top:13px;
  border-top:1px solid #d9d9d9;
}


/* =====================================================
   Independent Detective Interactive Case Search
===================================================== */

.idcs-search{
  --idcs-charcoal:#1c1c1c;
  --idcs-slate:#243447;
  --idcs-slate-light:#36495d;
  --idcs-blue:#2f5d7c;
  --idcs-blue-hover:#3e6c89;
  --idcs-soft:#f7f7f5;
  --idcs-card:#ffffff;
  --idcs-border:#d9d9d9;
  --idcs-text:#444;
  --idcs-muted:#66727a;

  max-width:1200px;
  margin:36px auto 70px;
  color:var(--idcs-text);
  font-family:inherit;
}

.idcs-search-header{
  padding:40px 30px;
  margin-bottom:26px;
  text-align:center;
  color:#fff;
  background:
    linear-gradient(
      135deg,
      var(--idcs-charcoal),
      var(--idcs-slate),
      var(--idcs-slate-light)
    );
  border-radius:20px;
  box-shadow:0 12px 34px rgba(0,0,0,.13);
}

.idcs-eyebrow{
  margin:0 0 7px !important;
  color:#c7dce7 !important;
  font-size:.82rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.1em;
}

.idcs-search-header h2{
  margin:0 0 12px;
  color:#fff !important;
  font-size:2rem;
}

.idcs-search-header > p:last-child{
  max-width:760px;
  margin:0 auto !important;
  color:#f3f6f8 !important;
  font-size:1.04rem;
  line-height:1.7;
}

.idcs-search-layout{
  display:grid;
  grid-template-columns:330px minmax(0,1fr);
  gap:26px;
  align-items:start;
}

.idcs-filter-panel,
.idcs-results-panel{
  background:var(--idcs-card);
  border:1px solid var(--idcs-border);
  border-radius:18px;
  box-shadow:0 9px 26px rgba(0,0,0,.07);
}

.idcs-filter-panel{
  position:sticky;
  top:22px;
  padding:24px;
  border-top:6px solid #58616b;
}

.idcs-keyword-field label,
.idcs-field label{
  display:block;
  margin-bottom:7px;
  color:var(--idcs-slate);
  font-size:.9rem;
  font-weight:800;
}

.idcs-keyword-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
}

.idcs-keyword,
.idcs-taxonomy-filter{
  width:100%;
  min-height:44px;
  box-sizing:border-box;
  background:#fff !important;
  color:#243447 !important;
  border:1px solid #bcc9d0 !important;
  border-radius:9px !important;
  padding:10px 11px !important;
  font-family:inherit;
}

.idcs-keyword:focus,
.idcs-taxonomy-filter:focus{
  outline:none;
  border-color:var(--idcs-blue) !important;
  box-shadow:0 0 0 3px rgba(47,93,124,.14);
}

.idcs-taxonomy-filter:disabled{
  background:#eef1f3 !important;
  color:#89949a !important;
  cursor:not-allowed;
}

.idcs-search-button,
.idcs-clear-button,
.idcs-load-more{
  border:none !important;
  border-radius:9px !important;
  font-family:inherit;
  font-weight:800 !important;
  cursor:pointer;
  transition:.2s ease;
}

.idcs-search-button{
  padding:10px 14px !important;
  background:var(--idcs-blue) !important;
  color:#fff !important;
}

.idcs-search-button:hover{
  background:var(--idcs-blue-hover) !important;
}

.idcs-filter-section{
  margin-top:22px;
  padding-top:20px;
  border-top:1px solid var(--idcs-border);
}

.idcs-filter-section h3{
  margin:0 0 6px;
  color:var(--idcs-slate);
  font-size:1.05rem;
}

.idcs-filter-section > p{
  margin:0 0 14px;
  color:var(--idcs-muted);
  font-size:.84rem;
  line-height:1.55;
}

.idcs-filter-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:13px;
}

.idcs-filter-actions{
  margin-top:22px;
}

.idcs-clear-button{
  width:100%;
  padding:11px 15px !important;
  background:#e1e8ec !important;
  color:var(--idcs-slate) !important;
}

.idcs-clear-button:hover{
  background:#cfdae0 !important;
}

.idcs-filter-note{
  margin:15px 0 0 !important;
  color:#697982 !important;
  font-size:.78rem;
  line-height:1.55;
  text-align:center;
}

.idcs-results-panel{
  min-width:0;
  padding:26px;
  border-top:6px solid var(--idcs-blue);
}

.idcs-results-heading{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
  padding-bottom:18px;
  border-bottom:1px solid var(--idcs-border);
}

.idcs-results-label{
  margin:0 0 4px !important;
  color:var(--idcs-blue) !important;
  font-size:.8rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.09em;
}

.idcs-results-title{
  margin:0;
  color:var(--idcs-slate);
  font-size:1.5rem;
}

.idcs-result-count{
  margin:4px 0 0 !important;
  color:#63747d !important;
  font-size:.9rem;
  font-weight:700;
  white-space:nowrap;
}

.idcs-active-filters{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin:16px 0 0;
}

.idcs-active-filters:empty{
  display:none;
}

.idcs-active-filters span{
  display:inline-block;
  padding:6px 10px;
  color:#29465a;
  background:#e7f0f4;
  border:1px solid #c9dae2;
  border-radius:999px;
  font-size:.78rem;
  font-weight:700;
}

.idcs-status{
  margin:16px 0;
  color:#62737c;
  font-size:.9rem;
}

.idcs-results-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
  margin-top:22px;
}

.idcs-result-card{
  display:flex;
  flex-direction:column;
  min-width:0;
  overflow:hidden;
  background:#fff;
  border:1px solid var(--idcs-border);
  border-radius:15px;
  box-shadow:0 7px 20px rgba(0,0,0,.055);
  transition:transform .2s ease, box-shadow .2s ease;
}

.idcs-result-card:hover{
  transform:translateY(-2px);
  box-shadow:0 11px 25px rgba(0,0,0,.09);
}

.idcs-result-image{
  display:block;
  background:#e9eef1;
  text-decoration:none;
}

.idcs-result-image img{
  display:block;
  width:100%;
  height:210px;
  object-fit:cover;
  border-radius:0 !important;
}

.idcs-image-placeholder{
  display:flex;
  min-height:210px;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:5px;
  color:#526773;
  background:
    linear-gradient(135deg,#edf2f4,#dce6ea);
  text-align:center;
}

.idcs-image-placeholder strong{
  color:#243447;
  font-size:1rem;
  letter-spacing:.08em;
}

.idcs-image-placeholder span{
  font-size:.82rem;
}

.idcs-result-content{
  display:flex;
  flex:1;
  flex-direction:column;
  padding:19px;
}

.idcs-result-content h4{
  margin:0 0 10px;
  font-size:1.2rem;
  line-height:1.35;
}

.idcs-result-content h4 a{
  color:var(--idcs-slate) !important;
  text-decoration:none !important;
}

.idcs-result-content h4 a:hover{
  color:var(--idcs-blue) !important;
  text-decoration:underline !important;
}

.idcs-result-excerpt{
  margin:0 0 14px !important;
  color:#555 !important;
  line-height:1.65;
}

.idcs-result-meta{
  padding:12px;
  margin:0 0 15px;
  background:var(--idcs-soft);
  border:1px solid var(--idcs-border);
  border-radius:10px;
}

.idcs-result-meta p{
  margin:0 0 6px !important;
  color:#48565d !important;
  font-size:.86rem;
  line-height:1.45;
}

.idcs-result-meta p:last-child{
  margin-bottom:0 !important;
}

.idcs-result-meta strong{
  color:var(--idcs-slate);
}

.idcs-view-case{
  display:inline-block;
  align-self:flex-start;
  margin-top:auto;
  padding:9px 14px;
  color:#fff !important;
  background:var(--idcs-blue);
  border-radius:8px;
  font-size:.88rem;
  font-weight:800;
  text-decoration:none !important;
}

.idcs-view-case:hover{
  color:#fff !important;
  background:var(--idcs-blue-hover);
}

.idcs-empty-results{
  grid-column:1 / -1;
  padding:34px 24px;
  background:var(--idcs-soft);
  border:1px dashed #b9c8cf;
  border-radius:14px;
  text-align:center;
}

.idcs-empty-results h4{
  margin:0 0 8px;
  color:var(--idcs-slate);
}

.idcs-empty-results p{
  margin:0 !important;
  color:#65757d !important;
}

.idcs-load-more-wrap{
  margin-top:24px;
  text-align:center;
}

.idcs-load-more{
  padding:11px 20px !important;
  background:var(--idcs-slate) !important;
  color:#fff !important;
}

.idcs-load-more:hover{
  background:var(--idcs-blue) !important;
}

.idcs-load-more[hidden]{
  display:none !important;
}

.idcs-search.is-loading .idcs-results-grid{
  opacity:.58;
  pointer-events:none;
}

.idcs-search button:disabled{
  opacity:.65;
  cursor:wait;
}

/* Tablet */
@media(max-width:1000px){
  .idcs-search-layout{
    grid-template-columns:280px minmax(0,1fr);
  }

  .idcs-results-grid{
    grid-template-columns:1fr;
  }
}

/* Mobile */
@media(max-width:760px){
  .idcs-search{
    margin-top:24px;
  }

  .idcs-search-layout{
    grid-template-columns:1fr;
  }

  .idcs-filter-panel{
    position:static;
  }

  .idcs-results-grid{
    grid-template-columns:1fr;
  }

  .idcs-results-heading{
    flex-direction:column;
  }

  .idcs-result-count{
    white-space:normal;
  }

  .idcs-search-header{
    padding:34px 21px;
  }

  .idcs-search-header h2{
    font-size:1.65rem;
  }
}

/* Small phones */
@media(max-width:480px){
  .idcs-keyword-row{
    grid-template-columns:1fr;
  }

  .idcs-search-button{
    width:100%;
  }

  .idcs-filter-panel,
  .idcs-results-panel{
    padding:20px;
  }

  .idcs-result-image img,
  .idcs-image-placeholder{
    height:190px;
    min-height:190px;
  }
}
.id-select-all,
.id-show-top{
  background:#243447 !important;
  color:#fff !important;
  border-radius:8px !important;
  padding:8px 10px !important;
}

.id-select-all:hover,
.id-show-top:hover{
  background:#2f5d7c !important;
}

.id-statistics-note{
  margin:16px 0 0 !important;
  color:#667780 !important;
  text-align:center;
  font-size:.84rem;
  font-style:italic;
}

.id-statistics-noscript{
  padding:14px;
  background:#fff8e6;
  border:1px solid #e6d39a;
  border-radius:10px;
}

/* Tablet */
@media(max-width:900px){
  .id-statistics-display{
    grid-template-columns:1fr;
  }

  .id-statistics-options{
    max-height:250px;
  }

  .id-statistics-checkboxes{
    display:grid;
    grid-template-columns:repeat(2,minmax(150px,1fr));
  }
}

/* Mobile */
@media(max-width:650px){
  .id-statistics-summary{
    grid-template-columns:repeat(2,1fr);
  }

  .id-statistics-controls{
    align-items:stretch;
  }

  .id-statistics-category-buttons,
  .id-statistics-chart-buttons{
    width:100%;
  }

  .id-statistics-widget button{
    flex:1;
  }

  .id-statistics-chart-wrap{
    min-height:330px;
    padding:10px;
  }

  .id-statistics-checkboxes{
    grid-template-columns:1fr;
  }
}

.id-statistics-error{
  margin:30px !important;
  padding:18px;
  background:#fff8e6;
  border:1px solid #e6d39a;
  border-left:5px solid #b88922;
  border-radius:10px;
  color:#444 !important;
  line-height:1.6;
}


/* New search fields */

.idcs-quick-search-section{
  margin-top:0;
  padding-top:0;
  border-top:none;
}

.idcs-field-help{
  display:block;
  margin-top:6px;
  color:#718089;
  font-size:.76rem;
  line-height:1.45;
}

.idcs-country-only-field[hidden]{
  display:none !important;
}

.idcs-case-number-badge{
  align-self:flex-start;
  margin:0 0 8px !important;
  padding:5px 10px;
  background:#e7f0f4;
  color:#294f65 !important;
  border:1px solid #c9dce5;
  border-radius:999px;
  font-size:.78rem;
  font-weight:800;
}

.idcs-quick-search-section .idcs-search-button{
  width:100%;
  padding:11px 16px !important;
}

/* =====================================================
   CASE SEARCH PAGE MARKER
===================================================== */

.id-search-page-marker{
  margin:0 auto 12px;
  padding:0;
  text-align:center;
}

.id-search-page-marker p{
  display:inline-block;
  margin:0 !important;
  padding:7px 14px;
  background:#e7f0f4;
  border:1px solid #c9dce5;
  border-radius:999px;
  color:#294f65 !important;
  font-size:.78rem;
  font-weight:800;
  line-height:1.3;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.id-search-page-marker + .id-search-tool-section,
.id-search-page-marker + .id-search-tool-section .idcs-search{
  margin-top:0 !important;
}


/* =====================================================
   CASE SEARCH RESULTS — CONSOLIDATED
===================================================== */

.idcs-results-grid{
  align-items:start;
}

.idcs-result-card{
  height:auto;
  min-height:0;
  align-self:start;
}

.idcs-result-top{
  width:100%;
  min-width:0;
}

.entry-content a.idcs-result-image,
.idcs-result-image{
  margin:0 !important;
  padding:0 !important;
  color:inherit !important;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  text-decoration:none !important;
  overflow:hidden !important;
}

.entry-content a.idcs-result-image:hover,
.idcs-result-image:hover{
  padding:0 !important;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
}

.idcs-result-image img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  margin:0 !important;
  padding:0 !important;
  object-fit:contain !important;
  object-position:center center !important;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
}

.idcs-result-heading-area{
  min-width:0;
}

.idcs-result-heading-area .idcs-case-number-badge{
  display:inline-flex !important;
  width:auto !important;
  max-width:max-content !important;
  min-width:0 !important;
  align-items:center !important;
  justify-content:center !important;
  align-self:flex-start !important;
  margin:0 0 9px !important;
  padding:6px 12px !important;
  background:#e7f0f4 !important;
  color:#294f65 !important;
  border:1px solid #c9dce5 !important;
  border-radius:999px !important;
  font-weight:800 !important;
  line-height:1.3 !important;
  white-space:nowrap !important;
}

.idcs-result-heading-area h4{
  margin:0 !important;
  padding:0 !important;
  max-width:100% !important;
}

.idcs-result-heading-area h4 a{
  box-sizing:border-box !important;
  max-width:100% !important;
  background:#243447 !important;
  color:#fff !important;
  border:none !important;
  border-radius:10px !important;
  box-shadow:none !important;
  font-weight:800 !important;
  line-height:1.3 !important;
  white-space:normal !important;
  word-break:keep-all !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
  text-decoration:none !important;
}

.idcs-result-heading-area h4 a:hover{
  background:#2f5d7c !important;
  color:#fff !important;
  text-decoration:none !important;
}

.idcs-result-content{
  box-sizing:border-box !important;
}

.idcs-case-facts,
.idcs-person-details{
  width:100% !important;
  box-sizing:border-box !important;
  margin-bottom:14px !important;
}

.idcs-result-meta{
  display:flex !important;
  flex-direction:column !important;
  gap:14px !important;
  padding:16px !important;
}

.idcs-result-meta p{
  display:grid !important;
  grid-template-columns:110px minmax(0,1fr) !important;
  column-gap:12px !important;
  align-items:start !important;
  margin:0 !important;
  padding:0 !important;
  color:#48565d !important;
  font-size:.9rem !important;
  line-height:1.5 !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
}

.idcs-result-meta p strong{
  color:#243447 !important;
  font-weight:800 !important;
  white-space:nowrap !important;
}

.idcs-person-details{
  background:#eef4f6 !important;
  border-color:#cfdee4 !important;
}

.idcs-person-details-heading{
  margin:0 0 14px !important;
  padding:0 0 10px !important;
  color:#243447 !important;
  border-bottom:1px solid #cfdee4;
  font-size:1rem !important;
  line-height:1.4 !important;
  font-weight:800 !important;
}


/* Desktop search-result cards */
@media (min-width:1001px){

  .idcs-result-top{
    display:flex !important;
    flex-direction:column !important;
    margin:0 !important;
    padding:0 !important;
    position:static !important;
  }

  .idcs-result-image{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    height:260px !important;
    min-height:260px !important;
    max-height:260px !important;
    padding:14px !important;
    box-sizing:border-box !important;
    background:#eef1f3 !important;
    border-radius:15px 15px 0 0 !important;
  }

  .idcs-result-image img{
    max-width:100% !important;
    max-height:100% !important;
    border-radius:8px !important;
  }

  .idcs-result-heading-area{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    width:100% !important;
    box-sizing:border-box !important;
    padding:16px 18px 12px !important;
    background:#fff !important;
  }

  .idcs-result-heading-area h4 a{
    display:inline-block !important;
    width:auto !important;
    padding:9px 14px !important;
    font-size:1.05rem !important;
  }

  .idcs-result-content{
    display:flex !important;
    flex-direction:column !important;
    width:100% !important;
    padding:0 18px 18px !important;
  }
}


/* Tablet search-result cards */
@media (min-width:701px) and (max-width:1000px){

  .idcs-result-top{
    display:grid !important;
    grid-template-columns:110px minmax(0,1fr) !important;
    gap:18px !important;
    align-items:center !important;
    padding:20px 20px 8px !important;
  }

  .idcs-result-image{
    display:flex !important;
    width:110px !important;
    height:135px !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:8px !important;
  }

  .idcs-result-image img{
    border-radius:8px !important;
  }

  .idcs-result-heading-area{
    padding:0 !important;
  }

  .idcs-result-heading-area h4 a{
    display:inline-block !important;
    width:auto !important;
    padding:9px 14px !important;
    font-size:1rem !important;
  }

  .idcs-result-content{
    padding:15px 20px 20px !important;
  }
}


/* Mobile search-result cards */
@media (max-width:700px){

  .id-search-page-marker{
    margin-bottom:10px;
  }

  .id-search-page-marker p{
    padding:6px 11px;
    font-size:.7rem;
  }

  .idcs-result-top{
    display:grid !important;
    grid-template-columns:80px minmax(0,1fr) !important;
    gap:14px !important;
    align-items:center !important;
    padding:16px 16px 6px !important;
  }

  .idcs-result-image{
    display:flex !important;
    width:80px !important;
    height:100px !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:8px !important;
    box-shadow:0 3px 9px rgba(0,0,0,.10) !important;
  }

  .idcs-result-image img{
    border-radius:8px !important;
  }

  .idcs-result-heading-area{
    padding:0 !important;
  }

  .idcs-result-heading-area h4 a{
    display:block !important;
    width:100% !important;
    padding:8px 10px !important;
    font-size:.92rem !important;
    text-align:left !important;
  }

  .idcs-result-content{
    padding:15px !important;
  }

  .idcs-result-meta{
    gap:16px !important;
    padding:15px !important;
  }

  .idcs-result-meta p{
    display:block !important;
    font-size:.88rem !important;
    line-height:1.55 !important;
  }

  .idcs-result-meta p strong{
    display:block !important;
    margin-bottom:3px !important;
    white-space:normal !important;
  }

  .idcs-person-details-heading{
    margin-bottom:0 !important;
  }
}

@media (max-width:420px){

  .idcs-result-top{
    grid-template-columns:70px minmax(0,1fr) !important;
    gap:11px !important;
    padding:14px 14px 5px !important;
  }

  .idcs-result-image{
    width:70px !important;
    height:88px !important;
  }

  .idcs-result-heading-area h4 a{
    font-size:.82rem !important;
    padding:7px 8px !important;
  }

  .idcs-result-meta p{
    font-size:.82rem !important;
  }
}


/* =====================================================
   BLOG DESIGNER PACK — CONSOLIDATED ARCHIVE/CAROUSEL TITLES
===================================================== */

/*
 * The broad case-link button selector was removed above.
 * These rules now control Blog Designer Pack names directly.
 */

.bdpp-wrap .bdpp-post-title,
.bdpp-post-grid .bdpp-post-title,
.bdpp-post-list .bdpp-post-title,
[class*="bdpp"] .bdpp-post-title,
.bdpp-post-title{
  display:block !important;
  width:calc(100% - 24px) !important;
  max-width:100% !important;
  min-width:0 !important;
  margin:0 auto 14px !important;
  padding:0 !important;
  background:transparent !important;
  border:none !important;
  line-height:1.3 !important;
  text-align:center !important;
  position:static !important;
  transform:none !important;
}

.entry-content .bdpp-post-title a[href*="/case-searches/"],
.bdpp-wrap .bdpp-post-title a,
.bdpp-post-grid .bdpp-post-title a,
.bdpp-post-list .bdpp-post-title a,
[class*="bdpp"] .bdpp-post-title a,
.bdpp-post-title a{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
  margin:0 !important;
  padding:9px 12px !important;
  background:#243447 !important;
  color:#fff !important;
  border:1px solid #2f5d7c !important;
  border-radius:12px !important;
  box-shadow:none !important;
  font-size:1rem !important;
  font-weight:800 !important;
  line-height:1.3 !important;
  letter-spacing:normal !important;
  text-align:center !important;
  text-decoration:none !important;
  white-space:normal !important;
  word-break:keep-all !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
  box-decoration-break:slice !important;
  -webkit-box-decoration-break:slice !important;
  position:static !important;
  inset:auto !important;
  transform:none !important;
}

.entry-content .bdpp-post-title a[href*="/case-searches/"]:hover,
.bdpp-post-title a:hover{
  background:#2f5d7c !important;
  color:#fff !important;
  text-decoration:none !important;
}

@media (max-width:700px){

  .bdpp-wrap .bdpp-post-title,
  .bdpp-post-grid .bdpp-post-title,
  .bdpp-post-list .bdpp-post-title,
  [class*="bdpp"] .bdpp-post-title,
  .bdpp-post-title{
    width:calc(100% - 16px) !important;
  }

  .entry-content .bdpp-post-title a[href*="/case-searches/"],
  .bdpp-post-title a{
    font-size:.92rem !important;
    padding:8px 10px !important;
  }
}

@media (max-width:420px){

  .entry-content .bdpp-post-title a[href*="/case-searches/"],
  .bdpp-post-title a{
    font-size:.82rem !important;
    padding:7px 8px !important;
  }
}

/* =====================================================
   Independent Detective — Latest Site Updates
===================================================== */

.id-latest-updates{
  width:100%;
  color:#444;
}

.id-latest-updates-list{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.id-latest-update-item{
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  gap:12px;
  align-items:start;

  padding:16px;

  background:#ffffff;
  border:1px solid #d9d9d9;
  border-radius:13px;

  box-shadow:0 4px 13px rgba(0,0,0,.045);
}

.id-update-icon{
  display:flex;
  width:38px;
  height:38px;

  align-items:center;
  justify-content:center;

  background:#e7f0f4;
  border:1px solid #c9dce5;
  border-radius:50%;

  font-size:1rem;
  line-height:1;
}

.id-update-content{
  min-width:0;
}

.id-update-title{
  margin:0 0 5px !important;
  padding:0 !important;

  font-size:1rem !important;
  line-height:1.35 !important;
}

.id-update-title a{
  display:inline !important;

  margin:0 !important;
  padding:0 !important;

  background:transparent !important;
  color:#243447 !important;
  border:none !important;
  border-radius:0 !important;
  box-shadow:none !important;

  font-weight:800 !important;
  line-height:inherit !important;

  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:break-word !important;

  text-decoration:none !important;
}

.id-update-title a:hover{
  background:transparent !important;
  color:#2f5d7c !important;
  text-decoration:underline !important;
}

.id-update-date{
  display:flex;
  align-items:center;
  gap:5px;

  margin:0 0 8px !important;

  color:#6d7b83 !important;
  font-size:.78rem !important;
  line-height:1.4 !important;
}

.id-update-excerpt{
  margin:0 0 10px !important;

  color:#555 !important;
  font-size:.86rem !important;
  line-height:1.55 !important;
}

.id-update-link{
  display:inline-flex !important;
  align-items:center;
  gap:5px;

  margin:0 !important;
  padding:7px 11px !important;

  background:#243447 !important;
  color:#ffffff !important;
  border:none !important;
  border-radius:8px !important;

  font-size:.78rem !important;
  font-weight:800 !important;
  line-height:1.3 !important;

  text-decoration:none !important;
  box-shadow:none !important;
}

.id-update-link:hover{
  background:#2f5d7c !important;
  color:#ffffff !important;
  text-decoration:none !important;
}

.id-latest-updates-empty{
  padding:15px;

  background:#f7f7f5;
  border:1px solid #d9d9d9;
  border-radius:12px;
}

.id-latest-updates-empty p{
  margin:0 !important;
  color:#666 !important;
  line-height:1.55 !important;
}

/* Narrow sidebar and tablet adjustments */
@media(max-width:1000px){

  .id-latest-update-item{
    grid-template-columns:34px minmax(0,1fr);
    gap:10px;
    padding:14px;
  }

  .id-update-icon{
    width:34px;
    height:34px;
  }
}

/* Mobile */
@media(max-width:600px){

  .id-latest-update-item{
    padding:13px;
  }

  .id-update-title{
    font-size:.95rem !important;
  }

  .id-update-excerpt{
    font-size:.84rem !important;
  }
}


/* =====================================================
   Submit a Tip Tab — Published-page layout
===================================================== */

.id-tip-section{
  width:100% !important;
  max-width:1200px !important;
  box-sizing:border-box !important;

  margin:0 auto !important;
  padding:38px !important;

  background:#000000 !important;
  color:#f7f7f5 !important;

  border-radius:0 0 18px 18px !important;
}

/* Prevent the surrounding tab from adding conflicting spacing */
.id-case-tabs [role="tabpanel"] .id-tip-section,
.id-case-tabs .advgb-tab-body .id-tip-section{
  margin-top:-24px !important;
  margin-right:-24px !important;
  margin-bottom:-24px !important;
  margin-left:-24px !important;

  width:calc(100% + 48px) !important;
  max-width:none !important;
}

/* Main dark introduction box */
.id-tip-section .tip-hero,
.id-tip-section .id-tip-hero{
  max-width:1000px !important;
  margin:0 auto 30px !important;
  padding:42px 34px !important;

  background:linear-gradient(
    135deg,
    #1c1c1c,
    #243447,
    #36495d
  ) !important;

  border-radius:20px !important;
  box-shadow:0 12px 30px rgba(0,0,0,.22) !important;

  text-align:center !important;
  color:#ffffff !important;
}

.id-tip-section .tip-hero h1,
.id-tip-section .tip-hero h2,
.id-tip-section .id-tip-hero h1,
.id-tip-section .id-tip-hero h2{
  margin:0 0 14px !important;
  color:#ffffff !important;
  text-align:center !important;
  line-height:1.25 !important;
}

.id-tip-section .tip-hero p,
.id-tip-section .id-tip-hero p{
  max-width:820px !important;
  margin:0 auto !important;

  color:#f7f7f5 !important;
  text-align:center !important;
  font-size:1.05rem !important;
  line-height:1.75 !important;
}

/* General white information cards */
.id-tip-section .tip-card,
.id-tip-section .id-tip-card{
  box-sizing:border-box !important;

  margin:0 0 28px !important;
  padding:30px !important;

  background:#ffffff !important;
  color:#444444 !important;

  border:1px solid #d9d9d9 !important;
  border-radius:18px !important;

  box-shadow:0 8px 24px rgba(0,0,0,.16) !important;
}

/* Law-enforcement notice */
.id-tip-section .tip-law-enforcement,
.id-tip-section .id-tip-law-enforcement{
  border-left:6px solid #2f5d7c !important;
}

/* Two-column card area */
.id-tip-section .tip-grid,
.id-tip-section .id-tip-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:28px !important;
  align-items:stretch !important;

  margin:0 0 28px !important;
}

.id-tip-section .tip-grid .tip-card,
.id-tip-section .id-tip-grid .id-tip-card,
.id-tip-section .id-tip-grid .tip-card,
.id-tip-section .id-tip-grid .id-tip-card{
  height:100% !important;
  margin:0 !important;
}

/* Card typography */
.id-tip-section .tip-card h2,
.id-tip-section .tip-card h3,
.id-tip-section .id-tip-card h2,
.id-tip-section .id-tip-card h3{
  margin:0 0 12px !important;
  color:#243447 !important;
  line-height:1.3 !important;
  text-align:left !important;
}

.id-tip-section .tip-card p,
.id-tip-section .tip-card li,
.id-tip-section .id-tip-card p,
.id-tip-section .id-tip-card li{
  color:#555555 !important;
  line-height:1.75 !important;
  text-align:left !important;
}

.id-tip-section .tip-card p,
.id-tip-section .id-tip-card p{
  margin:0 0 16px !important;
}

.id-tip-section .tip-card p:last-child,
.id-tip-section .id-tip-card p:last-child{
  margin-bottom:0 !important;
}

/* Keep all direct sections centered within the black area */
.id-tip-section > section,
.id-tip-section > div:not(.tip-grid):not(.id-tip-grid){
  max-width:1000px;
  margin-left:auto;
  margin-right:auto;
}

/* Tablet */
@media(max-width:900px){

  .id-tip-section{
    padding:30px !important;
  }

  .id-tip-section .tip-hero,
  .id-tip-section .id-tip-hero{
    padding:36px 28px !important;
  }
}

/* Mobile */
@media(max-width:700px){

  .id-tip-section{
    padding:22px !important;
  }

  .id-case-tabs [role="tabpanel"] .id-tip-section,
  .id-case-tabs .advgb-tab-body .id-tip-section{
    margin:-22px !important;
    width:calc(100% + 44px) !important;
  }

  .id-tip-section .tip-grid,
  .id-tip-section .id-tip-grid{
    grid-template-columns:1fr !important;
    gap:20px !important;
  }

  .id-tip-section .tip-hero,
  .id-tip-section .id-tip-hero{
    padding:32px 22px !important;
    margin-bottom:22px !important;
  }

  .id-tip-section .tip-hero h1,
  .id-tip-section .tip-hero h2,
  .id-tip-section .id-tip-hero h1,
  .id-tip-section .id-tip-hero h2{
    font-size:1.75rem !important;
  }

  .id-tip-section .tip-card,
  .id-tip-section .id-tip-card{
    padding:24px !important;
  }
}


/* =====================================================
   Submit a Tip — Equal widths and consistent centering
===================================================== */

/* Make every main section use the same total width */
.id-tip-section .id-tip-hero,
.id-tip-section .tip-hero,
.id-tip-section .id-tip-law-enforcement,
.id-tip-section .tip-law-enforcement,
.id-tip-section .id-tip-grid,
.id-tip-section .tip-grid,
.id-tip-section > .id-tip-card,
.id-tip-section > .tip-card{
  width:100% !important;
  max-width:1000px !important;
  box-sizing:border-box !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Keep the top hero centered */
.id-tip-section .id-tip-hero,
.id-tip-section .tip-hero{
  text-align:center !important;
}

/* Hero heading and introduction */
.id-tip-section .id-tip-hero h1,
.id-tip-section .id-tip-hero h2,
.id-tip-section .tip-hero h1,
.id-tip-section .tip-hero h2,
.id-tip-section .id-tip-hero p,
.id-tip-section .tip-hero p{
  text-align:center !important;
}

/* Normal information cards remain left aligned */
.id-tip-section .id-tip-card,
.id-tip-section .tip-card{
  box-sizing:border-box !important;
  text-align:left !important;
}

.id-tip-section .id-tip-card h2,
.id-tip-section .id-tip-card h3,
.id-tip-section .id-tip-card p,
.id-tip-section .id-tip-card li,
.id-tip-section .tip-card h2,
.id-tip-section .tip-card h3,
.id-tip-section .tip-card p,
.id-tip-section .tip-card li{
  text-align:left !important;
}

/* Ensure both columns are the same width and alignment */
.id-tip-section .id-tip-grid,
.id-tip-section .tip-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:28px !important;
  align-items:stretch !important;
}

.id-tip-section .id-tip-grid > *,
.id-tip-section .tip-grid > *{
  width:100% !important;
  min-width:0 !important;
  height:100% !important;
  box-sizing:border-box !important;
  margin:0 !important;
}

/* Consistent vertical spacing */
.id-tip-section .id-tip-hero,
.id-tip-section .tip-hero,
.id-tip-section .id-tip-law-enforcement,
.id-tip-section .tip-law-enforcement,
.id-tip-section .id-tip-grid,
.id-tip-section .tip-grid{
  margin-bottom:28px !important;
}

/* Mobile */
@media(max-width:700px){

  .id-tip-section .id-tip-grid,
  .id-tip-section .tip-grid{
    grid-template-columns:1fr !important;
    gap:20px !important;
  }

  .id-tip-section .id-tip-hero,
  .id-tip-section .tip-hero,
  .id-tip-section .id-tip-law-enforcement,
  .id-tip-section .tip-law-enforcement,
  .id-tip-section .id-tip-grid,
  .id-tip-section .tip-grid{
    max-width:100% !important;
  }
}


/* =====================================================
   Independent Detective — Related Cases
===================================================== */

.id-related-cases{
  width:100%;
  max-width:1100px;
  box-sizing:border-box;

  margin:44px auto 34px;
  padding:30px;

  background:#f7f7f5;
  border:1px solid #d9d9d9;
  border-top:6px solid #2f5d7c;
  border-radius:18px;

  box-shadow:0 9px 26px rgba(0,0,0,.07);
  color:#444;
}

.id-related-cases-header{
  max-width:800px;
  margin:0 auto 26px;
  text-align:center;
}

.id-related-cases-label{
  margin:0 0 7px !important;

  color:#2f5d7c !important;
  font-size:.82rem;
  font-weight:800;

  text-transform:uppercase;
  letter-spacing:.09em;
}

.id-related-cases-header h2{
  margin:0 0 10px !important;

  color:#243447 !important;
  font-size:1.75rem;
  line-height:1.3;
}

.id-related-cases-header > p:last-child{
  margin:0 !important;
  color:#5b6870 !important;
  line-height:1.65;
}

.id-related-cases-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
  align-items:start;
}

.id-related-case-card{
  min-width:0;
  box-sizing:border-box;

  padding:18px;

  background:#fff;
  border:1px solid #d9d9d9;
  border-radius:15px;

  box-shadow:0 6px 18px rgba(0,0,0,.05);
}

.id-related-case-top{
  display:grid;
  grid-template-columns:82px minmax(0,1fr);
  gap:14px;
  align-items:center;

  margin-bottom:14px;
}

.entry-content a.id-related-case-image,
.id-related-case-image{
  display:flex !important;

  width:82px !important;
  height:102px !important;

  align-items:center !important;
  justify-content:center !important;

  margin:0 !important;
  padding:0 !important;

  background:#eef1f3 !important;
  border:none !important;
  border-radius:9px !important;
  box-shadow:0 3px 10px rgba(0,0,0,.09) !important;

  overflow:hidden !important;
  text-decoration:none !important;
}

.id-related-case-image img{
  display:block !important;

  width:100% !important;
  height:100% !important;

  object-fit:contain !important;
  object-position:center center !important;

  margin:0 !important;
  padding:0 !important;

  background:transparent !important;
  border:none !important;
  border-radius:9px !important;
}

.id-related-image-placeholder{
  padding:8px;

  color:#536772;
  font-size:.72rem;
  font-weight:800;
  line-height:1.3;
  text-align:center;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.id-related-case-heading{
  min-width:0;
}

.id-related-case-number{
  display:inline-flex;

  margin:0 0 8px !important;
  padding:5px 10px;

  background:#e7f0f4;
  color:#294f65 !important;

  border:1px solid #c9dce5;
  border-radius:999px;

  font-size:.76rem;
  font-weight:800;
  line-height:1.3;
}

.id-related-case-heading h3{
  margin:0 !important;
  padding:0 !important;

  font-size:1.05rem;
  line-height:1.35;
}

.entry-content .id-related-case-heading h3 a,
.id-related-case-heading h3 a{
  display:inline !important;

  margin:0 !important;
  padding:0 !important;

  background:transparent !important;
  color:#243447 !important;

  border:none !important;
  border-radius:0 !important;
  box-shadow:none !important;

  font-weight:800 !important;
  line-height:inherit !important;

  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:break-word !important;

  text-decoration:none !important;
}

.id-related-case-heading h3 a:hover{
  background:transparent !important;
  color:#2f5d7c !important;
  text-decoration:underline !important;
}

.id-related-match{
  margin:0 0 13px !important;
  padding:9px 11px;

  background:#fff8e6;
  border:1px solid #e6d39a;
  border-radius:9px;

  color:#5f563f !important;
  font-size:.78rem;
  line-height:1.5;
}

.id-related-match strong{
  color:#243447 !important;
}

.id-related-case-facts{
  display:flex;
  flex-direction:column;
  gap:7px;

  margin:0 0 13px;
  padding:12px;

  background:#eef4f6;
  border:1px solid #cfdee4;
  border-radius:10px;
}

.id-related-case-facts p{
  display:grid;
  grid-template-columns:24px minmax(0,1fr);
  gap:7px;
  align-items:start;

  margin:0 !important;

  color:#46545c !important;
  font-size:.82rem;
  line-height:1.5;
}

.id-related-case-facts strong{
  color:#2f5d7c !important;
  font-size:.9rem;
  line-height:1.45;
}

.id-related-case-excerpt{
  margin:0 0 14px !important;

  color:#555 !important;
  font-size:.88rem;
  line-height:1.65;
}

.entry-content a.id-related-case-button,
.id-related-case-button{
  display:inline-flex !important;
  align-items:center;
  gap:6px;

  margin:0 !important;
  padding:8px 12px !important;

  background:#243447 !important;
  color:#fff !important;

  border:none !important;
  border-radius:8px !important;

  font-size:.8rem !important;
  font-weight:800 !important;
  line-height:1.3 !important;

  text-decoration:none !important;
  box-shadow:none !important;
}

.entry-content a.id-related-case-button:hover,
.id-related-case-button:hover{
  background:#2f5d7c !important;
  color:#fff !important;
  text-decoration:none !important;
}

/* Tablet */
@media(max-width:900px){

  .id-related-cases{
    padding:25px;
  }

  .id-related-cases-grid{
    grid-template-columns:1fr;
  }
}

/* Mobile */
@media(max-width:600px){

  .id-related-cases{
    margin-top:32px;
    padding:20px;
  }

  .id-related-cases-header h2{
    font-size:1.45rem;
  }

  .id-related-case-card{
    padding:15px;
  }

  .id-related-case-top{
    grid-template-columns:70px minmax(0,1fr);
    gap:11px;
  }

  .entry-content a.id-related-case-image,
  .id-related-case-image{
    width:70px !important;
    height:88px !important;
  }

  .id-related-case-heading h3{
    font-size:.95rem;
  }

  .id-related-case-facts p{
    font-size:.8rem;
  }
}


/* =====================================================
   Independent Detective — Statistics linked case list
===================================================== */

.id-statistics-case-results{
  margin-top:24px;
  padding:24px;
  background:#f7f7f5;
  border:1px solid #d9d9d9;
  border-left:6px solid #2f5d7c;
  border-radius:15px;
}

.id-statistics-case-results-heading{
  margin-bottom:17px;
}

.id-statistics-case-results-label{
  margin:0 0 5px !important;
  color:#2f5d7c !important;
  font-size:.78rem !important;
  font-weight:800 !important;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.id-statistics-case-results-heading h3{
  margin:0 0 7px !important;
  color:#243447 !important;
  font-size:1.3rem !important;
  line-height:1.35 !important;
}

.id-statistics-case-results-summary{
  margin:0 !important;
  color:#5e6c74 !important;
  font-size:.9rem !important;
  line-height:1.55 !important;
}

.id-statistics-case-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px 18px;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}

.id-statistics-case-list-item{
  min-width:0;
  margin:0 !important;
  padding:11px 13px !important;
  background:#fff;
  border:1px solid #d9d9d9;
  border-radius:10px;
}

.id-statistics-case-list-item a{
  display:block !important;
  margin:0 0 3px !important;
  padding:0 !important;
  background:transparent !important;
  color:#243447 !important;
  border:none !important;
  border-radius:0 !important;
  box-shadow:none !important;
  font-size:.9rem !important;
  font-weight:800 !important;
  line-height:1.4 !important;
  text-decoration:none !important;
  overflow-wrap:break-word !important;
}

.id-statistics-case-list-item a:hover{
  background:transparent !important;
  color:#2f5d7c !important;
  text-decoration:underline !important;
}

.id-statistics-case-list-item span{
  display:block;
  color:#697982;
  font-size:.76rem;
  line-height:1.45;
}

.id-statistics-case-empty{
  margin:0 !important;
  padding:14px;
  color:#667780 !important;
  background:#fff;
  border:1px dashed #b9c8cf;
  border-radius:10px;
  text-align:center;
}

.id-statistics-case-empty[hidden]{
  display:none !important;
}

@media(max-width:750px){
  .id-statistics-case-list{
    grid-template-columns:1fr;
  }

  .id-statistics-case-results{
    padding:20px;
  }
}

/* Dynamic chart focus sentence */
.id-statistics-case-results-focus{
  margin:10px 0 5px !important;
  color:#243447 !important;
  font-size:1rem !important;
  font-weight:800 !important;
  line-height:1.55 !important;
}

.id-statistics-case-number{
  display:inline-block !important;
  margin:0 0 5px !important;
  padding:4px 8px !important;
  background:#e7f0f4 !important;
  color:#294f65 !important;
  border:1px solid #c9dce5 !important;
  border-radius:999px !important;
  font-size:.72rem !important;
  font-weight:800 !important;
  line-height:1.25 !important;
}

.id-statistics-case-match{
  display:block !important;
  margin-top:3px !important;
  color:#697982 !important;
  font-size:.76rem !important;
  line-height:1.45 !important;
}

/* Keep the linked case list polished without overpowering the chart */
.id-statistics-case-list-item{
  box-shadow:0 3px 10px rgba(0,0,0,.035);
  transition:transform .18s ease, box-shadow .18s ease;
}

.id-statistics-case-list-item:hover{
  transform:translateY(-1px);
  box-shadow:0 6px 14px rgba(0,0,0,.06);
}


/* =====================================================
   Independent Detective — Research Statistics Dashboard
===================================================== */

.idrs-dashboard{
  --idrs-slate:#243447;
  --idrs-blue:#2f5d7c;
  --idrs-blue-hover:#3e6c89;
  --idrs-soft:#f7f7f5;
  --idrs-border:#d9d9d9;
  --idrs-text:#444;
  --idrs-gold:#d4af37;

  max-width:1400px;
  margin:36px auto 70px;
  color:var(--idrs-text);
  font-family:inherit;
}

.idrs-header{
  padding:48px 34px;
  margin-bottom:26px;
  text-align:center;
  color:#fff;
  background:linear-gradient(135deg,#1c1c1c,#243447,#36495d);
  border-radius:20px;
  box-shadow:0 12px 34px rgba(0,0,0,.13);
}

.idrs-eyebrow,
.idrs-section-label{
  margin:0 0 7px !important;
  color:#9dc5d8 !important;
  font-size:.8rem !important;
  font-weight:800 !important;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.idrs-header h1{
  margin:0 0 14px !important;
  color:#fff !important;
  font-size:2.25rem;
}

.idrs-header > p:last-child{
  max-width:900px;
  margin:0 auto !important;
  color:#f3f6f8 !important;
  font-size:1.03rem;
  line-height:1.75;
}

.idrs-toolbar{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:20px;
  align-items:end;
  padding:22px;
  margin-bottom:20px;
  background:#fff;
  border:1px solid var(--idrs-border);
  border-top:6px solid var(--idrs-blue);
  border-radius:17px;
  box-shadow:0 8px 24px rgba(0,0,0,.06);
}

.idrs-toolbar h2{
  margin:0 0 5px !important;
  color:var(--idrs-slate) !important;
  font-size:1.15rem !important;
}

.idrs-toolbar p{
  margin:0 0 13px !important;
  color:#667780 !important;
  font-size:.86rem !important;
}

.idrs-category-buttons,
.idrs-chart-type-buttons{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.idrs-category-button,
.idrs-chart-type,
.idrs-clear-filters,
.idrs-clear-chart,
.idrs-show-more{
  border:none !important;
  font-family:inherit;
  font-weight:800 !important;
  cursor:pointer;
  transition:.2s ease;
}

.idrs-category-button,
.idrs-chart-type{
  padding:9px 14px !important;
  background:#dfe8ec !important;
  color:var(--idrs-slate) !important;
  border-radius:999px !important;
}

.idrs-category-button:hover,
.idrs-chart-type:hover{
  background:#cbdbe2 !important;
}

.idrs-category-button.is-active,
.idrs-chart-type.is-active{
  background:var(--idrs-blue) !important;
  color:#fff !important;
}

.idrs-active-selection-wrap{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px 20px;
  align-items:center;
  padding:20px;
  margin-bottom:20px;
  background:#f7f7f5;
  border:1px solid var(--idrs-border);
  border-radius:15px;
}

.idrs-active-selection-wrap h2{
  margin:0 !important;
  color:var(--idrs-slate) !important;
  font-size:1.2rem !important;
}

.idrs-active-selection-wrap .idrs-section-label{
  color:var(--idrs-blue) !important;
}

.idrs-clear-filters{
  padding:9px 13px !important;
  background:var(--idrs-slate) !important;
  color:#fff !important;
  border-radius:9px !important;
}

.idrs-clear-filters:hover{
  background:var(--idrs-blue) !important;
}

.idrs-active-filters{
  grid-column:1 / -1;
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}

.idrs-no-filters{
  margin:0 !important;
  color:#667780 !important;
  font-size:.86rem !important;
}

.idrs-filter-chip{
  padding:7px 10px !important;
  background:#fff !important;
  color:#294f65 !important;
  border:1px solid #c9dce5 !important;
  border-radius:999px !important;
  font-size:.78rem !important;
  cursor:pointer;
}

.idrs-filter-chip span{
  margin-left:4px;
  font-weight:900;
}

.idrs-status{
  margin:0 0 18px;
  color:#60717a;
  font-size:.9rem;
  font-weight:700;
}

.idrs-status.is-error,
.idrs-error{
  padding:15px;
  color:#624f2e !important;
  background:#fff8e6;
  border:1px solid #e6d39a;
  border-radius:10px;
}

.idrs-chart-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
  align-items:start;
}

.idrs-chart-card{
  min-width:0;
  padding:20px;
  background:#fff;
  border:1px solid var(--idrs-border);
  border-radius:16px;
  box-shadow:0 8px 23px rgba(0,0,0,.055);
}

.idrs-chart-card-heading{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:flex-start;
  margin-bottom:15px;
}

.idrs-chart-card-heading p{
  margin:0 0 3px !important;
  color:var(--idrs-blue) !important;
  font-size:.72rem !important;
  font-weight:800 !important;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.idrs-chart-card-heading h3{
  margin:0 !important;
  color:var(--idrs-slate) !important;
  font-size:1.25rem !important;
}

.idrs-clear-chart{
  padding:7px 10px !important;
  background:#e7eef1 !important;
  color:var(--idrs-slate) !important;
  border-radius:8px !important;
  font-size:.76rem !important;
}

.idrs-clear-chart:disabled{
  opacity:.45;
  cursor:default;
}

.idrs-canvas-wrap{
  position:relative;
  height:390px;
}

.idrs-chart-values{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:16px;
  max-height:190px;
  overflow:auto;
  padding-right:3px;
}

.idrs-value-button{
  display:inline-flex;
  gap:7px;
  align-items:center;
  padding:7px 10px !important;
  background:#eef3f5 !important;
  color:#36495d !important;
  border:1px solid #d3dee3 !important;
  border-radius:999px !important;
  font-size:.76rem !important;
  cursor:pointer;
}

.idrs-value-button strong{
  color:#243447;
}

.idrs-value-button.is-active{
  background:#243447 !important;
  color:#fff !important;
  border-color:#d4af37 !important;
}

.idrs-value-button.is-active strong{
  color:#f2c94c;
}

.idrs-case-results{
  margin-top:26px;
  padding:26px;
  background:#f7f7f5;
  border:1px solid var(--idrs-border);
  border-left:6px solid var(--idrs-blue);
  border-radius:17px;
}

.idrs-case-results header{
  margin-bottom:18px;
}

.idrs-case-results .idrs-section-label{
  color:var(--idrs-blue) !important;
}

.idrs-case-results h2{
  margin:0 0 8px !important;
  color:var(--idrs-slate) !important;
  font-size:1.55rem !important;
}

.idrs-case-summary{
  margin:0 !important;
  color:#5f6f77 !important;
  line-height:1.6 !important;
}

.idrs-case-search-label{
  display:block;
  max-width:420px;
  margin-bottom:17px;
}

.idrs-case-search-label span{
  display:block;
  margin-bottom:6px;
  color:#243447;
  font-size:.82rem;
  font-weight:800;
}

.idrs-case-search{
  width:100%;
  box-sizing:border-box;
  padding:10px 12px !important;
  background:#fff !important;
  color:#243447 !important;
  border:1px solid #bcc9d0 !important;
  border-radius:9px !important;
}

.idrs-case-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px 16px;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}

.idrs-case-list li{
  min-width:0;
  padding:12px 13px;
  background:#fff;
  border:1px solid var(--idrs-border);
  border-radius:10px;
  box-shadow:0 3px 10px rgba(0,0,0,.035);
}

.idrs-case-number{
  display:inline-block;
  margin:0 0 5px;
  padding:4px 8px;
  background:#e7f0f4;
  color:#294f65;
  border:1px solid #c9dce5;
  border-radius:999px;
  font-size:.7rem;
  font-weight:800;
}

.idrs-case-list a{
  display:block !important;
  margin:0 0 4px !important;
  padding:0 !important;
  background:transparent !important;
  color:#243447 !important;
  border:none !important;
  box-shadow:none !important;
  font-size:.92rem !important;
  font-weight:800 !important;
  line-height:1.4 !important;
  text-decoration:none !important;
}

.idrs-case-list a:hover{
  color:#2f5d7c !important;
  text-decoration:underline !important;
}

.idrs-case-details{
  display:block;
  color:#697982;
  font-size:.76rem;
  line-height:1.45;
}

.idrs-show-more{
  display:block;
  margin:20px auto 0;
  padding:10px 17px !important;
  background:var(--idrs-slate) !important;
  color:#fff !important;
  border-radius:9px !important;
}

.idrs-show-more:hover{
  background:var(--idrs-blue) !important;
}

.idrs-show-more[hidden],
.idrs-empty[hidden]{
  display:none !important;
}

.idrs-empty{
  margin:0 !important;
  padding:16px;
  color:#667780 !important;
  background:#fff;
  border:1px dashed #b9c8cf;
  border-radius:10px;
  text-align:center;
}

@media(max-width:1000px){
  .idrs-toolbar{
    grid-template-columns:1fr;
  }

  .idrs-chart-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:700px){
  .idrs-dashboard{
    margin-top:24px;
  }

  .idrs-header{
    padding:38px 22px;
  }

  .idrs-header h1{
    font-size:1.8rem;
  }

  .idrs-active-selection-wrap{
    grid-template-columns:1fr;
  }

  .idrs-active-filters{
    grid-column:1;
  }

  .idrs-clear-filters{
    justify-self:start;
  }

  .idrs-chart-card,
  .idrs-case-results{
    padding:19px;
  }

  .idrs-canvas-wrap{
    height:340px;
  }

  .idrs-case-list{
    grid-template-columns:1fr;
  }
}


/* =====================================================
   Independent Detective — Interactive Case Research Map
===================================================== */

.idcrm-map-widget{
  --idcrm-slate:#243447;
  --idcrm-blue:#2f5d7c;
  --idcrm-blue-hover:#3e6c89;
  --idcrm-soft:#f7f7f5;
  --idcrm-border:#d9d9d9;
  --idcrm-text:#444;

  width:100%;
  max-width:1400px;
  box-sizing:border-box;
  margin:34px auto;
  color:var(--idcrm-text);
  font-family:inherit;
}

.idcrm-map-header{
  padding:38px 30px;
  margin-bottom:22px;
  color:#fff;
  text-align:center;
  background:linear-gradient(135deg,#1c1c1c,#243447,#36495d);
  border-radius:18px;
  box-shadow:0 10px 30px rgba(0,0,0,.12);
}

.idcrm-map-eyebrow{
  margin:0 0 7px !important;
  color:#a9cfe1 !important;
  font-size:.8rem !important;
  font-weight:800 !important;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.idcrm-map-header h2{
  margin:0 0 12px !important;
  color:#fff !important;
  font-size:2rem !important;
  line-height:1.25 !important;
}

.idcrm-map-header > p:last-child{
  max-width:850px;
  margin:0 auto !important;
  color:#f3f6f8 !important;
  line-height:1.7 !important;
}

.idcrm-map-controls{
  padding:20px;
  margin-bottom:18px;
  background:#fff;
  border:1px solid var(--idcrm-border);
  border-top:6px solid var(--idcrm-blue);
  border-radius:16px;
  box-shadow:0 7px 22px rgba(0,0,0,.055);
}

.idcrm-map-filter-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(180px,1fr));
  gap:14px;
}

.idcrm-map-field{
  display:block;
  min-width:0;
}

.idcrm-map-field > span{
  display:block;
  margin-bottom:6px;
  color:var(--idcrm-slate);
  font-size:.82rem;
  font-weight:800;
}

.idcrm-map-field select,
.idcrm-map-field input{
  width:100%;
  min-height:43px;
  box-sizing:border-box;
  padding:9px 11px !important;
  background:#fff !important;
  color:#243447 !important;
  border:1px solid #bcc9d0 !important;
  border-radius:9px !important;
}

.idcrm-map-field select:focus,
.idcrm-map-field input:focus{
  outline:none;
  border-color:var(--idcrm-blue) !important;
  box-shadow:0 0 0 3px rgba(47,93,124,.14);
}

.idcrm-map-actions{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:16px;
}

.idcrm-map-clear,
.idcrm-map-fullscreen,
.idcrm-map-show-more{
  padding:9px 14px !important;
  background:var(--idcrm-slate) !important;
  color:#fff !important;
  border:none !important;
  border-radius:9px !important;
  font-family:inherit;
  font-weight:800 !important;
  cursor:pointer;
}

.idcrm-map-clear:hover,
.idcrm-map-fullscreen:hover,
.idcrm-map-show-more:hover{
  background:var(--idcrm-blue) !important;
}

.idcrm-map-status{
  margin:0 0 12px;
  color:#60717a;
  font-size:.9rem;
  font-weight:700;
}

.idcrm-map-status.is-error,
.idcrm-map-error{
  padding:14px;
  color:#624f2e !important;
  background:#fff8e6;
  border:1px solid #e6d39a;
  border-radius:10px;
}

.idcrm-map-shell{
  position:relative;
  width:100%;
  box-sizing:border-box;
  background:#eef1f3;
  border:1px solid var(--idcrm-border);
  border-radius:17px;
  box-shadow:0 9px 26px rgba(0,0,0,.08);
  overflow:hidden;
}

.idcrm-map-shell:fullscreen{
  width:100vw;
  height:100vh;
  border:none;
  border-radius:0;
  background:#eef1f3;
}

.idcrm-map-shell:fullscreen .idcrm-map-canvas{
  height:100vh;
}

.idcrm-map-canvas{
  width:100%;
  height:620px;
  min-height:420px;
  background:#dfe8ec;
}

.idcrm-map-notice{
  margin-top:13px;
  padding:13px 15px;
  color:#5c6870;
  background:#f7f7f5;
  border:1px solid var(--idcrm-border);
  border-left:5px solid #b88922;
  border-radius:10px;
  font-size:.84rem;
  line-height:1.55;
}

.idcrm-map-notice strong{
  color:var(--idcrm-slate);
}

.idcrm-map-case-results{
  margin-top:22px;
  padding:24px;
  background:#f7f7f5;
  border:1px solid var(--idcrm-border);
  border-left:6px solid var(--idcrm-blue);
  border-radius:16px;
}

.idcrm-map-case-results-header{
  margin-bottom:16px;
}

.idcrm-map-results-label{
  margin:0 0 5px !important;
  color:var(--idcrm-blue) !important;
  font-size:.78rem !important;
  font-weight:800 !important;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.idcrm-map-case-results h3{
  margin:0 0 7px !important;
  color:var(--idcrm-slate) !important;
  font-size:1.45rem !important;
}

.idcrm-map-case-summary{
  margin:0 !important;
  color:#5f6f77 !important;
  line-height:1.55 !important;
}

.idcrm-map-case-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px 16px;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}

.idcrm-map-case-list li{
  min-width:0;
  padding:12px 13px;
  background:#fff;
  border:1px solid var(--idcrm-border);
  border-radius:10px;
  box-shadow:0 3px 10px rgba(0,0,0,.035);
}

.idcrm-map-case-number{
  display:inline-block;
  margin:0 0 5px;
  padding:4px 8px;
  background:#e7f0f4;
  color:#294f65;
  border:1px solid #c9dce5;
  border-radius:999px;
  font-size:.7rem;
  font-weight:800;
}

.idcrm-map-case-list a{
  display:block !important;
  margin:0 0 4px !important;
  padding:0 !important;
  background:transparent !important;
  color:var(--idcrm-slate) !important;
  border:none !important;
  box-shadow:none !important;
  font-size:.92rem !important;
  font-weight:800 !important;
  line-height:1.4 !important;
  text-decoration:none !important;
}

.idcrm-map-case-list a:hover{
  color:var(--idcrm-blue) !important;
  text-decoration:underline !important;
}

.idcrm-map-case-details{
  display:block;
  color:#697982;
  font-size:.76rem;
  line-height:1.45;
}

.idcrm-map-show-more{
  display:block;
  margin:19px auto 0;
}

.idcrm-map-show-more[hidden],
.idcrm-map-empty[hidden]{
  display:none !important;
}

.idcrm-map-empty{
  margin:0 !important;
  padding:15px;
  color:#667780 !important;
  background:#fff;
  border:1px dashed #b9c8cf;
  border-radius:10px;
  text-align:center;
}

/* Leaflet popup content */
.idcrm-popup{
  color:#444;
  font-family:inherit;
}

.idcrm-popup h3{
  margin:0 0 7px !important;
  color:#243447 !important;
  font-size:1rem !important;
  line-height:1.35 !important;
}

.idcrm-popup p{
  margin:0 0 8px !important;
  color:#5c6870 !important;
  font-size:.8rem !important;
}

.idcrm-popup ul{
  margin:0 !important;
  padding:0 0 0 17px !important;
}

.idcrm-popup li{
  margin:0 0 5px !important;
  color:#444 !important;
  font-size:.78rem !important;
  line-height:1.4 !important;
}

.idcrm-popup a{
  padding:0 !important;
  background:transparent !important;
  color:#2f5d7c !important;
  border:none !important;
  box-shadow:none !important;
  font-weight:700 !important;
  text-decoration:none !important;
}

.idcrm-popup a:hover{
  text-decoration:underline !important;
}

.idcrm-popup-more{
  margin-top:8px !important;
  font-style:italic;
}

@media(max-width:1000px){
  .idcrm-map-filter-grid{
    grid-template-columns:repeat(2,minmax(180px,1fr));
  }

  .idcrm-map-canvas{
    height:540px;
  }
}

@media(max-width:700px){
  .idcrm-map-widget{
    margin-top:24px;
  }

  .idcrm-map-header{
    padding:34px 20px;
  }

  .idcrm-map-header h2{
    font-size:1.65rem !important;
  }

  .idcrm-map-controls,
  .idcrm-map-case-results{
    padding:17px;
  }

  .idcrm-map-filter-grid{
    grid-template-columns:1fr;
  }

  .idcrm-map-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .idcrm-map-clear,
  .idcrm-map-fullscreen{
    width:100%;
  }

  .idcrm-map-canvas{
    height:460px;
    min-height:390px;
  }

  .idcrm-map-case-list{
    grid-template-columns:1fr;
  }
}

@media(max-width:420px){
  .idcrm-map-canvas{
    height:410px;
    min-height:360px;
  }
}


/* =====================================================
   Independent Detective — Compact Research Statistics Link
===================================================== */

.id-top-stats-wrap{
  display:none;

  width:100%;
  box-sizing:border-box;

  margin:0 !important;
  padding:0 20px 10px;

  background:transparent !important;
  border:none !important;

  position:relative;
  z-index:50;
}

.id-top-stats-wrap.is-positioned{
  display:block;
}

/*
 * Main statistics panel
 * Aligned to the same maximum width as the page content.
 */
.id-top-stats-panel{
  display:flex !important;
  flex-direction:column;
  align-items:center;
  gap:8px;

  width:100% !important;
  max-width:1480px !important;
  box-sizing:border-box;

  margin:0 auto !important;
  padding:11px 14px !important;

  background:linear-gradient(
    180deg,
    #151719,
    #0e0f10
  ) !important;

  color:#fff !important;

  border:1px solid #303335 !important;
  border-top:none !important;
  border-radius:0 0 14px 14px !important;

  box-shadow:0 7px 18px rgba(0,0,0,.18) !important;

  text-decoration:none !important;
}

.id-top-stats-panel:hover{
  background:linear-gradient(
    180deg,
    #1b1d1f,
    #111315
  ) !important;

  color:#fff !important;
  text-decoration:none !important;
}

/* Research-center invitation */
.id-top-stats-message{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  justify-content:center;
  gap:4px 8px;

  width:100%;

  text-align:center;
}

.id-top-stats-message strong{
  color:#f2c94c !important;

  font-size:.78rem !important;
  font-weight:900 !important;
  line-height:1.3 !important;

  letter-spacing:.025em;
}

.id-top-stats-message span{
  color:#d4d8da !important;

  font-size:.7rem !important;
  font-weight:500 !important;
  line-height:1.4 !important;
}

/* Statistics row */
.id-top-stats-inner{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:6px;

  width:100%;
  max-width:100%;

  margin:0;
}

/* Statistic pills */
.id-top-stats-panel .id-top-stat-pill{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  gap:5px;

  width:auto !important;
  max-width:100% !important;

  margin:0 !important;
  padding:5px 10px !important;

  background:linear-gradient(
    180deg,
    #292b2d,
    #1a1b1c
  ) !important;

  color:#f5f5f5 !important;

  border:1px solid #37393b !important;
  border-radius:999px !important;

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.04),
    0 1px 3px rgba(0,0,0,.25) !important;

  font-size:.72rem !important;
  font-weight:500 !important;
  line-height:1.25 !important;

  white-space:nowrap !important;
}

.id-top-stats-panel .id-top-stat-pill span{
  color:#f2f2f2 !important;
  font-weight:500 !important;
}

.id-top-stats-panel .id-top-stat-pill strong{
  color:#f2c500 !important;
  font-weight:900 !important;
}

/* Total Cases distinction */
.id-top-stats-panel .id-top-stat-total{
  background:linear-gradient(
    180deg,
    #347096,
    #254c65
  ) !important;

  border-color:#4b86a8 !important;
}

.id-top-stats-panel .id-top-stat-total strong{
  color:#fff !important;
}

/* Interaction */
.id-top-stats-panel:hover .id-top-stat-pill{
  border-color:#4b4e50 !important;
}

.id-top-stats-panel:focus-visible{
  outline:3px solid #f2c500 !important;
  outline-offset:3px;
}

/* =====================================================
   Desktop
===================================================== */

@media (min-width:1001px){

  .id-top-stats-wrap{
    padding-right:28px;
    padding-left:28px;
  }

  .id-top-stats-panel{
    width:100% !important;
    max-width:1480px !important;
  }
}

/* =====================================================
   Tablet
===================================================== */

@media (min-width:701px) and (max-width:1000px){

  .id-top-stats-wrap{
    padding:0 14px 10px;
  }

  .id-top-stats-panel{
    width:100% !important;
    max-width:100% !important;

    margin:0 auto !important;
    padding:10px 12px !important;
  }

  .id-top-stats-message{
    justify-content:center;
    text-align:center;
  }

  .id-top-stats-inner{
    justify-content:center;
  }

  .id-top-stats-panel .id-top-stat-pill{
    padding:5px 9px !important;
    font-size:.69rem !important;
  }
}

/* =====================================================
   Mobile
===================================================== */

@media (max-width:700px){

  .id-top-stats-wrap{
    padding:0 8px 9px;
  }

  .id-top-stats-panel{
    width:100% !important;
    max-width:100% !important;

    margin:0 auto !important;
    padding:9px 8px !important;

    border-radius:0 0 12px 12px !important;
  }

  .id-top-stats-message{
    display:block;
    text-align:center;
  }

  .id-top-stats-message strong{
    display:block;
    margin-bottom:3px;

    font-size:.72rem !important;
  }

  .id-top-stats-message span{
    display:block;

    max-width:520px;
    margin:0 auto;

    font-size:.65rem !important;
  }

  .id-top-stats-inner{
    justify-content:center;
    gap:5px;
  }

  .id-top-stats-panel .id-top-stat-pill{
    padding:5px 8px !important;
    font-size:.65rem !important;
  }
}

/* =====================================================
   Very narrow phones
===================================================== */

@media (max-width:420px){

  .id-top-stats-wrap{
    padding-right:5px;
    padding-left:5px;
  }

  .id-top-stats-panel{
    padding:8px 6px !important;
  }

  .id-top-stats-message span{
    font-size:.61rem !important;
  }

  .id-top-stats-panel .id-top-stat-pill{
    padding:4px 7px !important;
    font-size:.6rem !important;
  }
}


/* =====================================================
   Research Statistics Link — Close Header Gap
===================================================== */

/* Desktop */
@media (min-width:1001px){

  .id-top-stats-wrap{
    position:relative !important;
    top:-28px !important;
    margin-bottom:-28px !important;
    padding-top:0 !important;
  }

}

/* Tablet */
@media (min-width:701px) and (max-width:1000px){

  .id-top-stats-wrap{
    position:relative !important;
    top:-28px !important;
    margin-bottom:-28px !important;
    padding-top:0 !important;
  }

}

/* Mobile */
@media (max-width:700px){

  .id-top-stats-wrap{
    position:relative !important;
    top:-28px !important;
    margin-bottom:-18px !important;
    padding-top:0 !important;
  }

}


/* =====================================================
   Homepage Statistics — Limited Case Results
===================================================== */

.id-statistics-case-list-controls{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:9px;
  margin:20px 0 0;
}

.id-statistics-case-list-controls[hidden],
.id-statistics-load-more[hidden],
.id-statistics-show-fewer[hidden]{
  display:none !important;
}

.id-statistics-load-more,
.id-statistics-show-fewer{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin:0 !important;
  padding:10px 16px !important;
  border:none !important;
  border-radius:9px !important;
  font-family:inherit;
  font-size:.84rem !important;
  font-weight:800 !important;
  line-height:1.25 !important;
  cursor:pointer;
}

.id-statistics-load-more{
  background:#243447 !important;
  color:#ffffff !important;
}

.id-statistics-load-more:hover{
  background:#2f5d7c !important;
  color:#ffffff !important;
}

.id-statistics-show-fewer{
  background:#e1eaee !important;
  color:#243447 !important;
  border:1px solid #c8d7de !important;
}

.id-statistics-show-fewer:hover{
  background:#cedde4 !important;
  color:#243447 !important;
}

.id-statistics-load-more:focus-visible,
.id-statistics-show-fewer:focus-visible{
  outline:3px solid rgba(47,93,124,.25);
  outline-offset:2px;
}

@media(max-width:600px){
  .id-statistics-case-list-controls{
    display:grid;
    grid-template-columns:1fr;
  }

  .id-statistics-load-more,
  .id-statistics-show-fewer{
    width:100%;
  }
}

/* =====================================================
   CASE CALENDAR — CONSOLIDATED STRUCTURE
   Traditional seven-column calendar on every screen size.
   The PHP snippet supplies preview dialogs and busy-day panels.
===================================================== */

.id-full-case-calendar{
  width:100%;
  box-sizing:border-box;

  margin:30px 0;
  padding:30px;

  background:#f7f7f5;
  color:#444;

  border:1px solid #d9d9d9;
  border-radius:18px;

  box-shadow:0 10px 30px rgba(0,0,0,.07);

  overflow:hidden;
}

.id-calendar-header{
  margin:0 0 20px;
}

.id-calendar-label{
  margin:0 0 6px !important;

  color:#2f5d7c !important;

  font-size:.85rem !important;
  font-weight:800 !important;
  line-height:1.3 !important;

  letter-spacing:.08em;
  text-transform:uppercase;
}

.id-calendar-month-title{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:8px;

  margin:0 0 10px !important;

  color:#243447 !important;
}

.id-calendar-month-link{
  color:#243447 !important;

  border-bottom:2px solid #2f5d7c;

  font-weight:800 !important;
  text-decoration:none !important;
}

.id-calendar-month-link:hover{
  color:#2f5d7c !important;
  border-bottom-color:#3e6c89;
}

.id-calendar-year{
  color:#58616b !important;
  font-weight:600 !important;
}

.id-calendar-header > p:last-child{
  margin:0 !important;

  color:#555 !important;
  line-height:1.6 !important;
}

/* On This Day */
.id-on-this-day{
  margin:24px 0;
  padding:20px;

  background:#fff8e6;

  border:1px solid #e6d39a;
  border-left:6px solid #b88922;
  border-radius:14px;
}

.id-on-this-day h3{
  margin:0 0 14px !important;
  color:#243447 !important;
}

.id-on-this-day-card{
  display:block;

  margin:0 0 12px;
  padding:14px;

  background:#fff;
  color:#444 !important;

  border:1px solid #d9d9d9;
  border-radius:12px;

  text-decoration:none !important;
}

.id-on-this-day-card:last-child{
  margin-bottom:0;
}

.id-on-this-day-card strong{
  display:block;

  margin:0 0 6px;

  color:#243447 !important;
}

.id-on-this-day-card span{
  color:#555 !important;
  font-size:.95rem;
  line-height:1.5;
}

/* Traditional calendar structure */
.id-calendar-weekdays,
.id-calendar-grid{
  display:grid !important;
  grid-template-columns:repeat(7,minmax(0,1fr)) !important;

  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
}

.id-calendar-weekdays{
  background:#243447;
  color:#fff;

  border-radius:12px 12px 0 0;

  font-weight:800;
  text-align:center;

  overflow:hidden;
}

.id-calendar-weekdays span{
  display:block;

  min-width:0;
  padding:12px 8px;

  color:#fff !important;
}

.id-calendar-grid{
  background:#fff;

  border:1px solid #d9d9d9;
  border-top:0;
}

.id-calendar-day,
.id-empty-day{
  position:relative;

  min-width:0;
  min-height:120px;

  margin:0;
  padding:10px;

  background:#fff;

  border-right:1px solid #d9d9d9;
  border-bottom:1px solid #d9d9d9;

  overflow:hidden;
}

.id-calendar-day:nth-child(7n),
.id-empty-day:nth-child(7n){
  border-right:0;
}

.id-empty-day{
  background:#eef1f3;
}

.id-day-number{
  display:inline-flex;

  width:28px;
  height:28px;

  align-items:center;
  justify-content:center;

  margin:0 0 8px;

  background:#eef1f3;
  color:#243447;

  border-radius:50%;

  font-weight:800;
}

.id-calendar-day.id-has-case{
  background:#eef6fa;
  box-shadow:inset 4px 0 0 #2f5d7c;
}

.id-calendar-day.id-has-case .id-day-number{
  background:#2f5d7c;
  color:#fff;
}

/* Desktop remains a full traditional calendar. */
@media (min-width:1001px){

  .id-calendar-weekdays,
  .id-calendar-grid{
    gap:0 !important;
  }

  .id-calendar-day,
  .id-empty-day{
    min-height:120px !important;
    padding:10px !important;
  }

  .id-calendar-case-marker-wrap{
    display:block !important;
    width:100% !important;
  }

  /*
   * Keep the three PHP-rendered case titles visible.
   * Additional cases use the + more button.
   */
  .id-calendar-case-marker-wrap:nth-of-type(-n+3){
    display:block !important;
  }

  .id-calendar-more-desktop{
    display:block !important;
  }

  .id-calendar-more-tablet,
  .id-calendar-more-mobile{
    display:none !important;
  }
}

/* Compact wrapper spacing on tablets and phones. */
@media (max-width:1000px){

  .id-full-case-calendar{
    padding:20px;
  }
}

@media (max-width:700px){

  .id-full-case-calendar{
    margin:22px 0;
    padding:12px;
    border-radius:14px;
  }

  .id-calendar-header{
    margin-bottom:14px;
    text-align:center;
  }

  .id-calendar-label{
    font-size:.72rem !important;
  }

  .id-calendar-month-title{
    justify-content:center;
    font-size:1.25rem !important;
  }

  .id-calendar-header > p:last-child{
    font-size:.74rem !important;
  }

  .id-on-this-day{
    margin:16px 0;
    padding:15px;
  }

  .id-on-this-day-card{
    padding:10px;
  }

  .id-on-this-day-card strong{
    font-size:.84rem;
  }

  .id-on-this-day-card span{
    font-size:.7rem;
  }
}


/* =====================================================
   CASE CALENDAR — FINAL GLOBAL COMPATIBILITY OVERRIDES
   The complete layout, dialogs, responsive dots, and busy-day
   controls are supplied by the calendar PHP snippet.
===================================================== */

/*
 * Prevent broad theme/button rules from darkening case names.
 */
.id-full-case-calendar .id-calendar-case-trigger,
.id-full-case-calendar .id-calendar-case-trigger-text{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}

/*
 * Desktop and tablet case-name buttons.
 * Mobile remains controlled by the PHP snippet and becomes dots.
 */
@media (min-width:701px){

  .id-full-case-calendar .id-calendar-case-trigger{
    width:100% !important;
    margin:5px 0 !important;
    padding:7px 9px !important;

    background:#37678b !important;
    color:#ffffff !important;

    border:1px solid rgba(255,255,255,.18) !important;
    border-radius:9px !important;

    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.12),
      0 2px 5px rgba(0,0,0,.16) !important;

    font-weight:800 !important;
    line-height:1.25 !important;
    text-shadow:0 1px 1px rgba(0,0,0,.38) !important;
  }

  .id-full-case-calendar .id-calendar-case-trigger:hover,
  .id-full-case-calendar .id-calendar-case-trigger:focus-visible,
  .id-full-case-calendar .id-calendar-case-trigger[aria-expanded="true"]{
    background:#46799f !important;
    color:#ffffff !important;

    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.15),
      0 4px 9px rgba(0,0,0,.2) !important;
  }
}

/*
 * Polished current-day treatment on every screen size.
 */
.id-full-case-calendar .id-calendar-day.id-today{
  background:#fffdf5 !important;
  border-color:#d9b23d !important;
  outline:3px solid #d9b23d !important;
  outline-offset:-3px !important;

  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.55),
    0 0 12px rgba(217,178,61,.24) !important;
}

.id-full-case-calendar .id-calendar-day.id-today .id-day-number{
  background:#d9b23d !important;
  color:#ffffff !important;
}