/* DLE 13.3 -> 20.0 functional widgets only. The old playfilm layout remains in styles.css. */
.ui-front { z-index: 1000; }
.ui-button-icon-only { overflow: hidden; text-indent: -9999px; }
.emoji_box { width: 100%; max-width: 390px; }
.emoji_category { padding: 7px; clear: both; }
.emoji_list { margin-top: 5px; width: 100%; font-size: 2em; }
.emoji_symbol { float: left; margin-bottom: 10px; width: 12.5%; text-align: center; }
.emoji_symbol a { cursor: pointer; text-decoration: none; }
.native-emoji { font-size: 1.3em; font-family: 'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif; }

figure { margin: 0; }
figure.align-left { float: left; }
figure.align-right { float: right; }
figure.image.align-center { display: table; margin-left: auto; margin-right: auto; }
figure.image figcaption { padding: 1rem; background: #fafafa; font-size: .8rem; caption-side: bottom; word-break: break-word; text-align: center; }
figure.image.align-center figcaption { display: table-caption; }

.comments-image-gallery { margin: 0; padding: 0; list-style: none; clear: both; }
.comments-image-gallery li { margin: 0; padding: 0; list-style: none; }
.comments-image-gallery li img { float: left; margin-right: 5px; border: 5px solid #fff; width: 100px; height: 100px; }
.comments-image-gallery li img:hover { box-shadow: 0 0 7px rgba(0,0,0,.4); }
.mce-toc { border: 1px solid #dbdada; margin: 0 0 .7rem; }
.mce-toc h2 { margin: 4px; }
.mce-toc ul { padding-left: 20px; margin-bottom: 0; }
.mce-toc li { list-style-type: none; }

.image-bordered { border: 1px solid #ddd; }
.image-shadows { box-shadow: 0 4px 8px -2px rgba(9,30,66,.25), 0 0 0 1px rgba(9,30,66,.08); }
.image-padded { padding: .5rem; }
.comments-user-profile { font-weight: bold; cursor: pointer; color: #3394e6; }
.title_spoiler svg { vertical-align: middle; margin: -4px 7px 0 0; width: 16px; height: 16px; }
.mce-accordion summary { cursor: pointer; }
.self_delete_link { display: inline-block; cursor: pointer; padding: 12px 27px; border: 0; border-radius: 10px; background: #f44336; color: #fff; text-decoration: none; }

.DLEPush { z-index: 2001; position: fixed; right: 20px; top: 20px; }
.DLEPush-notification.wrapper { position: relative; display: grid; grid-template-columns: auto 1fr; max-width: 400px; margin-bottom: 10px; background: #fff; color: #333; border-radius: 10px; box-shadow: 0 10px 15px rgba(0,0,0,.2); }
.DLEPush-notification .DLEPush-icon { grid-column: 1; grid-row: 1 / span 2; display: flex; align-items: center; justify-content: center; width: 45px; color: #fff; }
.DLEPush-notification .DLEPush-header { grid-column: 2; margin: .5rem 1rem 0; font-weight: 500; }
.DLEPush-notification .DLEPush-message { grid-column: 2; margin: 1rem; }
.DLEPush-notification .DLEPush-close { position: absolute; top: 8px; right: 10px; border: 0; background: none; cursor: pointer; }
.DLEPush-notification.wrapper.push-success { background: #e0f2f1; }
.DLEPush-notification.wrapper.push-warning { background: #fff3e0; }
.DLEPush-notification.wrapper.push-error { background: #fbe9e7; }
.DLEPush-notification.wrapper.push-success .DLEPush-icon { background: #00897b; }
.DLEPush-notification.wrapper.push-warning .DLEPush-icon { background: #ff9800; }
.DLEPush-notification.wrapper.push-error .DLEPush-icon { background: #ff5722; }
.comments_author_field { width: 100%; margin-bottom: 10px; }

.ui-dialog-buttonset .ui-button-delete { background: #f44336; color: #fff; }
.form-check-label { cursor: pointer; }
.form-check-input { width: 1.12rem; height: 1.12rem; margin-right: .625rem; vertical-align: middle; }
.form-xfield .xfield, .user_fields .xfield { display: block; }
.form-xfield, .user_fields { max-width: 100%; }

/* The native speedbar stays a breadcrumb; playfilm.js renders its city value separately. */
.city-heading { white-space: normal; font-size: 24px; font-weight: 400; line-height: 1.3; color: #fff; margin: 0 0 20px; }

.form-wrap .form-secur, .ac-protect .form-secur { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; float: none; }
.form-wrap .form-secur input, .ac-protect .form-secur input { flex: 0 1 300px; min-width: 0; margin: 0; }
.form-wrap .form-secur img, .form-wrap .form-secur > a, .ac-protect .form-secur img, .ac-protect .form-secur > a { display: block; max-width: 100%; height: auto; margin: 0; }
.form-wrap .form-secur > a:focus-visible, .ac-protect .form-secur > a:focus-visible, .comments-image-uploader-area > a:focus-visible, .feedback-file-attach-control:focus-within { outline: 2px solid #ffdd02; outline-offset: 2px; }

.comments-image-uploader-area { margin: 8px 0 18px; }
.comments-image-uploader-area > a, .feedback-file-attach-control { display: inline-flex; align-items: center; box-sizing: border-box; min-height: 44px; padding: 8px 14px; border: 1px solid #4170b4; border-radius: 4px; color: #fff; background: #1d3157; cursor: pointer; text-decoration: none; line-height: 1.35; }
.comments-image-uploader-area > a:hover, .feedback-file-attach-control:hover { color: #ffdd02; background: #28446f; text-decoration: none; }
.feedback-file-attach .feedback-file-attach-title { position: absolute; top: 0; left: 0; width: 200px; padding-top: 12px; box-sizing: border-box; }
.feedback-file-attach-field { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 12px; min-width: 0; }
.feedback-file-attach-control { position: relative; overflow: hidden; margin: 0; font-weight: 600; }
.feedback-file-attach-control input[type="file"] { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.feedback-file-attach-status { color: #aeb8d0; overflow-wrap: anywhere; }

/* DLE20 TinyMCE: frame content is themed separately in the native editor.css hook. */
.wseditor .tox-tinymce { border: 1px solid #596891; border-radius: 4px; background: #262842; }
.wseditor .tox-tinymce.tox-edit-focus, .wseditor .tox-tinymce:focus-within { border-color: #78a8ff; box-shadow: 0 0 0 2px rgba(120,168,255,.25); }
.wseditor .tox-edit-area, .wseditor .tox-edit-area__iframe { background: #262842; }
.wseditor .tox .tox-editor-header, .wseditor .tox .tox-toolbar-overlord, .wseditor .tox .tox-toolbar, .wseditor .tox .tox-statusbar { background: #343b56; color: #eef1fb; border-color: #596891; }
.wseditor .tox .tox-tbtn { color: #eef1fb; }
.wseditor .tox .tox-tbtn svg { fill: #eef1fb; }
.wseditor .tox .tox-tbtn:hover, .wseditor .tox .tox-tbtn--enabled { background: #4a5779; }
.wseditor .tox .tox-statusbar__path-item, .wseditor .tox .tox-statusbar__wordcount { color: #c7cede; }
.mass_comments_action { color: #e7eaf4; background: #1d2033; border: 1px solid #343c5d; border-radius: 4px; }
.mass_comments_action select { max-width: 100%; color: #fff; background: #262842; border: 1px solid #596891; }
.mass_comments_action select option { color: #fff; background: #262842; }
.mass_comments_action button, .mass_comments_action input[type="submit"] { margin: 4px 0 4px 8px; }
.mass_comments_action :focus-visible { outline: 2px solid #ffdd02; outline-offset: 2px; }

.ui-dialog { max-width: calc(100vw - 20px); color: #e7eaf4; background: #202338; border: 1px solid #414966; border-radius: 5px; }
.ui-dialog .ui-dialog-titlebar { color: #fff; background: #282d48; border-bottom: 1px solid #414966; }
.ui-dialog .ui-dialog-buttonpane { background: #282d48; border-top: 1px solid #414966; }
.ui-dialog .ui-dialog-titlebar-close { position: absolute; top: 8px; right: 8px; width: 36px; height: 36px; padding: 0; overflow: hidden; text-indent: -9999px; background: transparent; cursor: pointer; }
.ui-dialog .ui-dialog-titlebar-close .ui-icon { position: absolute; top: 0; right: 0; width: 36px; height: 36px; text-indent: 0; }
.ui-dialog .ui-dialog-titlebar-close .ui-icon:before { width: 36px; height: 36px; line-height: 36px; color: #fff; }
.ui-dialog .ui-dialog-titlebar-close:focus-visible { outline: 2px solid #ffdd02; outline-offset: -2px; }
.ui-dialog .ui-dialog-buttonpane button { min-height: 36px; height: auto; line-height: 1.3; margin: 4px; padding: 7px 15px; }
.berrors button:disabled { opacity: .6; cursor: not-allowed; }
.payment-unavailable { color: #c5cbda; text-decoration: underline dotted; cursor: not-allowed; }

@media screen and (min-width: 761px) {
  .form-wrap .form-secur input { flex-basis: 250px; }
}

/* Source thumbnails have varying ratios: fill the existing playfilm frames without distorting faces. */
.th-img.img-resp-vert img, .tc-img.img-box img { width: 100%; height: 100%; min-height: 0; object-fit: cover; object-position: center top; }

/* DLE20 addnews generates two floated 30/70 xfield columns and uploader/editor controls.
   At small widths the float children and their input/toolbar min-widths must shrink within .main. */
@media screen and (max-width: 600px) {
  .feedback-file-attach .feedback-file-attach-title { position: static; display: block; width: auto; padding: 0 0 8px; }
  .form-wrap, .form-xfield, .form-xfield .xfieldsrow,
  .form-xfield .xfieldscolleft, .form-xfield .xfieldscolright { width: 100%; min-width: 0; max-width: 100%; box-sizing: border-box; }
  .form-xfield .xfieldscolleft, .form-xfield .xfieldscolright { float: none; }
  .form-xfield .xfieldscolleft { margin-bottom: 8px; }
  .form-xfield input:not([type="hidden"]), .form-xfield select, .form-xfield textarea,
  .form-item input, .form-xfield .qq-uploader, .form-xfield .wseditor,
  .form-xfield .bb-editor { max-width: 100%; box-sizing: border-box; }
  .form-xfield .qq-upload-button { max-width: 100%; box-sizing: border-box; white-space: normal; }
  .form-wrap .tox, .form-wrap .tox-tinymce, .form-wrap .wseditor, .form-wrap .bb-editor { max-width: 100%; min-width: 0; box-sizing: border-box; }
  .form-wrap .tox .tox-editor-header, .form-wrap .tox .tox-toolbar-overlord { max-width: 100%; }
}

@media screen and (max-width: 590px) {
  .mass_comments_action { text-align: left; }
  .mass_comments_action select, .mass_comments_action button, .mass_comments_action input[type="submit"] { margin: 6px 6px 6px 0; }
  .ui-dialog .ui-dialog-content { padding: 18px; }
  .ui-dialog .ui-dialog-buttonpane { padding: 8px; }
}

.pm-page .pm_list.pm_subj, .pm-page .pm_list.pm_icon, .pm-page .pm_list.pm_last_user { cursor: pointer; }
.pm-page .pm_list.pm_icon svg { width: 1.4rem; height: 1.4rem; vertical-align: middle; }
.pm-page .pm_last_message, .pm-page .pm_last_date, .pm-page .pm_with_user { color: #64748b; font-size: .8rem; }
.pm-page .pm_navigation { margin-top: 1rem; }
.pm-page .pm_navigation .navigation { display: inline-block; padding: .4rem; background: #f5f5f5; }
.pm-page .pm_navigation .navigation a, .pm-page .pm_navigation .navigation span { padding: .5rem; }
.pm-page .pm_navigation .navigation span { background: #4581d0; color: #fff; }
.pm-page .pm-dialog { display: block; }

.quote_link { float: right; }
.quote_link svg, .clipboard-copy-link svg { color: #6c838e; vertical-align: middle; }
.smart-captcha { display: inline-block; }
.mathml-container { font-family: math; }
div.mathml-block { display: flex; align-items: center; justify-content: center; padding: .139em .35em; font-size: 1.1em; }
span.mathml-inline { display: inline-block; vertical-align: middle; margin: 0 .12em; }
.dleshowhidden { padding: .83em; color: #104d92; background: #e3f2fd; border: 1px solid #1e88e5; }
.text_spoiler { display: none; }
.monthselect-inner { display: flex; align-items: center; justify-content: center; gap: 3em; }
.monthselect-title { display: inline-block; }
.dlepopupnewsedit .wseditor { border-top: none; }
.dlepopupnewsedit .tox .tox-toolbar-overlord { background: #f7f7f7; }
