/* =========================================================
   Scott Cruises Live Blog
   ========================================================= */

.sc-live-blog {
	width: 100%;
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

/* ----- Header ----- */

.sc-lb-header {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 20px;
	flex-wrap: wrap;
}

.sc-lb-title {
	margin: 0;
	font-size: 1.4em;
}

.sc-lb-status {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 10px;
	border-radius: 20px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
	white-space: nowrap;
}

.sc-lb-status--live {
	background: #e8f5e9;
	color: #2e7d32;
	border: 1px solid #a5d6a7;
}

.sc-lb-status--ended {
	background: #f5f5f5;
	color: #757575;
	border: 1px solid #e0e0e0;
}

.sc-lb-pulse {
	display: inline-block;
	width: 8px;
	height: 8px;
	background: #4caf50;
	border-radius: 50%;
	animation: sc-lb-pulse 1.5s ease infinite;
}

@keyframes sc-lb-pulse {
	0%, 100% { opacity: 1; transform: scale(1); }
	50%       { opacity: 0.5; transform: scale(1.3); }
}

/* ----- Post Form ----- */

.sc-lb-post-form {
	background: #f8f9fa;
	border: 1px solid #dee2e6;
	border-radius: 8px;
	padding: 16px;
	margin-bottom: 24px;
}

.sc-lb-post-form h3 {
	margin: 0 0 10px;
	font-size: 1em;
}

/* Title input */

.sc-lb-title-input {
	display: block;
	width: 100%;
	padding: 8px 10px;
	margin-bottom: 8px;
	font-size: 15px;
	font-weight: 600;
	border: 1px solid #ddd;
	border-radius: 4px;
	box-sizing: border-box;
	background: #fff;
	color: #333;
}

.sc-lb-title-input:focus {
	outline: none;
	border-color: #90caf9;
	box-shadow: 0 0 0 2px rgba(144, 202, 249, 0.3);
}

/* Location input */

.sc-lb-location-input,
.sc-lb-edit-location {
	display: block;
	width: 100%;
	padding: 7px 10px;
	margin-bottom: 8px;
	font-size: 13px;
	border: 1px solid #ddd;
	border-radius: 4px;
	background: #fff;
	color: #333;
	box-sizing: border-box;
}

.sc-lb-location-input:focus,
.sc-lb-edit-location:focus {
	outline: none;
	border-color: #90caf9;
}

/* ----- Type Picker (pill checkboxes) ----- */

.sc-lb-type-picker {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 10px;
}

.sc-lb-type-pill-toggle {
	display: inline-flex;
	align-items: center;
	cursor: pointer;
	user-select: none;
}

.sc-lb-type-pill-toggle input[type="checkbox"] {
	position: absolute;
	opacity: 0;
	width: 0;
	height: 0;
	pointer-events: none;
}

.sc-lb-type-pill-toggle span {
	display: inline-block;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.4px;
	text-transform: uppercase;
	padding: 3px 10px;
	border-radius: 20px;
	border: 1px solid #ddd;
	background: #f5f5f5;
	color: #888;
	transition: background 0.15s, color 0.15s, border-color 0.15s;
	white-space: nowrap;
}

.sc-lb-type-pill-toggle:hover span {
	border-color: #bbb;
	color: #555;
	background: #eee;
}

.sc-lb-type-pill-toggle span svg,
.sc-lb-type-badge svg {
	display: inline-block;
	vertical-align: -2px;
	margin-right: 6px;
	flex-shrink: 0;
}

/* Checked state per type */

.sc-lb-toggle-update input:checked + span          { background: #e3f2fd; color: #1565c0; border-color: #90caf9; }
.sc-lb-toggle-shore-excursion input:checked + span { background: #e8f5e9; color: #2e7d32; border-color: #a5d6a7; }
.sc-lb-toggle-food-beverage input:checked + span   { background: #fff3e0; color: #e65100; border-color: #ffcc80; }
.sc-lb-toggle-ship-life input:checked + span       { background: #f3e5f5; color: #6a1b9a; border-color: #ce93d8; }
.sc-lb-toggle-entertainment input:checked + span   { background: #e8eaf6; color: #283593; border-color: #9fa8da; }
.sc-lb-toggle-activities input:checked + span      { background: #e0f2f1; color: #00695c; border-color: #80cbc4; }
.sc-lb-toggle-casino input:checked + span          { background: #ecfeff; color: #164e63; border-color: #67e8f9; }
.sc-lb-toggle-stateroom input:checked + span       { background: #eceff1; color: #37474f; border-color: #b0bec5; }
.sc-lb-toggle-weather-alert input:checked + span   { background: #ffebee; color: #c62828; border-color: #ef9a9a; }
.sc-lb-toggle-video input:checked + span           { background: #fff8e1; color: #f57f17; border-color: #ffe082; }

/* Restore TinyMCE button appearance when theme resets override the skin CSS */

.sc-live-blog .mce-toolbar .mce-btn button {
	background: #f7f7f7;
	border: 1px solid #ddd;
	border-radius: 3px;
	padding: 0;
	margin: 0;
}

.sc-live-blog .mce-toolbar .mce-btn:hover button,
.sc-live-blog .mce-toolbar .mce-btn.mce-active button {
	background: #ededed;
	border-color: #999;
}

/* Editor loading state */

.sc-lb-editor-loading {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 60px;
	color: #999;
	font-size: 13px;
	gap: 8px;
}

.sc-lb-editor-loading::before {
	content: '';
	display: inline-block;
	width: 14px;
	height: 14px;
	border: 2px solid #ddd;
	border-top-color: #1565c0;
	border-radius: 50%;
	animation: sc-lb-spin 0.7s linear infinite;
}

@keyframes sc-lb-spin {
	to { transform: rotate(360deg); }
}

/* ----- Schedule UI ----- */

.sc-lb-schedule-label {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	color: #555;
	cursor: pointer;
	user-select: none;
}

.sc-lb-schedule-fields {
	display: none;
	margin-top: 8px;
}

.sc-lb-schedule-fields.is-visible {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}

.sc-lb-schedule-input-label {
	display: flex;
	flex-direction: column;
	gap: 3px;
	font-size: 11px;
	font-weight: 700;
	color: #888;
	text-transform: uppercase;
	letter-spacing: 0.3px;
}

.sc-lb-schedule-date,
.sc-lb-schedule-time,
.sc-lb-scheduled-date-edit,
.sc-lb-scheduled-time-edit {
	border: 1px solid #ddd;
	border-radius: 4px;
	padding: 6px 8px;
	font-size: 14px;
	background: #fff;
	color: #333;
	min-width: 0;
}

.sc-lb-schedule-date:focus,
.sc-lb-schedule-time:focus,
.sc-lb-scheduled-date-edit:focus,
.sc-lb-scheduled-time-edit:focus {
	outline: none;
	border-color: #90caf9;
}

@media (max-width: 480px) {
	.sc-lb-schedule-fields.is-visible {
		flex-direction: column;
		align-items: stretch;
	}
	.sc-lb-schedule-input-label {
		width: 100%;
	}
	.sc-lb-schedule-date,
	.sc-lb-schedule-time {
		width: 100%;
		box-sizing: border-box;
		font-size: 16px; /* prevents iOS zoom on focus */
	}
}

.sc-lb-schedule-tz {
	font-size: 12px;
	color: #999;
	font-style: italic;
}

/* ----- Scheduled entries in feed ----- */

.sc-lb-entry--scheduled {
	background: #fff5f5;
	border-color: #fca5a5;
}

.sc-lb-entry--scheduled:hover {
	box-shadow: 0 2px 8px rgba(220, 38, 38, 0.1);
}

.sc-lb-scheduled-badge {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-size: 11px;
	font-weight: 700;
	color: #b91c1c;
	background: #fee2e2;
	border: 1px solid #fca5a5;
	border-radius: 3px;
	padding: 2px 8px;
	margin-bottom: 10px;
	text-transform: uppercase;
	letter-spacing: 0.4px;
}

.sc-lb-sched-actions {
	display: flex;
	gap: 8px;
	margin-top: 12px;
	padding-top: 10px;
	border-top: 1px solid #fca5a5;
	flex-wrap: wrap;
	align-items: center;
}

.sc-lb-edit-scheduled {
	background: none;
	border: 1px solid #90caf9;
	border-radius: 3px;
	color: #1565c0;
	font-size: 12px;
	cursor: pointer;
	padding: 3px 10px;
	transition: background 0.15s;
}

.sc-lb-edit-scheduled:hover {
	background: #e3f2fd;
}

.sc-lb-cancel-scheduled {
	background: none;
	border: 1px solid #fca5a5;
	border-radius: 3px;
	color: #b91c1c;
	font-size: 12px;
	cursor: pointer;
	padding: 3px 10px;
	transition: background 0.15s;
}

.sc-lb-cancel-scheduled:hover {
	background: #fee2e2;
}

.sc-lb-close-scheduled-edit {
	background: none;
	border: 1px solid #ccc;
	border-radius: 3px;
	color: #555;
	font-size: 12px;
	cursor: pointer;
	padding: 3px 10px;
}

.sc-lb-close-scheduled-edit:hover {
	border-color: #999;
	color: #333;
}

/* ----- Scheduled entry inline edit ----- */

.sc-lb-scheduled-reschedule {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	margin-top: 8px;
}

/* ----- Schedule Notice ----- */

.sc-lb-schedule-notice {
	background: #e8f5e9;
	border: 1px solid #a5d6a7;
	border-radius: 6px;
	color: #2e7d32;
	font-size: 14px;
	font-weight: 600;
	padding: 12px 16px;
	margin-bottom: 12px;
}

/* Form actions row */

.sc-lb-form-actions {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 10px;
	flex-wrap: wrap;
}

.sc-lb-pin-label {
	display: flex;
	align-items: center;
	gap: 5px;
	font-size: 13px;
	cursor: pointer;
	user-select: none;
}

.sc-lb-submit-btn {
	margin-left: auto;
}

/* ----- Sort / Filter Controls ----- */

.sc-lb-controls {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-bottom: 12px;
}

.sc-lb-sort-controls {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	align-self: flex-end;
}

.sc-lb-sort-label {
	color: #888;
}

.sc-lb-sort-btn {
	background: none;
	border: 1px solid #ddd;
	border-radius: 4px;
	padding: 3px 10px;
	font-size: 12px;
	cursor: pointer;
	color: #666;
	transition: border-color 0.15s, color 0.15s, background 0.15s;
}

.sc-lb-sort-btn:hover {
	border-color: #90caf9;
	color: #1565c0;
	background: #e3f2fd;
}

.sc-lb-sort-btn.active {
	border-color: #90caf9;
	color: #1565c0;
	background: #e3f2fd;
	font-weight: 600;
}

/* ----- New Entries Bar ----- */

.sc-lb-new-entries-bar {
	margin-bottom: 16px;
}

.sc-lb-load-new {
	display: block;
	width: 100%;
	padding: 10px;
	background: #e3f2fd;
	border: 1px solid #90caf9;
	border-radius: 6px;
	color: #1565c0;
	font-weight: 600;
	cursor: pointer;
	text-align: center;
	font-size: 14px;
	transition: background 0.2s;
}

.sc-lb-load-new:hover {
	background: #bbdefb;
}

/* ----- Feed ----- */

.sc-lb-feed {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

/* ----- Entry ----- */

.sc-lb-entry {
	background: #fff;
	border: 1px solid #e0e0e0;
	border-radius: 8px;
	padding: 16px;
	position: relative;
	transition: box-shadow 0.2s;
}

.sc-lb-entry:hover {
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.07);
}

.sc-lb-entry--pinned {
	border-color: #ffc107;
	background: #fffde7;
	box-shadow: 0 2px 8px rgba(255, 193, 7, 0.2);
}

.sc-lb-pin-badge {
	display: inline-block;
	font-size: 11px;
	font-weight: 700;
	color: #f57f17;
	background: #fff8e1;
	border: 1px solid #ffe082;
	border-radius: 3px;
	padding: 1px 6px;
	margin-bottom: 8px;
	letter-spacing: 0.5px;
	text-transform: uppercase;
}

/* ----- Entry Badges (type) ----- */

.sc-lb-entry-badges {
	display: flex;
	align-items: center;
	gap: 6px;
	flex-wrap: wrap;
	margin-bottom: 8px;
}

.sc-lb-type-badge {
	display: inline-block;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.4px;
	text-transform: uppercase;
	padding: 2px 8px;
	border-radius: 20px;
	white-space: nowrap;
}

/* Type colours */
.sc-lb-type-update          { background: #e3f2fd; color: #1565c0; border: 1px solid #90caf9; }
.sc-lb-type-shore-excursion { background: #e8f5e9; color: #2e7d32; border: 1px solid #a5d6a7; }
.sc-lb-type-food-beverage   { background: #fff3e0; color: #e65100; border: 1px solid #ffcc80; }
.sc-lb-type-ship-life       { background: #f3e5f5; color: #6a1b9a; border: 1px solid #ce93d8; }
.sc-lb-type-entertainment   { background: #e8eaf6; color: #283593; border: 1px solid #9fa8da; }
.sc-lb-type-activities      { background: #e0f2f1; color: #00695c; border: 1px solid #80cbc4; }
.sc-lb-type-casino          { background: #ecfeff; color: #164e63; border: 1px solid #67e8f9; }
.sc-lb-type-stateroom       { background: #eceff1; color: #37474f; border: 1px solid #b0bec5; }
.sc-lb-type-weather-alert   { background: #ffebee; color: #c62828; border: 1px solid #ef9a9a; }
.sc-lb-type-video           { background: #fff8e1; color: #f57f17; border: 1px solid #ffe082; }

/* ----- Entry Meta ----- */

.sc-lb-entry-meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	margin-bottom: 12px;
	flex-wrap: wrap;
}

/* Meta pill — white background, blue border */

.sc-lb-meta-pill {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	background: #fff;
	border: 1px solid #90caf9;
	border-radius: 20px;
	padding: 3px 10px 3px 8px;
	min-height: 26px;
}

.sc-lb-meta-pill--located {
	padding-left: 7px;
}

.sc-lb-pin-icon {
	flex-shrink: 0;
	fill: #1565c0;
	opacity: 0.7;
	position: relative;
	top: -1px;
}

.sc-lb-time {
	font-size: 12px;
	color: #555;
	font-style: italic;
	line-height: 1.3;
}

/* ----- Entry Actions (Pin / Edit / Delete) ----- */

.sc-lb-entry-actions {
	display: flex;
	gap: 6px;
	flex-shrink: 0;
}

.sc-lb-entry-actions button {
	background: none;
	border: 1px solid #ccc;
	border-radius: 3px;
	cursor: pointer;
	font-size: 12px;
	padding: 2px 8px;
	color: #666;
	line-height: 1.5;
	transition: border-color 0.15s, color 0.15s, background 0.15s;
}

.sc-lb-toggle-pin:hover {
	border-color: #f57f17;
	color: #f57f17;
	background: #fff8e1;
}

.sc-lb-entry--pinned .sc-lb-toggle-pin {
	border-color: #f57f17;
	color: #f57f17;
	background: #fff8e1;
}

.sc-lb-delete:hover {
	border-color: #dc3232;
	color: #dc3232;
	background: #fdf2f2;
}

/* ----- Entry Content ----- */

.sc-lb-entry-content {
	font-size: 15px;
	line-height: 1.65;
	color: #333;
}

.sc-lb-entry-content p:first-child { margin-top: 0; }
.sc-lb-entry-content p:last-child  { margin-bottom: 0; }

.sc-lb-entry-image {
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	border-radius: 6px;
	margin-top: 12px;
	display: block;
	cursor: zoom-in;
}

/* ----- Share Buttons ----- */

.sc-lb-share {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-top: 10px;
	padding-top: 10px;
	border-top: 1px solid #f0f0f0;
}

.sc-lb-share-btn {
	display: inline-block;
	font-size: 11px;
	font-weight: 700;
	padding: 3px 9px;
	border-radius: 3px;
	cursor: pointer;
	text-decoration: none;
	line-height: 1.5;
	transition: opacity 0.15s;
	letter-spacing: 0.3px;
	border: 1px solid transparent;
}

.sc-lb-share-x {
	background: #000;
	color: #fff !important;
	border-color: #000;
}

.sc-lb-share-fb {
	background: #1877f2;
	color: #fff !important;
	border-color: #1877f2;
}

.sc-lb-share-copy {
	background: #f5f5f5;
	color: #555;
	border-color: #ddd;
}

.sc-lb-share-btn:hover {
	opacity: 0.85;
}

.sc-lb-share-copy.is-copied {
	background: #e8f5e9;
	color: #2e7d32;
	border-color: #a5d6a7;
}

/* ----- Inline Edit ----- */

.sc-lb-edit-textarea {
	width: 100%;
	min-height: 120px;
	padding: 8px;
	border: 1px solid #90caf9;
	border-radius: 4px;
	font-size: 14px;
	font-family: monospace;
	line-height: 1.5;
	resize: vertical;
	box-sizing: border-box;
}

.sc-lb-save-edit {
	background: #1565c0;
	color: #fff;
	border: 1px solid #1565c0;
}

.sc-lb-save-edit:hover {
	background: #0d47a1;
	border-color: #0d47a1;
	color: #fff;
}

.sc-lb-cancel-edit:hover {
	border-color: #999;
	color: #333;
}

/* ----- Recap Mode ----- */

.sc-lb-entry--recap {
	background: transparent;
	border: none;
	border-bottom: 1px solid #eee;
	border-radius: 0;
	padding: 24px 0;
	box-shadow: none !important;
}

.sc-lb-entry--recap:last-child {
	border-bottom: none;
}

/* ----- Lightbox ----- */

.sc-lb-lightbox {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 99999;
	background: rgba(0, 0, 0, 0.9);
	align-items: center;
	justify-content: center;
}

.sc-lb-lightbox.is-open {
	display: flex;
}

.sc-lb-lightbox-img {
	max-width: 92vw;
	max-height: 92vh;
	object-fit: contain;
	border-radius: 4px;
	box-shadow: 0 8px 40px rgba(0, 0, 0, 0.6);
}

.sc-lb-lightbox-close {
	position: absolute;
	top: 16px;
	right: 20px;
	background: none;
	border: none;
	color: #fff;
	font-size: 36px;
	line-height: 1;
	cursor: pointer;
	padding: 0;
	opacity: 0.8;
}

.sc-lb-lightbox-close:hover {
	opacity: 1;
}

/* ----- Media Modal — counteract theme button resets ----- */

.media-modal .media-menu-item {
	display: block;
	width: 100%;
	padding: 8px 16px;
	text-align: left;
	background: transparent;
	border: none;
	border-bottom: 4px solid transparent;
	cursor: pointer;
	font-size: 13px;
	color: #0073aa;
}

.media-modal .media-menu-item:hover {
	background: #f3f5f6;
	color: #00a0d2;
}

.media-modal .media-menu-item.active {
	background: #fff;
	border-bottom-color: #0073aa;
	color: #32373c;
	font-weight: 600;
}

.media-modal .media-router .media-menu-item {
	display: inline-block;
	width: auto;
	padding: 8px 16px;
	border: none;
	border-bottom: 4px solid transparent;
	background: transparent;
	cursor: pointer;
	font-size: 13px;
	color: #0073aa;
}

.media-modal .media-router .media-menu-item.active {
	border-bottom-color: #0073aa;
	color: #32373c;
	font-weight: 600;
}

/* ----- Misc ----- */

.sc-lb-empty {
	text-align: center;
	color: #bbb;
	padding: 32px 16px;
	font-size: 15px;
	margin: 0;
}

.sc-lb-auto-refresh {
	margin-top: 16px;
	text-align: center;
	font-size: 12px;
	color: #ccc;
}

/* ----- Blog Controls (End / Resume) ----- */

.sc-lb-blog-controls {
	margin-bottom: 16px;
}

.sc-lb-toggle-blog-status {
	background: none;
	border: 1px solid #ccc;
	border-radius: 4px;
	padding: 5px 14px;
	font-size: 12px;
	color: #666;
	cursor: pointer;
	transition: border-color 0.15s, color 0.15s, background 0.15s;
}

.sc-lb-toggle-blog-status:hover {
	border-color: #dc3232;
	color: #dc3232;
	background: #fdf2f2;
}

/* ----- Offline Bar ----- */

.sc-lb-offline-bar {
	background: #fff3cd;
	border: 1px solid #ffc107;
	border-radius: 6px;
	color: #856404;
	font-size: 13px;
	font-weight: 600;
	padding: 10px 16px;
	margin-bottom: 12px;
	text-align: center;
}

/* ----- Type Filter Bar ----- */

.sc-lb-type-filter-bar {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.sc-lb-filter-btn {
	background: none;
	border: 1px solid #ddd;
	border-radius: 20px;
	padding: 3px 12px;
	font-size: 12px;
	cursor: pointer;
	color: #666;
	transition: border-color 0.15s, color 0.15s, background 0.15s;
	white-space: nowrap;
}

.sc-lb-filter-btn:hover {
	border-color: #90caf9;
	color: #1565c0;
	background: #e3f2fd;
}

.sc-lb-filter-btn.active {
	border-color: #1565c0;
	color: #1565c0;
	background: #e3f2fd;
	font-weight: 600;
}

/* ----- Draft Notice ----- */

.sc-lb-draft-notice {
	display: flex;
	align-items: center;
	gap: 10px;
	background: #fff8e1;
	border: 1px solid #ffe082;
	border-radius: 6px;
	color: #5d4037;
	font-size: 13px;
	padding: 8px 12px;
	margin-bottom: 10px;
}

.sc-lb-dismiss-draft {
	background: none;
	border: none;
	color: #888;
	cursor: pointer;
	font-size: 13px;
	padding: 0;
	margin-left: auto;
	flex-shrink: 0;
}

.sc-lb-dismiss-draft:hover {
	color: #333;
}
