/*!
 * jodit-ui-themes: Office 2010 theme for Jodit
 * https://github.com/TimurSeyidov/jodit-ui-themes
 * Released under the MIT license, see LICENSE in the project root.
 */

// Office 2010 theme, editor part: blue ribbon gradients, golden hover,
// orange pressed state, Windows 7 dialogs, menus and form fields.

// Usage: load the stylesheet after the Jodit styles and set
// `theme: 'office2010'`. Jodit names its custom properties `--jd-*` in the
// built CSS, so the theme overrides them by those names.
//
// The theme class lands on the editor container and popups
// (`jodit_theme_office2010`), on dialogs (`jodit-dialog_theme_office2010`)
// and on the Jodit PRO finder window (`jodit-file-browser-pro_theme_office2010`).

:is(
		.jodit_theme_office2010,
		.jodit-dialog_theme_office2010,
		.jodit-file-browser-pro_theme_office2010
	) {
	--office-frame: #8ba0bc;
	--office-line: #a7bad7;
	--office-line-light: rgb(255 255 255 / 70%);
	--office-ribbon: linear-gradient(#e7eff9, #d6e3f3 45%, #c9daf0);
	--office-bar: linear-gradient(#e4ecf7, #c7d8ee);
	--office-title: #15428b;
	--office-text: #1e395b;
	--office-hover: linear-gradient(#fffcea, #fff1bd 45%, #ffe38d 50%, #fff4c7);
	--office-hover-border: #dbce99;
	--office-pressed: linear-gradient(#fcd9a2, #fbc77a 45%, #f9ad49 50%, #fcd38c);
	--office-pressed-hover: linear-gradient(#fbcf8f, #fab866 45%, #f79a2e 50%, #fbc274);
	--office-pressed-border: #c2913d;
	--office-input-border: #abc1de;
	--office-input-focus: #e3c26b;

	--jd-color-border: var(--office-line);
	--jd-color-panel: #dbe6f4;
	--jd-color-text: #000;
	--jd-color-text-icons: var(--office-text);
	--jd-color-icon: var(--office-text);
	--jd-color-label: var(--office-title);
	--jd-color-background-selection: #c3d9f5;
	--jd-color-button-background-hover: #ffe8a6;
	--jd-border-radius-default: 3px;
	--jd-font-default: 'Segoe UI', tahoma, arial, sans-serif;
	--jd-font-size-default: 13px;


	// Ribbon: a single gradient instead of the default ruled rows
	.jodit-toolbar__box:not(:empty) {
		border-bottom-color: var(--office-frame);
		background: var(--office-ribbon);

		.jodit-toolbar-editor-collection::after {
			display: none;
		}
	}

	.jodit-toolbar-collection,
	.jodit-toolbar-editor-collection {
		&_mode_horizontal {
			background-image: none;
		}
	}

	// Engraved separators between ribbon groups
	.jodit-ui-separator,
	.jodit-ui-group_separated_true:not(
			:last-child,
			.jodit-ui-group_before-spacer_true
		)::after {
		border-right-color: var(--office-line);
		box-shadow: 1px 0 0 var(--office-line-light);
	}

	.jodit-ui-break {
		border-top-color: var(--office-line);
		box-shadow: 0 1px 0 var(--office-line-light);
	}

	// Buttons: transparent at rest, golden on hover, orange when pressed
	.jodit-toolbar-button,
	.jodit-toolbar-select,
	.jodit-ui-button {
		color: var(--office-text);

		svg,
		.jodit-icon {
			fill: var(--office-text);
		}

		&__text {
			color: var(--office-text);
		}
	}

	.jodit-toolbar-button:hover:not([disabled]),
	.jodit-toolbar-select:hover:not([disabled]) {
		border-color: var(--office-hover-border);
	}

	.jodit-toolbar-button:has(> [aria-pressed='true']:not([disabled])) {
		border-color: var(--office-pressed-border);
	}

	.jodit-toolbar-button__button,
	.jodit-toolbar-button__trigger,
	.jodit-toolbar-select__button,
	.jodit-toolbar-select__trigger,
	.jodit-ui-button:not([class*='_variant_']),
	.jodit-ui-button_variant_initial {
		&:hover:not([disabled]),
		&:focus-visible:not([disabled]) {
			background: var(--office-hover);
		}

		&:active:not([disabled]),
		&[aria-pressed='true']:not([disabled]) {
			background: var(--office-pressed);
		}

		&[aria-pressed='true']:hover:not([disabled]) {
			background: var(--office-pressed-hover);
		}
	}

	.jodit-toolbar-button_with-trigger_true:hover:not([disabled]) {
		.jodit-toolbar-button__trigger {
			border-left: 1px solid var(--office-hover-border);
			opacity: 1;
		}
	}

	// Tabs (image and link popups): the active tab paints its label white in
	// Jodit; keep the label transparent over the theme button background
	.jodit-tabs .jodit-tabs__buttons .jodit-ui-button {
		&:active:not([disabled]),
		&[aria-pressed='true']:not([disabled]) {
			.jodit-ui-button__text {
				background: transparent;
			}
		}
	}

	// Dialog buttons: classic raised Windows 7 push buttons
	.jodit-dialog__footer .jodit-ui-button,
	.jodit-ui-button_variant_default,
	.jodit-ui-button_variant_secondary,
	.jodit-ui-button_variant_primary {
		border: 1px solid #707070;
		border-radius: 3px;
		background: linear-gradient(#f2f2f2, #ebebeb 45%, #dddddd 50%, #cfcfcf);
		color: #000;

		svg {
			fill: #000;
			stroke: #000;
		}

		&:focus-visible:not([disabled]) {
			background: linear-gradient(#f2f2f2, #ebebeb 45%, #dddddd 50%, #cfcfcf);
		}

		&:hover:not([disabled]) {
			border-color: #3c7fb1;
			background: linear-gradient(#eaf6fd, #d9f0fc 45%, #bee6fd 50%, #a7d9f5);
			color: #000;
		}

		&:active:not([disabled]),
		&[aria-pressed='true']:not([disabled]) {
			border-color: #2c628b;
			background: linear-gradient(#e5f4fc, #c4e5f6 45%, #98d1ef 50%, #68b3db);
			color: #000;
		}
	}

	.jodit-ui-button_variant_primary,
	.jodit-dialog__footer .jodit-ui-button:focus:not([disabled]) {
		box-shadow: inset 0 0 0 1px #48d8fb;
		outline: 0;
	}

	// Editing surface
	&.jodit-container {
		border-color: var(--office-frame);
		background-color: #fff;
	}

	&.jodit-container:not(.jodit_inline) .jodit-workplace {
		border-color: #fff;
	}

	.jodit-wysiwyg,
	.jodit-wysiwyg_iframe {
		background-color: #fff;
	}

	// Status bar
	.jodit-status-bar {
		height: 22px;
		background: var(--office-bar);
		color: var(--office-title);
		text-transform: none;

		&:not(:empty) {
			border-top-color: var(--office-frame);
		}

		&,
		.jodit-status-bar__item,
		.jodit-status-bar__item > span,
		.jodit-status-bar__item a,
		a.jodit-status-bar-link {
			&,
			&:hover,
			&:visited {
				color: var(--office-title);
			}
		}

		.jodit-status-bar__item a:hover {
			background: var(--office-hover);
		}
	}

	// Popups and menus: white panel with a light frame and a soft drop shadow
	.jodit-popup,
	&.jodit-popup,
	&.jodit-context-menu {
		border: 1px solid #868686;
		border-radius: 0;
		box-shadow: 2px 2px 3px rgb(0 0 0 / 30%);
	}

	.jodit-popup__content,
	&.jodit-popup .jodit-popup__content,
	&.jodit-context-menu,
	&.jodit-context-menu [class*='__content'] {
		background: #fafafa;
	}

	.jodit-toolbar-collection_mode_vertical,
	.jodit-toolbar-editor-collection_mode_vertical {
		.jodit-toolbar-button__button:hover:not([disabled]) {
			background: var(--office-hover);
		}
	}

	// Form fields
	.jodit-input,
	.jodit-select,
	.jodit-ui-input__wrapper,
	.jodit-form input[type='text'],
	.jodit-form input[type='url'],
	.jodit-form textarea {
		border-color: var(--office-input-border);
		border-radius: 0;
		background-color: #fff;

		&:hover {
			border-color: var(--office-input-focus);
		}

		&:focus {
			border-color: var(--office-input-focus);
			box-shadow: none;
			outline: 0;
		}
	}

	// Dialog window: blue title bar with a framed panel
	&.jodit-dialog {
		.jodit-dialog__panel {
			border: 1px solid var(--office-frame);
			border-radius: 4px;
			background-color: #fff;
			box-shadow: 0 4px 16px rgb(0 0 0 / 35%);
		}

		.jodit-dialog__header {
			min-height: 34px;
			border-bottom-color: var(--office-frame);
			border-radius: 3px 3px 0 0;
			background: var(--office-bar);
		}

		.jodit-dialog__header-title {
			color: var(--office-title);
			font-size: 14px;
			font-weight: normal;
		}

		.jodit-dialog__footer {
			border-top: 1px solid var(--office-line);
			background: #f0f4fa;
		}
	}
}
