
/* Admin icon */
#wp-admin-bar-ty_current_school .ab-icon::before,
#adminmenu .toplevel_page_ty-news .wp-menu-image::before,
#adminmenu .toplevel_page_ty-news-school .wp-menu-image::before {
    content: '';
    background: url("../img/news.png") center center no-repeat;
    background-size: 20px 20px;
    width: 20px;
    height: 20px;
    display: inline-block;
}

/* Show focus */
.focus-arrow {
    opacity: 0;
    transition: opacity 0.4s ease-out;
    transform: translate(-50%, -100%);
    will-change: transform, opacity; /* Sugestão para otimização da animação */
    position: absolute; 
    width: 50px; 
    height: 65px; 
}

.focus-arrow.visible {
    animation: pulse-fade 3.4s ease-in-out forwards;
}

.focus-circle {
    opacity: 0;
    transition: opacity 0.4s ease-out;
    transform: translate(-50%, -50%);
    will-change: transform, opacity; /* Sugestão para otimização da animação */
    position: absolute;
    box-shadow: 0 0 0 9999px rgba(0, 0, 0, 0.6);
    border-radius: 50%;
    pointer-events: none;
}
.focus-circle.focused {
    animation: closing-circle 4s cubic-bezier(.56,.11,.93,.83) forwards;
}

/* Alt checkboxes */
/* .alt-checkbox {
    /* display: inline-block;
    width: auto;
    position: relative;  * /
    padding: 0;
    display: inline-flex;
    align-items: center;
    position: relative;
    cursor: pointer;
}
.alt-checkbox input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    cursor: pointer;
}
.alt-checkbox .alt-inner,
.alt-checkbox .alt-inner::before,
.alt-checkbox .alt-inner::after {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}
.alt-checkbox .alt-inner::before {
    content: '';
    display: none;

}
.alt-checkbox .alt-inner::after {
    content: '✔';
    display: none;

}
.alt-checkbox input:checked + .alt-inner::before,
.alt-checkbox input:checked + .alt-inner::after {
    display: block;
} */
 /* Alt checkboxes AUTO-ADAPTÁVEL */
.alt-checkbox {
    display: inline-flex;
    align-items: center;
    /* gap: 8px; */
    position: relative;
    cursor: pointer;
    width: auto; /* Isso já é o padrão, pode remover */
}

.alt-checkbox input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
}

.alt-checkbox .alt-inner {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.2em;
    min-height: 1.2em;
    border: 1px solid #1e1e1e;
    border-radius: 2px;
    background: white;
    transition: all 0.3s ease;
    font-size: inherit; /* Herda o tamanho do texto pai */
}

.alt-checkbox .alt-inner::after {
    content: '✔';
    font-size: 0.8em; /* Relativo ao tamanho do container */
    color: transparent;
    transition: color 0.3s ease;
    line-height: 1;
}

.alt-checkbox input:checked + .alt-inner {
    border-color: #007cba;
    background-color: #007cba;
}

.alt-checkbox input:checked + .alt-inner::after {
    color: white;
}

@keyframes pulse-fade {
    0% {
        opacity: 0;
        transform: translate(-50%, -100%) scale(0.8);
    }
    10% {
        opacity: 1;
        transform: translate(-50%, -100%) scale(1.1);
    }
    40% {
        opacity: 0.4;
        transform: translate(-50%, -100%) scale(1);
    }
    50% {
        opacity: 1;
        transform: translate(-50%, -100%) scale(1.1);
    }
    70% {
        transform: translate(-50%, -100%) scale(1);
    }
    100% {
        opacity: 0;
        transform: translate(-50%, -100%) scale(0.7);
    }
}

@keyframes closing-circle {
    0% {
        opacity: 0;
        transform: translate(-50%, -50%) scale(4);
    }
    20% {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1);
    }
    80% {
        transform: translate(-50%, -50%) scale(1.1);
    }
    100% {
        opacity: 0;
        transform: translate(-50%, -50%) scale(1.3);
    }
}


/* Registration */

.tyn-registration-form p.message,
.tyn-registration-form p.error-message {
    background: #f1f1f1;
    border: 1px solid #c3c4c7;
    border-left-color: #00a32a;
    border-left-width: 6px;
    box-shadow: 0 1px 1px rgba(0, 0, 0, .04);
    margin: 5px auto 20px;
    padding: 8px 12px;
}
.tyn-registration-form p.error-message {
    border-left-color: #c21d1d;
}

form.tyn-registration-form {
    width: 420px;
    max-width: 90%;
    margin: 0 auto;
}

form.tyn-registration-form > p {
    display: flex;
    flex-direction: row;
    gap: 8px;
}

form.tyn-registration-form > p:last-child {
    justify-content: flex-end;
}

.tyn-registration-form > p .select-input-container {
    display: inline-block;
    flex-grow: 3;
    flex-shrink: 3;
    width: 65%;
}

.tyn-registration-form > p label {
    display: inline-block;
    margin: 3px;
    width: 25%;
    flex-grow: 0;
    flex-shrink: 0;
}

.tyn-registration-form > p label:has([type="checkbox"]) {
    flex-grow: 3;
    flex-shrink: 3;
}


.tyn-registration-form > p input:not([type="checkbox"]):not([type="radio"]):not([type="button"]):not([type="submit"]), 
.tyn-registration-form > p select {
    width: 100%;
    flex-grow: 3;
    flex-shrink: 3;
}

.input-select-text {
    display: none;
}

.input-select-dropdown {
    padding: 3px;
    display: inline-block;
    flex-grow: 3;
    flex-shrink: 3;
    width: 100%;
}

.input-select-dropdown option[value="__addOption"] {
    background-color: #4fadff;
    color: #ffffff;
    font-style: italic;
}

/* Oculta o select e mostra o input quando a classe 'show-input' está presente */
.select-input-container.show-input .input-select-dropdown {
    display: none;
}
.select-input-container.show-input .input-select-text {
    display: inline-block;
}

form.tyn-registration-form input[type="reset"],
form.tyn-registration-form input[type="button"],
form.tyn-registration-form input[type="submit"] {
    display: inline-block;
    text-decoration: none;
    font-size: 13px;
    line-height: 2.15384615;
    min-height: 30px;
    margin: 0;
    padding: 0 10px;
    cursor: pointer;
    border-width: 1px;
    border-style: solid;
    -webkit-appearance: none;
    border-radius: 3px;
    white-space: nowrap;
    box-sizing: border-box;
    text-shadow: none;
    cursor: pointer;
}

form.tyn-registration-form input[type="submit"] {
    background: #2271b1;
    border-color: #2271b1;
    color: #fff;
}

form.tyn-registration-form input[type="reset"]:disabled,
form.tyn-registration-form input[type="button"]:disabled,
form.tyn-registration-form input[type="submit"]:disabled {
    opacity: 0.75;
    cursor: no-drop;
}

form.tyn-registration-form select:invalid,
form.tyn-registration-form input[type="text"]:invalid,
form.tyn-registration-form input[type="email"]:invalid,
form.tyn-registration-form input[type="password"]:invalid {
    border-color: #c21d1d;
}

/* Admin */

.form-table { max-width: 94%; width: 800px; }
.form-table input:not([type="radio"]):not([type="checkbox"]):not([type="button"]):not([type="submit"]), 
.form-table select, 
.form-table textarea { width: 100%; max-width: 100%; }
.form-table textarea { height: 8em; }
.form-table .description { color: #999; font-style: italic; font-size: 14px; margin-top: 2px; }
.form-table th p { font-weight: 400; }

/* School settings */

.themes-list {
    border: 1px solid #cccccc;
    border-radius: 6px;
    padding: 8px;
    background-color: #ffffff;
    text-align: center;
}
.themes-list label {
    position: relative;
    display: inline-block;
    width: 75px;
    height: 75px;
    border-radius: 50%;
    margin: 8px;
}
.themes-list label::after {
    content: 'A';
    color: var(--contrast);
    font-size: 20px;
    font-weight: 600;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.themes-list input {
    opacity: 0;
    position: absolute;
    pointer-events: none;
}
.themes-list label:has(:checked) {
    outline: 2px solid #2266ff;
    outline-offset: 2px;
}


ul.students {
    border: 1px solid #cccccc;
    border-radius: 6px;
    margin: 0.25rem 0 0;
    overflow: auto;
    max-height: 18rem;
    background-color: #ffffff;
    max-height: 20em;
    overflow: auto;
}
ul.students li {
    padding: 4px 0 6px;
    padding: 0.25rem;
    margin: 0;
}
ul.students li:hover {
    background-color: #dedede;
}
ul.students li .student-name {
    line-height: 1.6;
}
.ty-student-actions {
    margin-left: 0.5rem;
    float: right;
}
.ty-student-actions a {
    display: inline-block;
    width: 22px;
    height: 22px;
    text-decoration: none;
    border: 1px solid #ccc;
    border-radius: 4px;
    position: relative;
    vertical-align: middle;
    margin-left: 0.15rem;
    background-color: #f1f1f1;;
    color: #333333;
    font-style: normal !important;
}
.ty-student-actions a::before {
    font-family: 'Dashicons';
    vertical-align: middle;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 16px;
    padding-right: 5px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-40%, -50%);
}

/* Ícone de Edição */
.ty-student-actions a.edit::before {
    content: "\f464"; /* dashicons-edit */
}

/* Ícone de Bloquear */
.ty-student-actions a.block::before {
    content: "\f160"; /* dashicons-lock */
}

/* Ícone de Desbloquear */
.ty-student-actions a.unblock::before {
    content: "\f528"; /* dashicons-unlock */
}

/* Ícone de Remover/Deletar */
.ty-student-actions a.remove::before {
    content: "\f182"; /* dashicons-trash */
}

ul.students li .ty-student-actions a.unblock {
    display: none;
}

ul.students li.blocked .ty-student-actions a.unblock {
    display: inline-block;
}

ul.students li.blocked .ty-student-actions a.block {
    display: none;
}

ul.students li .ty-student-actions a.block:hover {
    color: orange;
}

ul.students li .ty-student-actions a.unblock:hover {
    color: green;
}

ul.students li .ty-student-actions a.remove:hover {
    color: orangered;
}

.students .count-posts {
    color: #999;
    font-size: 12px;
    font-style: italic;
}

.students li.blocked {
    background-color: #ffd6d6;
    font-style: italic;
}

td.add-student .buttons {
    margin-top: 1rem;
    text-align: right;
}


/* missing ALT attribute warning - media library in admin */
.attachments-browser .attachment-preview .no-alt-text::before {
    content: 'No ALT text!';
    color: #dc3232;
    text-shadow: 0px 0px 4px #fff;
    position: absolute;
    top: 5px;
    right: 5px;
    z-index: 99;
    font-weight: 600;
    font-size: 14px;
}

/* Tag box */
.add-tag-wrapper {
    margin: 1.5rem 0 0;
}
.add-tag-wrapper input {
    width: auto;
    min-width: 100px;
}
#tyn-tag-list input[type=checkbox] {
    width: 16px;
    height: 16px;
    border-radius: 2px;
    margin-right: 0.5rem;
}
#tyn-tag-list .alt-checkbox {
    margin-right: 0.5rem;
}
#tyn-tag-list label {
    display: block;
    margin: 0.5rem auto;
    cursor: pointer;
}

/* .ty-checkbox {
    width: 16px;
    height: 16px;
    border-radius: 2px;
    border: 1px solid #2c3e50;
}

.ty-checkbox input[type=checkbox] {
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    margin: 0;
}

.ty-checkbox:has(:checked) {
    background-color: #2c3e50;
}

.ty-checkbox:has(:checked)::before {
    content: "✓";
    position: absolute;
    color: #ffffff;
    font-size: 14px;
    font-weight: bold;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
} */


/* Avatars */

#your-profile .user-profile-picture .description { display: none; }
.avatars-menu {
    width: 500px;
    max-height: 200px;
    overflow: auto;
    padding: 0.5rem;
    border: 1px solid #ccc;
    border-radius: 4px;
    background-color: #ffffff;
}
.avatars-menu .avatar-option {
    width: 79px;
    height: 79px;
    border-radius: 50%;
    border: 1px solid #cccccc;
    display: inline-block;
    margin: 4px;
}
.avatars-menu .avatar-option input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
.avatars-menu .avatar-option img {
    width: 75px;
    height: auto;
    display: inline-block;
    margin: 2px;
}
.avatars-menu .avatar-option:has(input:checked) {
    background-color: #2266ff;
    border-color: #2266ff;
}


.form-table p.buttons {
    margin-top: 1rem;
    text-align: right;
}

.edit-footer-menu .footer-menu {
    border: 1px solid #cccccc;
    border-radius: 6px;
    padding: 1rem;
    background-color: #fafafa;
    /* text-align: center; */
}

.edit-footer-menu .footer-menu:empty::before {
    content: 'No items';
    color: #999999;
}

.edit-footer-menu .footer-menu .hold {
    position: relative;
    margin: 3px 10px;
}

.edit-footer-menu .footer-menu .hold .remove {
    position: absolute;
    top: 0;
    right: 0;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background-color: #c21d1d;
    color: #ffffff;
    font-size: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transform: translate(100%, -30%);
}

.edit-footer-menu .footer-menu .hold .remove .dashicons {
    width: 14px;
    height: 14px;
    font-size: 14px;
}

.row:has(.footer-menu) {
    align-items: center;
}

.form-table td {
    vertical-align: top;
}

p.atention {
    color: rgb(125, 23, 23);
}

.form-table td .url-schema {
    font-size: 1.05rem;
    /* font-weight: 500; */
}


.restricted-input {
    position: relative;
    padding: 0;
}

.restricted-input .restricted-input-inner {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(50, 50, 50, 0.2);
    color: #999;
    font-size: 14px;
    text-align: right;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    color: #cb6540;
    cursor: pointer;
}

.restricted-input input {
    pointer-events: none;
}

.restricted-input.confirmed input {
    pointer-events: all;
}

.restricted-input.confirmed .restricted-input-inner {
    opacity: 0;
    pointer-events: none;
}

.restricted-input .restricted-input-inner::after {
    content: "\270E";
    width: 20px;
    height: 20px;
    margin: auto 8px auto 2px;
    text-align: center;
    font-size: 1.1em;
}

/* Admin students list */
ul.students li[data-login][data-email]::after {
    content: " - login: " attr(data-login) ", e-mail: " attr(data-email);
    opacity: 0;
    position: absolute;
    pointer-events: none;
    color: #999999;
}

ul.students li[data-login][data-email]:hover::after {
    position: static;
    opacity: 1;
    visibility: visible;
}

/* Gutenberg hidden items */
.wp-block-video .components-form-file-upload,
.wp-block-video .components-form-file-upload + .components-button,
.block-editor-block-toolbar .block-editor-block-toolbar__slot button + .components-dropdown-menu,
div.color-block-support-panel,
.components-dropdown [aria-label="Align text"],
.editor-document-tools__left button[aria-label="Document Overview"],
div.typography-block-support-panel,
div[aria-label="Change level"] button:first-child,
div[aria-label="Change level"] button:nth-child(n+4) {
    display: none !important;
}

.block-editor-tabbed-sidebar__tablist-and-close-button,
.block-editor-inserter__panel-content .block-editor-block-types-list__list-item {
    display: none;
}

.block-editor-inserter__panel-content .block-editor-block-types-list__list-item:has(.editor-block-list-item-paragraph,.editor-block-list-item-heading,.editor-block-list-item-list,.editor-block-list-item-details,.editor-block-list-item-image,.editor-block-list-item-file,.editor-block-list-item-video,.editor-block-list-item-buttons,.editor-block-list-item-lightweight-accordion-lightweight-accordion) {
    display: block;
}

.block-editor-inserter__insertable-blocks-at-selection > div:nth-child(n+9),
.block-editor-inserter__block-list .block-editor-inserter__all-blocks {
    display: none;
}