/* Courses menu button style */

.sf-menu.sf-style-uva .pill-button {
  background: #232d4b;
  border-radius: 50px;
  padding: 6px 30px 8px !important;
  color: white !important;
  font-weight: normal;
  margin-top: 10px;
}

.sf-menu.sf-style-uva .pill-button:hover {
	opacity: .8;
}

.sf-menu.sf-style-uva .pill-button svg {
	margin-left: 8px;
	color: #e57200;
}

/* =====================================================
   COURSE SEARCH / LISTING (Views only)
   ===================================================== */

.course-search,
.views-exposed-form {
  display: grid;
  gap: 1rem;
  margin-bottom: 2rem;
}

.views-exposed-form input[type="search"],
.views-exposed-form input[type="text"],
.views-exposed-form select {
  width: 100%;
  padding: 0.55rem 0.75rem;
  font-size: 0.95rem;
  border-radius: 6px;
  border: 1px solid #ccc;
}

.views-exposed-form .form--inline {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 0.75rem;
  align-items: end;
}

.views-exposed-form label {
  font-size: 0.85rem;
  font-weight: 600;
  margin-bottom: 0.25rem;
}

.views-exposed-form .form-actions {
  display: flex;
  gap: 0.5rem;
}

.views-exposed-form input.form-submit {
  padding: 0.55rem 1rem;
  border-radius: 6px;
  border: none;
  background-color: #004c97;
  color: #fff;
  font-weight: 600;
}

.views-exposed-form input.form-submit:hover {
  background-color: #003b75;
}



/* =====================================================
   COURSE LISTING RESULTS (Views)
   ===================================================== */

.views-row {
  padding: 1.25rem 0;
  border-bottom: 1px solid #e5e5e5;
}

.course-listing .views-field {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.25rem;
}

.views-label {
  font-weight: 600;
  white-space: nowrap;
}

.course-listing .views-field .field-content:empty,
.course-listing .views-field:has(.field-content:empty) {
  display: none;
}

/* =====================================================
   SHARED FIELD STYLES (Nodes + Views)
   ===================================================== */

.field--name-field-semester-year {
  font-weight: 600;
}

.field--name-field-dh-required .field__item {
  display: inline-block;
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  background-color: #e0f2fe;
  color: #0369a1;
  font-size: 0.8rem;
  font-weight: 600;
}

.field--name-field-syllabus a {
  display: inline-block;
  padding: 0.35rem 0.6rem;
  border-radius: 4px;
  font-size: 0.85rem;
  background-color: #f3f4f6;
  text-decoration: none;
}

.field--name-field-syllabus a:hover {
  background-color: #e5e7eb;
}

.course-listing h3 {
  background-color: #232d4b;
    color: #ffffff;
  padding: 0.5rem 1rem;
  margin: 1.5rem 0 0.75rem;
  border-radius: 4px;
}


/* =====================================================
   COURSE PAGE (Node: Full content)
   ===================================================== */

.node--type-course .course-details {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem 2rem;
  max-width: 56rem;
  margin-top: 1.25rem;
}

.node--type-course .course-details .field {
  margin: 0;
}

.node--type-course .course-details .field__label {
  font-weight: 600;
  font-size: 0.85rem;
  display: block;
  margin-bottom: 0.15rem;
}

.node--type-course .course-details .field__item {
  font-size: 0.95rem;
}

/* Full‑width exceptions */
.node--type-course .course-details
.field--name-field-class-meeting-days-and-tim,
.node--type-course .course-details
.field--name-field-syllabus {
  grid-column: 1 / -1;
}




