/* Distinguish the active area from School's existing visual priority.
 * Keep the red indicator when its menu is open. Footer is unaffected.
 */
body.cameli .site-header .desktop-item.school-priority:not(.is-current):not([open]) > summary::after {
  background: transparent;
}

/* University enquiry: scoped enhancement of the existing native select. */
.cameli-enquiry .ce-course-search {
  margin-bottom: 20px;
}
.cameli-enquiry .ce-course-search-controls {
  display: flex;
  align-items: stretch;
  gap: 10px;
}
.cameli-enquiry .ce-course-search-controls input[type="search"] {
  flex: 1 1 14rem;
  min-width: 0;
}
.cameli-enquiry .ce-course-search-clear {
  flex: 0 0 auto;
  min-height: 48px;
  padding: 10px 14px;
  border: 1px solid #8298ab;
  border-radius: 7px;
  background: #fff;
  color: #17344d;
  font: inherit;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
}
.cameli-enquiry .ce-course-search-clear:disabled {
  color: #526475;
  cursor: default;
  background: #e9eff5;
}
.cameli-enquiry .ce-course-search-status {
  margin-top: 9px;
}

/* Moderate spacing reduction, restricted to University service intros and
 * existing offer cards. Do not change photo crops or the homepage hero.
 */
@media (min-width: 761px) {
  body.cameli.area-universita .page-intro.layout-service {
    padding-top: 30px;
    padding-bottom: 42px;
  }
}
body.cameli .cameli-offer-catalog .catalog-course-card {
  padding: 20px;
  gap: 13px;
}
body.cameli .cameli-offer-catalog .catalog-course-card h3 {
  font-size: 20px;
  line-height: 1.4;
}
@media (max-width: 520px) {
  .cameli-enquiry .ce-course-search-controls {
    flex-direction: column;
  }
  .cameli-enquiry .ce-course-search-controls input[type="search"] {
    flex-basis: auto;
  }
  .cameli-enquiry .ce-course-search-clear {
    align-self: flex-start;
  }
}

.reading-grid.cameli-student-hub-grid{display:block}body.cameli .cameli-student-hub-grid>.editorial-prose{max-width:none!important;width:100%!important}
.cameli-student-hub{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:20px;margin:28px 0}.cameli-student-hub>section{padding:20px;border:1px solid #d4dce3;border-radius:10px}.cameli-student-hub h2{font-size:1.3rem;line-height:1.35}.cameli-student-hub ul{padding-left:20px}.cameli-student-hub li{margin:16px 0}.cameli-student-hub li p{font-size:.94rem;margin:6px 0}.cameli-student-hub a{font-weight:600;text-decoration:underline;text-underline-offset:3px}.cameli-home-guides .content-card h3{font-size:1.45rem;line-height:1.35}.cameli-home-guides .content-card{min-width:0}.cameli-home-guides .content-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:760px){.cameli-home-guides .content-card-grid{grid-template-columns:1fr}}

/* Audit 2026-10-06: keep consent preferences above mobile contact actions. */
@media screen and (max-width: 760px) {
  body.cameli #cmplz-manage-consent .cmplz-manage-consent {
    left: 12px !important;
    right: auto !important;
    bottom: calc(88px + env(safe-area-inset-bottom, 0px)) !important;
    max-width: calc(100vw - 24px);
    margin: 0 !important;
  }
}

/* Audit 2026-10-05: readable comparisons inside a keyboard-focusable scroller. */
body.cameli .cameli-table-scroll {
  display: block;
  width: 100%;
  max-width: 100%;
  margin: 24px 0;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  border: 1px solid #c8d3df;
  border-radius: 10px;
  background: #fff;
  scrollbar-width: auto;
  scrollbar-color: #64788e #edf2f7;
}
body.cameli .cameli-table-scroll:focus-visible {
  outline: 3px solid #17344d;
  outline-offset: 4px;
}
body.cameli .cameli-table-scroll > table {
  width: 100%;
  min-width: 30rem;
  margin: 0;
  border-collapse: collapse;
  font-size: 1rem;
  line-height: 1.55;
}
body.cameli .cameli-table-scroll caption {
  padding: 16px 18px;
  color: #17344d;
  background: #edf2f7;
  text-align: left;
  font-weight: 700;
  caption-side: top;
}
body.cameli .cameli-table-scroll th,
body.cameli .cameli-table-scroll td {
  padding: 16px 18px;
  border: 0;
  border-bottom: 1px solid #c8d3df;
  text-align: left;
  vertical-align: top;
  white-space: normal;
  overflow-wrap: break-word;
}
body.cameli .cameli-table-scroll thead th {
  color: #fff;
  background: #17344d;
  font-weight: 700;
}
body.cameli .cameli-table-scroll tbody th {
  color: #17344d;
  background: #f4f7fa;
  font-weight: 600;
}
body.cameli .cameli-table-scroll tbody tr:last-child > * {
  border-bottom: 0;
}
/* Three guide cards remain in order; on small screens the next card peeks in.
 * Links stay in the normal keyboard order. No autoplay or hidden scrollbar.
 */
@media (max-width: 760px) {
  body.cameli .cameli-home-guides .content-card-grid {
    display: grid;
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: 87%;
    gap: 16px;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x proximity;
    scroll-padding-inline: 4px;
    padding: 4px 4px 18px;
    scrollbar-width: auto;
    scrollbar-color: #64788e #edf2f7;
  }
  body.cameli .cameli-home-guides .content-card {
    min-width: 0;
    scroll-snap-align: start;
  }
}
@media print {
  body.cameli .cameli-table-scroll { overflow: visible; }
  body.cameli .cameli-table-scroll > table { min-width: 0; }
  body.cameli .cameli-table-scroll thead th { color: #17344d; background: #edf2f7; }
  body.cameli .cameli-home-guides .content-card-grid {
    display: grid;
    grid-template-columns: 1fr;
    grid-auto-flow: row;
    grid-auto-columns: auto;
    overflow: visible;
  }
}

