:root {
    --action-button-border: #E7DBFD;
    --action-button-text: #111111;
    --action-button-icon: #341664;
    --action-button-bg-light: #f7f4fd;
    --action-button-bg-light-hover: #341664;
    --action-button-text-hover: #ffffff;
    --action-button-icon-hover: #ffffff;
    --action-button-primary-hover: #4c2a85;
}

/* MENU */
@font-face {
    font-family: 'toret-font';
    src: url('../fonts/toret-font.eot?5kiojs');
    src: url('../fonts/toret-font.eot?5kiojs#iefix') format('embedded-opentype'), url('../fonts/toret-font.ttf?5kiojs') format('truetype'), url('../fonts/toret-font.woff?5kiojs') format('woff'), url('../fonts/toret-font.svg?5kiojs#icomoon') format('svg');
    font-weight: normal;
    font-style: normal;
}

#adminmenu #toplevel_page_toret-plugins .wp-menu-image:before {
    content: '\e900';
    font-family: 'toret-font';
    font-style: normal;
    font-weight: normal;
}

.toplevel_page_toret-plugins .wp-menu-image.dashicons-before img {
    width: 20px;
}

/* COLUMNS */
.torlib-column-action-button {
    /* Self-contained box model: WP core's .button gained a larger min-height/
       display in a later WP release, and this class didn't set its own, so
       these ended up as tall narrow rectangles instead of compact icon
       buttons. Overriding here means this class no longer needs .button as
       a base at all. */
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    min-height: 28px !important;
    height: auto !important;
    width: auto !important;
    text-decoration: none !important;
    cursor: pointer !important;
    line-height: 25px !important;
    background-color: var(--action-button-bg-light) !important;
    border: 1px solid var(--action-button-border) !important;
    color: var(--action-button-text) !important;
    padding: 2px 4px 1px 5px !important;
    border-radius: 3px !important;
}

.torlib-column-action-button span:before {
    color: var(--action-button-icon);
    line-height: 25px !important;
    font-size: 16px;
}

.torlib-column-action-button:hover,
.torlib-column-action-button:hover span:before {
    background: var(--action-button-bg-light-hover) !important;
    color: var(--action-button-text-hover) !important;
}

.torlib-column-action-button .dashicons {
    /* font-size must equal the glyph size set on span:before (16px): the glyph
       then fills the strut's content area, which line-height leading centers
       inside the 25px line box. With WP core's 20px span font the glyph sat
       ~1.5px off center. !important beats .wp-core-ui .button .dashicons. */
    height: auto !important;
    font-size: 16px !important;
    line-height: 25px !important;
    margin: 0 !important;
}

.torlib-column-buttons {
    display: flex;
    gap: 1px;
    flex-wrap: wrap;
}

/* METABOX */
.torlib-metabox .dashicons {
    vertical-align: sub;
    padding-right: 0;
    height: 28px;
    line-height: 28px;
    width: 28px;
    white-space: nowrap;
    color: var(--action-button-icon);
}

/* WP 7.0: jádrové pravidlo .wp-core-ui .button .dashicons (line-height 1.9,
   vertical-align top) má vyšší specificitu než .torlib-metabox .dashicons.
   Ikona v tlačítku: 20px box + 18px glyf centrovaný flexem (stejný recept
   jako referenční woo-fakturoid admin.css). */
.torlib-metabox a.button .dashicons,
.torlib-metabox .button .dashicons {
    width: 20px !important;
    height: 20px !important;
    font-size: 18px !important;
    line-height: 20px !important;
    margin: 0 3px 0 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.torlib-metabox a.button,
.torlib-metabox .button {
    width: 100%;
    margin-left: 0 !important;
    margin-bottom: 3px;
    background: var(--action-button-bg-light);
    color: var(--action-button-text);
    border-radius: 3px !important;
    display: flex;
    line-height: 30px;
    align-items: center;
    border: 1px solid var(--action-button-border);
    padding: 6px 12px !important;
    height: 32px !important;
    /* WP 7.0 core: .wp-core-ui .button má min-height 40px a min-height
       vyhrává nad height — bez tohohle by tlačítko zůstalo 40px vysoké. */
    min-height: 32px !important;
}

.torlib-metabox .button span {
    margin-right: 3px;
}

.torlib-metabox .button:hover,
.torlib-metabox .button.span:hover {
    color: var(--action-button-text-hover) !important;
    background: var(--action-button-bg-light-hover) !important;
}

.torlib-metabox .button:hover .dashicons {
    color: var(--action-button-icon-hover) !important;
}

.torlib-metabox-input-wrap{
    display: flex;
    flex-direction: column;
    margin-top: 10px;
}

.torlib-metabox-input-wrap label{
    font-weight: 600;
}

/* BUTTONS */
.torlib-primary-button, .torlib-secondary-button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    text-decoration: none !important;
    cursor: pointer;
    font-size: 13px;
    line-height: normal;
    padding: 6px 12px !important;
    height: 32px !important;
    border-radius: 3px !important;
    transition: all 0.2s ease-in-out;
    box-sizing: border-box;
    white-space: nowrap;
}

.torlib-primary-button .dashicons, .torlib-secondary-button .dashicons {
    font-size: 18px;
    width: 18px;
    height: 18px;
    margin-right: 6px;
    display: inline-block;
    vertical-align: middle;
    line-height: 1;
}

.torlib-primary-button {
    background-color: var(--action-button-bg-light-hover) !important;
    color: var(--action-button-text-hover) !important;
    border: 1px solid var(--action-button-bg-light-hover) !important;
}

.torlib-primary-button .dashicons {
    color: var(--action-button-icon-hover) !important;
}

.torlib-primary-button:hover, .torlib-primary-button:focus {
    background-color: var(--action-button-primary-hover) !important;
    border-color: var(--action-button-primary-hover) !important;
    color: #ffffff !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
}

.torlib-secondary-button {
    background-color: var(--action-button-bg-light) !important;
    color: var(--action-button-text) !important;
    border: 1px solid var(--action-button-border) !important;
}

.torlib-secondary-button .dashicons {
    color: var(--action-button-icon) !important;
    transition: color 0.2s ease-in-out;
}

.torlib-secondary-button:hover, .torlib-secondary-button:focus {
    background-color: var(--action-button-bg-light-hover) !important;
    color: var(--action-button-text-hover) !important;
    border-color: var(--action-button-bg-light-hover) !important;
}

.torlib-secondary-button:hover .dashicons, .torlib-secondary-button:focus .dashicons {
    color: var(--action-button-icon-hover) !important;
}

/* POPUP */
.torlib-popup-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.7);
    justify-content: center;
    align-items: center;
    z-index: 999999;
}

.torlib-popup-overlay[style*="display: block"],
.torlib-popup-overlay[style*="display: flex"] {
    display: flex !important;
}

.torlib-popup {
    background-color: #fff !important;
    color: #333 !important;
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.5);
    position: relative;
    display: flex;
    flex-direction: column;
    width: 600px;
    max-width: 90%;
    box-sizing: border-box;
    z-index: 1000000;
}

.torlib-popup-close {
    position: absolute;
    top: 10px;
    right: 15px;
    cursor: pointer;
    font-size: 24px;
}

.torlib-popup-title {
    margin-top: 0;
}

.torlib-popup-buttons {
    margin-top: 20px;
    text-align: right;
    display: flex;
    column-gap: 5px;
    justify-content: flex-end;
}

.torlib-popup-btn {
    padding: 8px 16px;
    margin-left: 10px;
    cursor: pointer;
}

.torlib-popup {
    display: flex;
    flex-direction: column;
    width: 600px;
    max-width: 90%;
}

.torlib-popup.popup-large {
    width: 90%;
    max-width: 95%;
    height: 80vh;
}

.torlib-popup.popup-small {
    width: 400px;
}

.torlib-popup.popup-fullscreen {
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: none;
    border-radius: 0;
}

.torlib-popup-content {
    flex: 1 1 auto;
    overflow: auto;
    overflow-x: hidden;
}

.torlib-popup-buttons {
    flex: 0 0 auto;
}

.torlib-popup-input-wrap {
    display: flex;
    flex-direction: column;
    margin-top: 10px;
}

.torlib-popup-input-wrap.checkbox-option {
    display: flex;
    flex-direction: row;
    align-content: center;
    align-items: flex-end;
}

.torlib-popup-input-wrap input[type=checkbox] {
    margin-left: 5px;
}

.torlib-popup-auto-open{
    display: flex;
}


.torlib-popup-field-group {
    margin-bottom: 15px;
    width: 100%;
    box-sizing: border-box;
    position: relative;
}

.torlib-popup-field-group label {
    display: block;
    margin-bottom: 6px;
    font-weight: 600;
    font-size: 13px;
    color: #1d2327;
    line-height: 1.4;
}

.torlib-popup-field-group input[type="text"],
.torlib-popup-field-group input[type="number"],
.torlib-popup-field-group input[type="date"],
.torlib-popup-field-group select {
    width: 99%;
    max-width: 400px;
    height: 36px;
    padding: 0 12px;
    box-sizing: border-box;
    border: 1px solid #8c8f94;
    border-radius: 4px;
    background-color: #fff;
    font-size: 14px;
    color: #2c3338;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.torlib-popup-field-group input:focus,
.torlib-popup-field-group select:focus {
    border-color: var(--action-button-primary-hover);
    box-shadow: 0 0 0 1px var(--action-button-primary-hover);
    outline: none;
}

.torlib-popup-field-group input::placeholder {
    color: #a0a5aa;
}

.torlib-popup-grid {
    display: flex;
    gap: 15px;
    margin-bottom: 15px;
}

.torlib-popup-grid .torlib-popup-field-group {
    margin-bottom: 0;
    flex: 1;
}

.tf-no-loader .button-spinner,
.tf-no-loader + .button-spinner,
.tf-no-loader::after,
.tf-no-loader::before {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
}