/* Additions layered on top of the theme's css/custom.css.
   Kept in a separate file: a project-level static/css/custom.css would
   shadow themes/premierV1/static/css/custom.css entirely and silently
   drop its rules (video sizing, .wow animations, layout backgrounds). */

/* --- topical cluster links (internal linking) --- */
.cluster-spokes{margin:2.5rem 0 1.5rem;padding-top:1.5rem;border-top:1px solid #e2e6e5;}
.cluster-spokes h2{font-size:1.35rem;margin-bottom:1rem;}
/* Scoped through the section class so these beat two theme rules that would
   otherwise win: toc.css sets `list-style-type: disc !important` on
   `.toc-content main ul li`, and `.page-template-default li` zeroes padding
   (which dropped the marker on top of the link text). */
.cluster-spokes .cluster-spokes-list{list-style:none !important;padding:0;margin:0;display:grid;gap:.9rem;}
.cluster-spokes .cluster-spokes-list li{
  list-style:none !important;list-style-type:none !important;
  padding-left:1.1rem !important;margin:0;position:relative;line-height:1.45;display:block;
}
.cluster-spokes .cluster-spokes-list li::marker{content:none;}
.cluster-spokes .cluster-spokes-list li::before{
  content:"";position:absolute;left:0;top:.55em;
  width:6px;height:6px;border-radius:50%;background:#5585cc;
}
.cluster-spokes-list a{font-weight:600;text-decoration:none;}
.cluster-spokes-list a:hover,.cluster-spokes-list a:focus{text-decoration:underline;}
.cluster-spokes-desc{display:block;font-size:.9rem;color:#5c6b68;margin-top:.15rem;}
.cluster-parent{margin:2rem 0 1rem;padding:.9rem 1.1rem;background:#f2f7f6;border-left:3px solid #5585cc;border-radius:3px;}
.cluster-parent-label{display:block;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:#5c6b68;font-weight:700;margin-bottom:.2rem;}
.cluster-parent a{font-weight:650;text-decoration:none;}
.cluster-parent a:hover,.cluster-parent a:focus{text-decoration:underline;}
.section-children{margin:2.5rem 0 1.5rem;padding-top:1.5rem;border-top:1px solid #e2e6e5;}
.section-children h2{font-size:1.35rem;margin-bottom:1rem;}
.section-children .section-children-list{list-style:none !important;padding:0;margin:0;display:grid;gap:.9rem;}
.section-children .section-children-list li{
  list-style:none !important;list-style-type:none !important;
  padding-left:1.1rem !important;margin:0;position:relative;line-height:1.45;display:block;
}
.section-children .section-children-list li::marker{content:none;}
.section-children .section-children-list li::before{
  content:"";position:absolute;left:0;top:.55em;
  width:6px;height:6px;border-radius:50%;background:#5585cc;
}
.section-children-list a{font-weight:600;text-decoration:none;}
.section-children-list a:hover,.section-children-list a:focus{text-decoration:underline;}
.section-children-desc{display:block;font-size:.9rem;color:#5c6b68;margin-top:.15rem;}
/* --- breadcrumbs: minimal inline trail on a hairline rule --- */
.breadcrumbs{
  font-family:Arial,Helvetica,sans-serif;
  font-size:13px;
  line-height:1.4;
  color:#7b8794;
  margin:.35rem 0 1.5rem;
  padding-bottom:.75rem;
  border-bottom:1px solid #e3e8ee;
}
nav.breadcrumbs ol{
  list-style:none !important;
  padding:0 !important;
  margin:0;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
}
nav.breadcrumbs ol li{
  list-style:none !important;
  list-style-type:none !important;
  margin:0;padding:0;
  display:inline-flex;
  align-items:center;
}
nav.breadcrumbs ol li::marker{content:none;}
nav.breadcrumbs li:not(:last-child):after{
  content:"/";
  margin:0 .6em;
  color:#b9c2cc;
}
.breadcrumbs a{color:#00346d;font-weight:600;text-decoration:none;}
.breadcrumbs a:hover{text-decoration:underline;}
.breadcrumbs a:focus-visible{outline:2px solid #5585cc;outline-offset:2px;border-radius:2px;}
.breadcrumbs [aria-current="page"]{
  color:#7b8794;font-weight:400;
  display:inline-block;max-width:44ch;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;
}
nav.breadcrumbs ol li:last-child{min-width:0;}
@media (max-width:575px){
  .breadcrumbs{font-size:12.5px;margin-bottom:1.15rem;padding-bottom:.6rem;}
  nav.breadcrumbs li:not(:last-child):after{margin:0 .45em;}
  .breadcrumbs [aria-current="page"]{max-width:22ch;}
}

/* --- FAQ accordion (native <details>, no Bootstrap dependency) --- */
.faq{margin:2.75rem 0 1.5rem;}
.faq > h2#faq-heading{font-size:1.5rem;margin:0 0 1.15rem;color:#00346d;padding:0;}
.faq-list{border:1px solid #dfe5ec;border-radius:8px;overflow:hidden;background:#fff;}
.faq-item + .faq-item{border-top:1px solid #dfe5ec;}

.faq-q{
  display:flex;align-items:flex-start;gap:1rem;justify-content:space-between;
  padding:1.05rem 1.25rem;cursor:pointer;
  font-weight:650;font-size:1.02rem;line-height:1.45;color:#00346d;
  list-style:none;transition:background-color .15s ease;
}
.faq-q::-webkit-details-marker{display:none;}
.faq-q::marker{content:none;}
.faq-q:hover{background:#f4f7fb;}
.faq-item[open] > .faq-q{background:#f4f7fb;}
.faq-q:focus-visible{outline:2px solid #5585cc;outline-offset:-2px;background:#f4f7fb;}
.faq-q-text{flex:1 1 auto;}

.faq-chevron{
  flex:0 0 auto;width:20px;height:20px;margin-top:.15rem;color:#5585cc;
  transition:transform .2s ease;
}
.faq-item[open] > .faq-q .faq-chevron{transform:rotate(180deg);}

.faq-a{padding:0 1.25rem 1.25rem;color:#3d4a56;line-height:1.68;}
.faq-a > :first-child{margin-top:0;}
.faq-a > :last-child{margin-bottom:0;}
.faq-a p{margin:0 0 .75rem;}
.faq-a a{color:#00346d;font-weight:600;}
.faq-a ul,.faq-a ol{margin:0 0 .75rem;padding-left:1.25rem;}

@media (max-width:575px){
  .faq-q{padding:.95rem 1rem;font-size:.98rem;}
  .faq-a{padding:0 1rem 1.1rem;}
}
@media (prefers-reduced-motion:reduce){
  .faq-q,.faq-chevron{transition:none;}
}
