@font-face { font-family: 'Campus Poppins'; src: url('fonts/Poppins-Medium.ttf') format('truetype'); font-style: normal; font-weight: 500; font-display: swap; }
.campus-availability { display: inline-flex; align-items: center; box-sizing: border-box; max-width: 100%; padding: 3px 6px; border-radius: 20px; font-family: 'Campus Poppins', Poppins, sans-serif; font-size: 9px; font-weight: 500; line-height: 1.4; }
.campus-availability.is-available { color: #19633e; background: #e9f6ee; }
.campus-availability.is-soon { color: #8a4b09; background: #fff1dd; }
.campus-profile-availability .campus-availability {
    padding: 5px var(--wp--preset--spacing--20, 10px);
    font-size: var(--wp--preset--font-size--small, 0.875rem);
}
.campus-catalogue-cta { display: inline-block; }
.campus-catalogue-cta::after {
    content: "";
    display: inline-block;
    width: 1em;
    height: 1em;
    margin-inline-start: .45em;
    vertical-align: -.125em;
    background-color: currentColor;
    forced-color-adjust: none;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14 4h6v6m0-6-9 9m6-1v7a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V8a1 1 0 0 1 1-1h7' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}
.campus-catalogue-cta-preview { display: table; }
.campus-catalogue-cta-preview.has-text-align-center { margin-inline: auto; }
.campus-catalogue-cta-preview.has-text-align-left { margin-inline: 0 auto; }
.campus-catalogue-cta-preview.has-text-align-right { margin-inline: auto 0; }
.campus-catalogue-filters { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); gap: 1rem; margin-block: 2rem; }
.campus-catalogue-filters label { display: flex; flex-direction: column; gap: .4rem; }
.campus-catalogue-filters input, .campus-catalogue-filters select { box-sizing: border-box; width: 100%; max-width: 100%; padding: .65rem; font: inherit; border: 1px solid currentColor; border-radius: .2rem; color: inherit; background: transparent; }
.campus-filter-actions { display: flex; gap: 1rem; align-items: center; flex-wrap: wrap; }
.campus-profile-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); gap: 1.5rem; }
.campus-profile-card { padding: 1.25rem; border: 1px solid #aaa; border-radius: .5rem; overflow-wrap: anywhere; }
.campus-profile-card img, .campus-field-photo_url img { object-fit: cover; border-radius: .5rem; max-width: 100%; height: auto; aspect-ratio: 1; }
.campus-profile-field, .campus-profile-availability-text { overflow-wrap: anywhere; }
.campus-profile-faq details { padding-block: 1rem; border: 0; }
.campus-profile-faq summary { cursor: pointer; font-weight: 600; }
.campus-catalogue-pagination { display: flex; gap: 1rem; justify-content: space-between; flex-wrap: wrap; margin-block: 2rem; }
.campus-breadcrumbs { margin-block: 1rem; font-size: .875em; }
.campus-breadcrumbs ol { display: flex; flex-wrap: wrap; gap: .35em .5em; list-style: none; margin: 0; padding: 0; }
.campus-breadcrumbs li { display: flex; align-items: baseline; gap: .5em; min-width: 0; overflow-wrap: anywhere; }
.campus-breadcrumbs a { color: inherit; text-decoration: underline; }
.campus-breadcrumb-separator { opacity: .65; }
.editor-styles-wrapper .campus-block-placeholder { box-sizing: border-box; border: 1px dashed #999; padding: 5px 8px !important; margin-block: 4px !important; min-height: 0 !important; line-height: 20px !important; font-size: 13px !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* Reusable school/logo and city lists on any WordPress page. */
.campus-reference-list {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;list-style:none;padding:0;margin:24px 0;}
.campus-reference-list li {min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;}
.campus-reference-list li>a {display:flex;flex-direction:column;align-items:center;gap:10px;color:inherit;text-decoration:none;}
.campus-reference-list img {width:180px;height:90px;max-width:100%;object-fit:contain;}
.campus-reference-columns-2 {grid-template-columns:repeat(2,minmax(0,1fr));}
.campus-reference-columns-3 {grid-template-columns:repeat(3,minmax(0,1fr));}
.campus-reference-columns-5 {grid-template-columns:repeat(5,minmax(0,1fr));}
.campus-reference-columns-6 {grid-template-columns:repeat(6,minmax(0,1fr));}
@media(max-width:760px){.campus-reference-list{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:420px){.campus-reference-list{grid-template-columns:minmax(0,1fr);}}
