/* ───────── Typography: classic, consistent serif stack ───── */
html, body{
  font-family: Georgia, "Times New Roman", Times, serif !important;
  font-size: 16px;
  line-height: 1.6;
}
h1, h2, h3, h4, h5, h6{
  font-family: inherit !important;
  font-weight: 700;
  line-height: 1.25;
}
p, li, a, button, input, textarea, select,
.nav-link, .navbar, .brand-text, .btn{
  font-family: inherit !important;
}

/* ───────── Sticky header skeleton ─────────────────────────── */
header{
  position:sticky;
  top:0;
  left:0;
  width:100%;
  z-index:999;
  background:#fff;                 /* keep nav readable */
}

/* ─── Icons inside top-bar links ─── */
.bi.phone,
.bi.email{ font-size:.9rem; }

/* Default (desktop) top-bar spacing */
.top-header{ padding-top:.5rem; padding-bottom:.5rem; }

/* ─────────────────────────────────────────────────────────────
   COMPACT MOBILE HEADER
   targets ≤576 px and appears *after* all other rules so it wins
   ─────────────────────────────────────────────────────────── */
@media (max-width:576px){
    /* ••• top bar ••• */
    .top-header{ padding:.25rem 0 !important; }
    .contact-top-information{ gap:.5rem; flex-wrap:nowrap; }
    .contact-top-information a,
    .contact-top-information p{
        font-size:.75rem !important;
        line-height:1;
        white-space:nowrap;
    }
    .fa-facebook-f{ font-size:.9rem; }

    /* ••• brand row ••• */
    .navbar-details.py-2{ padding-top:.25rem !important; padding-bottom:.25rem !important; }
    .navbar-details .container{ flex-wrap:nowrap; }
    .navbar-brand img{
        height:32px !important;
        max-height:32px !important;       /* overrides desktop 70-px rule */
    }
    .brand-text{ font-size:.95rem !important; }
    .navbar-toggler{ margin-left:auto; }  /* burger stays flush-right */
}

/* ───────── Brand mark (desktop) ───────── */
.navbar-brand img{
  max-height:70px !important;
  height:auto !important;
  width:auto !important;
  display:block !important;
  margin-top:0;
}
.brand-text{
  font-size:1.25rem;
  font-weight:bold;
  color:#000;
}

/* ───────── Card hover fix ───────── */
.card:hover .card-img-top{
  filter:none !important;
  opacity:1 !important;
  background-color:rgb(181,154,109) !important;
  border:1px solid black;
}

/* ───────── Images & general tweaks ───────── */
.judge-photo{
  max-height:400px;
  width:auto;
  object-fit:cover;
}
footer{ padding-top:0 !important; }
.jury-image{
  display:block;
  max-width:100%;
  max-height:600px;
  width:auto;
  height:auto;
  object-fit:contain;
  background:#fff;
}
@media (min-width:768px){
  section{ margin-top:20px !important; }
}

/* --- Forms page heading --- */
.forms-section-heading{
  font-size:1.6rem;
  font-weight:700;
  color:#1f2d3d;
  margin-bottom:1rem;
  padding-bottom:.5rem;
  border-bottom:2px solid #ccc;
}

/* --- Court Staff (about page) --- */
.court-staff .staff-photo{
  max-width:260px;
  width:100%;
  height:auto;
  display:block;
  /* Professional portrait backdrop: warm, subtle parchment */
  background-color:#f4efe6;            /* not pure white */
  border:1px solid #e5dbc8;            /* soft edge to separate from page */
  padding:0;                            /* eliminate bottom gap against border */
  border-radius:.5rem;                 /* complement Bootstrap .rounded */
}
/* Eyebrow style for About headings (replaces animated circles) */
.about-us .section-eyebrow{
  color:#b59a6d;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.04em;
  font-size:.9rem;
}
@media (min-width:768px){
  .court-staff .staff-member{
    padding-left:0;
    padding-right:0;
  }
  .court-staff .staff-member>.col-md-4{ text-align:left; }
}

/* ───────── Hero / banner fixes ───────── */
.banner .carousel-item.active{ display:block !important; width:100%; }
.banner .carousel-item img{
  width:100% !important;
  height:auto !important;
  object-fit:cover;
}
@media (max-width:767.98px){
  .banner{ margin-top:0; margin-bottom:0 !important; }
}

/* let nav decide its own height */
header .navbar-details{ height:auto; }

/* ───────── Utility resets for service-detail lists ───────── */
.service-details li{
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  display:list-item !important;
}
.service-details ul,
.service-details ol{
  list-style-position:outside;
  list-style-type:disc;
  padding-left:1.25rem;
  margin:0 0 1rem;
}

/* ───────── Jurors FAQ (Markdown) list normalization ───────── */
#faqAccordion .accordion-body{
  font-size:.95rem;
  line-height:1.5;
}
#faqAccordion .accordion-body ul,
#faqAccordion .accordion-body ol{
  list-style-position:outside !important;
  padding-left:1.25rem !important;
  margin:0 0 1rem 1.25rem !important;
  font-size:inherit !important;
  line-height:inherit !important;
}
#faqAccordion .accordion-body ol{ list-style-type:decimal !important; }
#faqAccordion .accordion-body ul{ list-style-type:disc !important; }
#faqAccordion .accordion-body li{
  font-size:inherit !important;
  line-height:inherit !important;
  margin:0 0 .5rem !important;
  padding:0 !important;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
}
#faqAccordion .accordion-body li p{ margin:0 !important; }

/* Forms page resource items */
.service-detail .item-label,
.searchable-item strong{
  display:block;
  margin-bottom:.25rem;
  word-break:break-word;
}
.service-detail .item-link,
.resource-link{
  display:block;
  margin-bottom:.15rem;
  font-size:.95rem;
}
.service-detail .item-link:last-child,
.resource-link:last-child{ margin-bottom:0; }
.service-detail .searchable-item{
  padding-left:1rem !important;
  padding-right:1rem !important;
}

/* ───────── Calendar page tweaks ───────── */
#faqAccordion .accordion-button{ padding:.6rem 1rem; }
#faqAccordion .accordion-body{ font-size:.95rem; line-height:1.4; }
.fc-daygrid-event{ padding:2px 4px; }

/* --------------- End of file --------------- */
