.osiri-schools-grid {
	display: grid;
	gap: 24px;
	grid-template-columns: repeat(1, 1fr);
	margin: 24px 0;
}
.osiri-schools-grid.osiri-cols-2 { grid-template-columns: repeat(2, 1fr); }
.osiri-schools-grid.osiri-cols-3 { grid-template-columns: repeat(3, 1fr); }
.osiri-schools-grid.osiri-cols-4 { grid-template-columns: repeat(4, 1fr); }

.osiri-school-card {
	border: 1px solid #e0e0e0;
	border-radius: 6px;
	padding: 24px;
	background: #fff;
}
.osiri-school-card h3 { margin-top: 0; }

.osiri-programs-grid {
	display: grid;
	gap: 20px;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	margin: 24px 0;
}
.osiri-program-card {
	border: 1px solid #e0e0e0;
	border-radius: 6px;
	padding: 20px;
	background: #fff;
}
.osiri-program-level {
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: #7a7a7a;
}
.osiri-program-card h3 { margin: 8px 0; }
.osiri-program-school { color: #555; margin: 4px 0; }
.osiri-program-credits { font-weight: 600; margin: 4px 0 0; }

.osiri-program-course-list {
	margin: 10px 0 0;
	padding-left: 18px;
	font-size: 14px;
	color: #444;
}
.osiri-program-course-list li { margin-bottom: 4px; }

.osiri-programs-table {
	width: 100%;
	border-collapse: collapse;
	margin: 24px 0;
}
.osiri-programs-table th, .osiri-programs-table td {
	text-align: left;
	padding: 10px 12px;
	border-bottom: 1px solid #e0e0e0;
}
.osiri-programs-table th { background: #f7f7f7; font-weight: 600; }
.osiri-program-courses-row td { background: #fafafa; }

@media (max-width: 782px) {
	.osiri-schools-grid.osiri-cols-2,
	.osiri-schools-grid.osiri-cols-3,
	.osiri-schools-grid.osiri-cols-4 {
		grid-template-columns: 1fr;
	}
	.osiri-programs-table thead { display: none; }
	.osiri-programs-table, .osiri-programs-table tbody, .osiri-programs-table tr, .osiri-programs-table td {
		display: block;
		width: 100%;
	}
	.osiri-programs-table tr { margin-bottom: 12px; border: 1px solid #e0e0e0; border-radius: 6px; padding: 8px 0; }
	.osiri-programs-table td { border: none; padding: 4px 12px; }
}

/* Single School/Program/Course detail block ------------------------------ */
.osiri-single-details { margin-top: 32px; }
.osiri-meta-badges { margin-bottom: 12px; }
.osiri-badge-pill {
	display: inline-block;
	background: #f0f0f1;
	color: #383a7a;
	border-radius: 20px;
	padding: 4px 14px;
	font-size: 13px;
	font-weight: 600;
	margin-right: 8px;
	margin-bottom: 6px;
}
.osiri-meta-school { color: #555; }
.osiri-detail-list { padding-left: 18px; }
.osiri-detail-list li { margin-bottom: 6px; }
.osiri-req-type { color: #888; font-size: 13px; }

/* Course title tooltips (wherever a Course's title is displayed — this
   plugin's own templates, or any other page/BeBuilder element that
   renders the title through WordPress's own the_title mechanism, or
   the Foundation Course taxonomy term list) ------------------------------ */
.osiri-course-title-tooltip {
	border-bottom: 1px dotted #999;
	cursor: help;
	outline: none;
}
/* A real, single, shared DOM element — appended directly to the page
   body by JS the moment it's needed, not nested inside whatever
   container the triggering title happens to sit in. This is what
   actually guarantees it's never invisible or cut off due to a
   parent's own overflow/width constraints (a real risk for the
   Foundation Course badge/pill-style display specifically, unlike the
   plain course list this was first built against). Fixed-positioned
   and precisely placed by JS near the element that triggered it. */
.osiri-tooltip-bubble {
	position: fixed;
	z-index: 9999;
	max-width: min(300px, 80vw);
	background: #262640;
	color: #fff;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.5;
	text-align: left;
	padding: 10px 12px;
	border-radius: 6px;
	box-shadow: 0 4px 14px rgba(0,0,0,0.18);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.15s ease, transform 0.15s ease, visibility 0.15s;
	transform: translateY(4px);
}
.osiri-tooltip-bubble.is-visible {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}
/* A real arrow/pointer, dynamically aligned via JS (see --osiri-arrow-left below) to keep pointing at the actual triggering title even when the bubble itself has shifted to stay on-screen. Flips to point downward when the bubble is shown below its title instead of above (see the JS's top-of-screen handling). */
.osiri-tooltip-bubble::after {
	content: '';
	position: absolute;
	left: var(--osiri-arrow-left, 50%);
	transform: translateX(-50%);
	border: 6px solid transparent;
}
.osiri-tooltip-bubble:not(.is-below)::after {
	top: 100%;
	border-top-color: #262640;
}
.osiri-tooltip-bubble.is-below::after {
	bottom: 100%;
	border-bottom-color: #262640;
}


.osiri-course-school-tabs { display: flex; flex-wrap: wrap; gap: 6px; border-bottom: 2px solid #e2e2e6; margin-bottom: 16px; }
.osiri-school-tab-btn { background: none; border: none; border-bottom: 3px solid transparent; padding: 8px 14px; font-size: 14px; font-weight: 600; color: #555; cursor: pointer; margin-bottom: -2px; }
.osiri-school-tab-btn:hover { color: #383a7a; }
.osiri-school-tab-btn.is-active { color: #383a7a; border-bottom-color: #383a7a; }
.osiri-school-tab-count { font-weight: 400; color: #999; font-size: 12px; }
.osiri-course-school-panel { display: none; }
.osiri-course-school-panel.is-active { display: block; }
/* This front-end table (osiri-view-table) uses <tbody> elements as its
   School-tab panels, same as the wp-admin course picker — "display:
   block" would break the table's row/column layout here too, so this
   more specific rule (by CSS specificity) overrides the generic one
   above just for this table, exactly like the separate fix already
   applied for the admin version's own table class. */
table.osiri-view-table tbody.osiri-course-school-panel { display: none; }
table.osiri-view-table tbody.osiri-course-school-panel.is-active { display: table-row-group; }
.osiri-course-row-selected { background: #eaf3ff; }
.osiri-course-row-selected td { font-weight: 600; }
@media (max-width: 480px) {
	.osiri-course-school-tabs { gap: 2px; }
	.osiri-school-tab-btn { padding: 8px 10px; font-size: 13px; }
}

/* Generic view table (portal views) --------------------------------------- */
.osiri-view-table { width: 100%; border-collapse: collapse; margin: 16px 0; }
.osiri-view-table th, .osiri-view-table td {
	text-align: left;
	padding: 10px 12px;
	border-bottom: 1px solid #e5e5e5;
	font-size: 14px;
}
.osiri-view-table th { background: #f7f7f7; font-weight: 600; }
.osiri-view-empty, .osiri-view-notice { color: #666; padding: 16px 0; }
.osiri-notice { background: #eaf7ea; border: 1px solid #b8e0b8; padding: 10px 14px; border-radius: 4px; margin-bottom: 16px; }

/* Student Dashboard — left-sidebar layout ----------------------------------- */
.osiri-dashboard-sidebar-layout {
	max-width: 1100px;
	margin: 0 auto;
	display: flex;
	gap: 28px;
	align-items: flex-start;
}
.osiri-dashboard-sidebar {
	width: 240px;
	flex-shrink: 0;
	background: #fff;
	border: 1px solid #e5e5e5;
	border-radius: 10px;
	overflow: hidden;
}
.osiri-dashboard-sidebar-user {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 6px;
	padding: 28px 16px 20px;
	background: #383a7a;
	color: #fff;
}
.osiri-dashboard-sidebar-user .osiri-dashboard-avatar { border-radius: 50%; border: 3px solid rgba(255,255,255,0.3); }
.osiri-dashboard-sidebar-user span.osiri-dashboard-avatar.dashicons {
	background: rgba(255,255,255,0.15);
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
}
.osiri-dashboard-sidebar-user .osiri-dashboard-name { font-weight: 600; font-size: 15px; }
.osiri-dashboard-sidebar-user .osiri-dashboard-date { font-size: 12px; opacity: 0.75; }
.osiri-dashboard-tabs { display: flex; flex-direction: column; padding: 8px; }
.osiri-dashboard-tabs a {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 11px 14px;
	text-decoration: none;
	color: #444;
	border-radius: 6px;
	font-size: 14px;
	font-weight: 500;
	margin-bottom: 2px;
}
.osiri-dashboard-tabs a .dashicons { font-size: 18px; width: 18px; height: 18px; opacity: 0.7; }
.osiri-dashboard-tabs a:hover { background: #f5f5f7; }
.osiri-dashboard-tabs a.is-active { background: #383a7a; color: #fff; }
.osiri-dashboard-tabs a.is-active .dashicons { opacity: 1; }

.osiri-dashboard-main { flex: 1; min-width: 0; }
.osiri-dashboard-card {
	background: #fff;
	border: 1px solid #e5e5e5;
	border-radius: 10px;
	padding: 28px;
}
.osiri-application-details-row td { background: #f7f7f7; padding: 16px !important; }

.osiri-front-form { margin-bottom: 32px; }
.osiri-form-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 14px;
	margin-bottom: 16px;
}
.osiri-form-grid label { display: flex; flex-direction: column; font-size: 13px; font-weight: 600; color: #333; gap: 4px; }
.osiri-form-grid label.osiri-span-2,
.osiri-form-grid div.osiri-span-2 { grid-column: span 2; }
.osiri-form-grid input {
	font-weight: 400;
	padding: 8px 10px;
	border: 1px solid #ccc;
	border-radius: 4px;
	font-size: 14px;
}
.osiri-avatar-row { display: flex; align-items: center; gap: 16px; margin-bottom: 16px; }
.osiri-avatar-preview { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; }
.osiri-btn {
	background: #cc5027;
	color: #fff;
	border: none;
	padding: 10px 20px;
	border-radius: 4px;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.15s ease;
}
.osiri-btn:hover { background: #a8421f; }
.osiri-btn-active { background: #cc5027; }
.osiri-btn-secondary { background: #e8e8e8; color: #333; }
.osiri-btn-secondary:hover { background: #d8d8d8; }

.osiri-program-summary { color: #666; margin-bottom: 16px; }

/* Course tooltip on Program of Study ---------------------------------------- */
.osiri-course-tooltip-table td:first-child { position: relative; }
.osiri-course-tooltip-trigger { text-decoration: none; font-weight: 600; }
.osiri-tooltip {
	display: none;
	position: absolute;
	left: 0;
	top: 100%;
	z-index: 10;
	background: #383a7a;
	color: #fff;
	padding: 10px 14px;
	border-radius: 6px;
	font-size: 13px;
	font-weight: 400;
	max-width: 320px;
	line-height: 1.4;
	margin-top: 4px;
}
.osiri-course-tooltip-trigger:hover + .osiri-tooltip,
.osiri-course-tooltip-trigger:focus + .osiri-tooltip {
	display: block;
}

@media (max-width: 782px) {
	.osiri-dashboard-sidebar-layout { flex-direction: column; }
	.osiri-dashboard-sidebar { width: 100%; position: static; }
	.osiri-dashboard-sidebar-user { flex-direction: row; text-align: left; padding: 16px; }
	.osiri-dashboard-tabs { flex-direction: row; overflow-x: auto; padding: 6px; }
	.osiri-dashboard-tabs a { flex-shrink: 0; white-space: nowrap; }
	.osiri-dashboard-card { padding: 18px; }
}

@media (max-width: 600px) {
	.osiri-form-grid { grid-template-columns: 1fr; }
	.osiri-form-grid label.osiri-span-2,
	.osiri-form-grid div.osiri-span-2 { grid-column: span 1; }
	.osiri-view-table, .osiri-view-table thead, .osiri-view-table tbody, .osiri-view-table th, .osiri-view-table td, .osiri-view-table tr {
		display: block;
	}
	.osiri-view-table thead tr { position: absolute; top: -9999px; left: -9999px; }
	.osiri-view-table tr { margin-bottom: 12px; border: 1px solid #e5e5e5; border-radius: 6px; }
	.osiri-view-table td { padding-left: 46%; position: relative; text-align: left; }
	.osiri-view-table td[data-label]:before {
		content: attr(data-label);
		position: absolute;
		left: 12px;
		width: 40%;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		font-weight: 600;
		color: #383a7a;
	}
	.osiri-tooltip { position: static; margin-top: 6px; display: block; }
}

/* Enroll button ------------------------------------------------------------ */
.osiri-enroll-button {
	display: inline-block;
	background: #383a7a;
	color: #fff;
	text-decoration: none;
	padding: 12px 28px;
	border-radius: 4px;
	font-weight: 600;
	font-size: 15px;
	transition: background 0.15s ease;
}
.osiri-enroll-button:hover { background: #2a2c5c; color: #fff; }

/* Checkout — WooCommerce-style two-column layout ---------------------------- */
.osiri-checkout {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
	max-width: 1000px;
	margin: 0 auto;
	align-items: start;
}
.osiri-checkout-summary {
	background: #f7f7f7;
	border: 1px solid #e5e5e5;
	border-radius: 8px;
	padding: 24px;
}
.osiri-checkout-item { display: flex; gap: 16px; margin-bottom: 20px; }
.osiri-checkout-thumb { width: 100px; height: 100px; object-fit: cover; border-radius: 6px; flex-shrink: 0; }
.osiri-checkout-item-details h3 { margin: 0 0 4px; }
.osiri-checkout-code { color: #888; font-size: 13px; margin: 0 0 6px; }
.osiri-checkout-excerpt { color: #555; font-size: 14px; margin: 0; }
.osiri-checkout-totals { width: 100%; border-collapse: collapse; }
.osiri-checkout-totals td { padding: 10px 0; border-top: 1px solid #e0e0e0; }
.osiri-checkout-totals td:last-child { text-align: right; }
.osiri-checkout-total-row td { border-top: 2px solid #383a7a; font-size: 18px; padding-top: 14px; }
.osiri-checkout-form { background: #fff; border: 1px solid #e5e5e5; border-radius: 8px; padding: 24px; }
.osiri-checkout-form h2 { margin-top: 0; }

@media (max-width: 782px) {
	.osiri-checkout { grid-template-columns: 1fr; }
}

/* Reports ------------------------------------------------------------------ */
.osiri-report-toolbar { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px; gap: 12px; flex-wrap: wrap; }
.osiri-report-search { padding: 8px 12px; border: 1px solid #ccc; border-radius: 4px; min-width: 220px; }
.osiri-report-export { padding: 8px 16px; }
.osiri-report-summary { display: flex; flex-wrap: wrap; gap: 16px; margin-bottom: 20px; }
.osiri-report-summary-item {
	background: #f7f7f7;
	border: 1px solid #e5e5e5;
	border-radius: 6px;
	padding: 12px 18px;
	min-width: 140px;
}
.osiri-report-summary-item span { display: block; font-size: 12px; color: #777; text-transform: uppercase; letter-spacing: 0.02em; margin-bottom: 4px; }
.osiri-report-summary-item strong { font-size: 20px; color: #383a7a; }
.osiri-report-table th.osiri-report-sortable:hover { background: #ececec; }

/* Transcript ----------------------------------------------------------------- */
.osiri-transcript { max-width: 800px; margin: 0 auto; background: #fff; padding: 32px; border: 1px solid #e5e5e5; border-radius: 8px; }
.osiri-transcript-header { text-align: center; margin-bottom: 24px; border-bottom: 2px solid #383a7a; padding-bottom: 16px; }
.osiri-transcript-header h1 { margin: 0 0 4px; color: #383a7a; }
.osiri-transcript-header h2 { margin: 0 0 12px; font-weight: 500; color: #555; }
@media print {
	.osiri-dashboard-sidebar, .osiri-transcript button { display: none !important; }
	.osiri-transcript { border: none; box-shadow: none; }
	/* Print only the transcript itself — hides the WordPress admin bar
	   and the theme's own site header/footer/nav wherever they appear,
	   so printing a transcript never includes site chrome around it.
	   Only relevant for the legacy HTML fallback view (a pre-generated
	   PDF, which is now the normal case, has no such concern at all
	   since it's a standalone file). */
	#wpadminbar,
	body > header, body > footer, body > nav,
	.site-header, .site-footer, .site-navigation,
	#header, #footer, #masthead, #colophon {
		display: none !important;
	}
}

/* Checkout — hides the required GF Product field visually (its price is already shown in Order Summary); apply this as the field's "Custom CSS Class" in Gravity Forms */
.osiri-checkout-form .osiri-hide-product,
.osiri-checkout-form .gfield.osiri-hide-product,
.osiri-checkout-form li.osiri-hide-product {
	display: none !important;
}
.osiri-checkout-setup-help {
	background: #fff8e1;
	border: 1px solid #ffe082;
	border-radius: 6px;
	padding: 16px 20px;
	margin-top: 16px;
	font-size: 14px;
}
.osiri-checkout-setup-help h3 { margin-top: 0; }
.osiri-checkout-setup-help code { background: #fff; padding: 1px 6px; border-radius: 3px; }

/* Portal hub navigation (Faculty/Staff/Admin dashboard root pages) --------- */
.osiri-portal-menu {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 20px;
}
.osiri-portal-menu a {
	display: flex;
	align-items: center;
	gap: 8px;
	background: #fff;
	border: 1px solid #e5e5e5;
	border-radius: 8px;
	padding: 14px 20px;
	text-decoration: none;
	color: #383a7a;
	font-weight: 600;
	font-size: 14px;
	transition: background 0.15s ease, border-color 0.15s ease;
}
.osiri-portal-menu a:hover { background: #f5f5f7; border-color: #383a7a; }
.osiri-portal-menu a .dashicons { opacity: 0.7; }

/* Front-end CRUD ------------------------------------------------------------ */
.osiri-frontend-crud { max-width: 100%; }
.osiri-crud-toolbar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	margin-bottom: 16px;
	flex-wrap: wrap;
}
.osiri-crud-toolbar form { display: flex; gap: 8px; }
.osiri-crud-toolbar input[type="search"] { padding: 8px 12px; border: 1px solid #ccc; border-radius: 4px; min-width: 220px; }

/* Dashboard home stat cards -------------------------------------------------- */
.osiri-dashboard-stats {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin: 20px 0;
}
.osiri-stat-card {
	background: #f7f7f7;
	border: 1px solid #e5e5e5;
	border-radius: 8px;
	padding: 16px 22px;
	min-width: 130px;
	text-align: center;
}
.osiri-stat-card-warning { background: #fff8e1; border-color: #ffe082; }
.osiri-stat-value { display: block; font-size: 26px; font-weight: 700; color: #383a7a; }
.osiri-stat-label { display: block; font-size: 12px; color: #777; text-transform: uppercase; letter-spacing: 0.02em; margin-top: 4px; }

.osiri-portal-menu a.is-active { background: #383a7a; color: #fff; border-color: #383a7a; }

/* Events ---------------------------------------------------------------------- */
.osiri-events-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 20px;
}
.osiri-event-card {
	background: #fff;
	border: 1px solid #e5e5e5;
	border-radius: 8px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
}
.osiri-event-thumb { width: 100%; height: 150px; object-fit: cover; display: block; }
.osiri-event-card-body { padding: 16px; display: flex; flex-direction: column; flex: 1; }
.osiri-event-date { font-size: 12px; font-weight: 700; color: #383a7a; text-transform: uppercase; letter-spacing: 0.03em; }
.osiri-event-card-body h3 { margin: 6px 0; font-size: 17px; }
.osiri-event-card-body h3 a { color: inherit; text-decoration: none; }
.osiri-event-location { color: #666; font-size: 13px; margin: 0 0 8px; }
.osiri-event-card-body .osiri-btn { margin-top: auto; align-self: flex-start; }
.osiri-single-event .osiri-meta-badges { margin-bottom: 20px; }
.osiri-notice-success { background: #e8f5e9; border-color: #a5d6a7; color: #256029; }
.osiri-notice-dismissible { position: relative; padding-right: 40px; }
.osiri-notice-close {
	position: absolute;
	top: 6px;
	right: 8px;
	background: none;
	border: none;
	font-size: 20px;
	line-height: 1;
	cursor: pointer;
	color: inherit;
	opacity: 0.6;
	padding: 4px;
}
.osiri-notice-close:hover { opacity: 1; }

.osiri-dashboard-panel-heading { display: flex; align-items: center; gap: 10px; margin-bottom: 18px; padding-bottom: 12px; border-bottom: 2px solid #eee; }
.osiri-dashboard-panel-heading .dashicons { font-size: 26px; width: 26px; height: 26px; color: #383a7a; }
.osiri-dashboard-panel-heading h1 { margin: 0; font-size: 22px; color: #383a7a; }

/* Program Progress Tracker ---------------------------------------------------- */
.osiri-progress-tracker { margin: 12px 0 20px; }
.osiri-progress-bar-track { width: 100%; height: 16px; background: #eee; border-radius: 8px; overflow: hidden; }
.osiri-progress-bar-fill { height: 100%; background: #cc5027; border-radius: 8px; transition: width 0.3s ease; }
.osiri-progress-stats { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 8px; font-size: 13px; color: #555; }
.osiri-progress-stats strong { color: #383a7a; font-size: 15px; }

.osiri-dashboard-canvas-login { padding: 0 16px 16px; text-align: center; }
.osiri-dashboard-canvas-login .osiri-btn { width: 100%; box-sizing: border-box; }
.osiri-dashboard-canvas-login .osiri-view-notice { font-size: 12px; margin: 0; padding: 8px; }

.osiri-checklist { display: flex; flex-wrap: wrap; gap: 6px 18px; border: 1px solid #ddd; border-radius: 6px; padding: 10px 14px; margin: 6px 0; max-height: 160px; overflow-y: auto; }
.osiri-checklist label { display: inline-flex; flex-direction: row; align-items: center; gap: 4px; font-weight: normal; }

.osiri-ajax-search { position: relative; display: inline-block; }
.osiri-ajax-search-results { position: absolute; top: 100%; left: 0; z-index: 100; background: #fff; border: 1px solid #ccc; border-radius: 4px; box-shadow: 0 2px 8px rgba(0,0,0,0.15); max-height: 220px; overflow-y: auto; min-width: 260px; }
.osiri-ajax-search-result { padding: 8px 12px; cursor: pointer; }
.osiri-ajax-search-result:hover { background: #f0f0f0; }
.osiri-ajax-search-empty { padding: 8px 12px; color: #888; font-style: italic; }

.osiri-upload-tree-wrap { max-height: 420px; overflow-y: auto; border: 1px solid #ddd; border-radius: 6px; padding: 14px 18px; margin-bottom: 24px; background: #fafafa; }
.osiri-upload-tree { list-style: none; margin: 0; padding-left: 0; }
.osiri-upload-tree .osiri-upload-tree { padding-left: 22px; margin-top: 4px; }
.osiri-upload-tree li { padding: 3px 0; }
.osiri-upload-tree .dashicons { font-size: 16px; width: 16px; height: 16px; vertical-align: text-bottom; color: #888; }

.osiri-file-manager { border: 1px solid #ddd; border-radius: 6px; padding: 16px; background: #fff; }
.osiri-fm-toolbar { margin-bottom: 12px; display: flex; align-items: center; gap: 8px; }
.osiri-fm-breadcrumbs { margin-bottom: 12px; padding: 8px 12px; background: #f6f7f7; border-radius: 4px; }
.osiri-fm-breadcrumbs a { text-decoration: none; }
.osiri-fm-list { min-height: 120px; }
.osiri-fm-list.osiri-fm-dragover { outline: 2px dashed #2271b1; outline-offset: -4px; background: #f0f6fc; }
.osiri-fm-list .dashicons { color: #888; vertical-align: text-bottom; }

.osiri-checkout-remove-item { display: inline-block; color: #a00; text-decoration: none; font-weight: bold; font-size: 16px; line-height: 1; margin-right: 4px; }
.osiri-checkout-remove-item:hover { color: #dc3232; }
